|
|
|
@ -18,8 +18,7 @@ |
|
|
|
******************************************************************************/ |
|
|
|
#include "BHBF.h" |
|
|
|
#include "common.h" |
|
|
|
|
|
|
|
#include "task.h" |
|
|
|
#include "msg_center.h" |
|
|
|
|
|
|
|
/*----------------------------------------------*
|
|
|
|
* 外部变量说明 * |
|
|
|
@ -36,7 +35,7 @@ |
|
|
|
/*----------------------------------------------*
|
|
|
|
* 全局变量 * |
|
|
|
*----------------------------------------------*/ |
|
|
|
GV_define GV = {0}; |
|
|
|
static uint32_t g_uiRBcoreModuleID = 0; |
|
|
|
|
|
|
|
/*----------------------------------------------*
|
|
|
|
* 模块级变量 * |
|
|
|
@ -49,40 +48,59 @@ GV_define GV = {0}; |
|
|
|
/*----------------------------------------------*
|
|
|
|
* 宏定义 * |
|
|
|
*----------------------------------------------*/ |
|
|
|
GV_define *GetGV(void) |
|
|
|
static void RBcore_ModuleHandler(const Msg_t *pstMsg) |
|
|
|
{ |
|
|
|
static GV_define tmpGV = {0}; |
|
|
|
RD_MEMSET(&tmpGV, 0, sizeof(tmpGV)); |
|
|
|
RD_MEMCPY(&tmpGV, &GV, sizeof(GV_define)); |
|
|
|
return &tmpGV; |
|
|
|
} |
|
|
|
if (NULL == pstMsg) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
void SetGV(GV_define *_pGV) |
|
|
|
{ |
|
|
|
RD_MEMCPY(&GV, _pGV, sizeof(GV_define)); |
|
|
|
} |
|
|
|
switch (pstMsg->m_uiMsgID) |
|
|
|
{ |
|
|
|
case MOTOR_CMD_SET_SPEED: |
|
|
|
{ |
|
|
|
|
|
|
|
void GF_FsmStart(GF_CMD GFCmd) |
|
|
|
{ |
|
|
|
break; |
|
|
|
} |
|
|
|
case MOTOR_CMD_STOP: |
|
|
|
{ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
case MOTOR_CMD_SET_HOME: |
|
|
|
{ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
case MOTOR_CMD_GET_STATUS: |
|
|
|
{ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void GF_Dispatch(void *argument) |
|
|
|
|
|
|
|
void RBcore_Task(void *argument) |
|
|
|
{ |
|
|
|
while(1) |
|
|
|
{ |
|
|
|
//GF_CMD GFCmd = MK32_Task(GV.m_iWorkMode);
|
|
|
|
GF_FsmStart(0); |
|
|
|
// 处理消息
|
|
|
|
MsgCenter_ProcessWait(g_uiRBcoreModuleID, 2); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void GF_Init(void) |
|
|
|
void RBcore_Init(void) |
|
|
|
{ |
|
|
|
// const osThreadAttr_t GF_Dispatch_attributes = {
|
|
|
|
// .name = "GF_Task",
|
|
|
|
// .stack_size = 1024,
|
|
|
|
// .priority = (osPriority_t) osPriorityRealtime1,
|
|
|
|
// };
|
|
|
|
// (void)osThreadNew(GF_Dispatch, NULL, &GF_Dispatch_attributes);
|
|
|
|
g_uiRBcoreModuleID = MsgCenter_Register(MODULE_NAME_RBCORE, RBcore_ModuleHandler); |
|
|
|
|
|
|
|
const osThreadAttr_t GF_Dispatch_attributes = { |
|
|
|
.name = MODULE_NAME_RBCORE, |
|
|
|
.stack_size = 1024, |
|
|
|
.priority = (osPriority_t) osPriorityRealtime1, |
|
|
|
}; |
|
|
|
(void)osThreadNew(RBcore_Task, NULL, &GF_Dispatch_attributes); |
|
|
|
} |
|
|
|
|
|
|
|
|