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の初期化が行わた後、ライブラリの初期化前で呼び出される。ここでは以下の手続きを記述する。

戻り値

なし

サンプル

void cbAppColdStart(bool_t bAfterAhiInit)
{
	if (!bAfterAhiInit) {
		// before AHI init, very first of code.

		// Register modules
		ToCoNet_REG_MOD_ALL();

	} else {
		// disable brown out detect
		vAHI_BrownOutConfigure(0,//0:2.0V 1:2.3V
				FALSE,
				FALSE,
				FALSE,
				FALSE);

		// clear application context
		memset (&sAppData, 0x00, sizeof(sAppData));
		sAppData.u8channel = CHANNEL;

		// ToCoNet configuration
		sToCoNet_AppContext.u32AppId = APP_ID;
		sToCoNet_AppContext.u8Channel = CHANNEL;

		sToCoNet_AppContext.bRxOnIdle = TRUE;

		// others
		SPRINTF_vInit128();

		// Register
		ToCoNet_Event_Register_State_Machine(vProcessEvCore);

		// Others
		vInitHardware(FALSE);

		// MAC start
		ToCoNet_vMacStart();
	}
}

最終更新