cbAppColdStart()

解説

cbAppColdStart(bool_t bStart) は、bStart == FALSE で最初に呼び出され、その後 bStart == TRUE で呼び出されます。bStart == TRUE の節でアプリケーションの初期化処理を行います。
ここで TWELITE NET の重要な初期化 (sToCoNet_AppContext 構造体) を行う必要が有ります。一部の機能はここでしか設定できません。
ToCoNet_Event_Register_State_Machine() 関数にて、ユーザ定義イベント処理関数を登録しています。
この処理の最後で ToCoNet_vMacStart() 関数を呼び出します。
API の手続きとして MAC 層の開始を明示しています。

引数

名前
詳細
bool_t
bStart
起動時に2回呼び出され、最初がFALSE、2回目がTRUEとなる。

bStart

FALSE:マイコンの起動直後で、ペリフェラル等の初期化も行われていない。ここでモジュール登録の ToCoNet_REG_MOD_ALL()マクロを呼び出す。
TRUE:TWELITE NET ライブラリやハードウェアAPIの初期化が行わた後、ライブラリの初期化前で呼び出される。ここでは以下の手続きを記述する。

戻り値

なし

サンプル

1
void cbAppColdStart(bool_t bAfterAhiInit)
2
{
3
if (!bAfterAhiInit) {
4
// before AHI init, very first of code.
5
6
// Register modules
7
ToCoNet_REG_MOD_ALL();
8
9
} else {
10
// disable brown out detect
11
vAHI_BrownOutConfigure(0,//0:2.0V 1:2.3V
12
FALSE,
13
FALSE,
14
FALSE,
15
FALSE);
16
17
// clear application context
18
memset (&sAppData, 0x00, sizeof(sAppData));
19
sAppData.u8channel = CHANNEL;
20
21
// ToCoNet configuration
22
sToCoNet_AppContext.u32AppId = APP_ID;
23
sToCoNet_AppContext.u8Channel = CHANNEL;
24
25
sToCoNet_AppContext.bRxOnIdle = TRUE;
26
27
// others
28
SPRINTF_vInit128();
29
30
// Register
31
ToCoNet_Event_Register_State_Machine(vProcessEvCore);
32
33
// Others
34
vInitHardware(FALSE);
35
36
// MAC start
37
ToCoNet_vMacStart();
38
}
39
}
Copied!
リンクのコピー