PANIC

PANIC は、 TWELITE NET がシステム動作の継続を不可能と考えた場合に発生し、ネットワークイベントして通知されます。

PANIC構造体定義

typedef struct {
bool_t bCancelReset; //!< TRUE を格納するとリセットをキャンセルする
uint8 u8ReasonCode; //!< 要因コード
uint32 u32ReasonInfo; //!< 要因の補助情報
string strReason; //!< 要因の文字列情報
} tsPanicEventInfo;

PANIC 処理の参考コード

void cbToCoNet_vNwkEvent(teEvent eEvent, uint32 u32arg) {
switch(eEvent) {
case E_EVENT_TOCONET_PANIC:
if (u32arg) {
tsPanicEventInfo *pInfo = (void*)u32arg;
V_PRINTF( “PANIC! %d/%s“, pInfo-> u8ReasonCode, pInfo->strReason);
pInfo->bCancelReset = TRUE;
// TRUE を設定すると、直後にリセットしない。
// ただしその後の動作は未定義である。
} break;
...

PANIC 要因のID

TOCONET_PANIC_TX_FAIL_COUNT

MAC層内で送信処理の失敗が継続した。通常想定しないエラーです。