cbAppColdStart()

Explanation

cbAppColdStart(bool_t bStart) is called first on bStart == FALSE and then on bStart == TRUE. The bStart == TRUE clause is used to initialize the application.

This is where the important initialisation of the TWELITE NET (the sToCoNet_AppContext structure) needs to be done. Some features can only be configured here.

User-defined event processing functions are registered with the ToCoNet_Event_Register_State_Machine() function.

At the end of this process, the ToCoNet_vMacStart() function is called.

The start of the MAC layer is explicitly stated as a procedure in the API.

Arguments

Type Name Remark
bool_t bStart It is called twice at startup, the first time as FALSE and the second time as TRUE.

bStart

FALSE: It is just after the start of microcomputer, and initialization of peripherals etc. has not been done. Call the ToCoNet_REG_MOD_ALL() macro of module registration here.

TRUE: TWELITE NET Called after the library and hardware APIs have been initialized, but before the library is initialized. The following procedure is described here.

Returns

None

Sample code

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();
    }
}