/* 处理成功*/
pTable[i].cmd_fun( cmd_id, p_cmd_data, data_len );
bRet = RET_NMCMD_SUCCESS;
break;
}
}
XINO_TRACE_LOW("[xjp] locknm_handlercmd leave");
return bRet;
}
开机初始化时 调用lock_init_proc 加载锁机锁卡命令处理函数locknm_handlercmd 到链表中。
C_VOID lock_init_proc( C_VOID )
{
/* 加载命令处理*/
xnnm_LoadProc(locknm_handlercmd); /* 加载开机处理器*/
}
命令接收处调用 xnnm_ExecProc( C_UINT16 cmd_id, const C_CHAR * p_cmd_data, C_UINT8 data_len ) 进行处理。
如果有新增一个模块
需要完成的工作就是
1.新增 命令与函数对应关系表 本例为 static const NMCMD_FUNCTION m_acstcmd[] =
2.新增 根据命令查找处理函数 本例为 NMCMD_RETURN locknm_handlercmd(C_UINT16 cmd_id, const char * p_cmd_data, C_UINT8 data_len)
3. 新增相应命令处理函数, 本例为 static NMCMD_RETURN nmcmd_lock_pin(C_UINT16 cmd_id, const C_CHAR * p_cmd_data, C_UINT8 data_len)
4. 在终端初始化部分加载根据命令查找对应处理函数 本例为C_VOID lock_init_proc( C_VOID )