|
|
|
@ -328,6 +328,7 @@ static void Robot_Move_Right(void) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#ifdef IS_TABLE |
|
|
|
const ActionFunc g_ActionTable[KEY_MAX][MODE_MAX][SUB_MODE_MAX] = { |
|
|
|
[E_STOP] = { |
|
|
|
[MODE_DEFAULT] = { |
|
|
|
@ -457,6 +458,68 @@ const ActionFunc g_ActionTable[KEY_MAX][MODE_MAX][SUB_MODE_MAX] = { |
|
|
|
}, |
|
|
|
} |
|
|
|
}; |
|
|
|
#else |
|
|
|
|
|
|
|
const TKeyForest g_ActionTable = { |
|
|
|
.E_Stop = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, E_Robot_Stop} |
|
|
|
}, |
|
|
|
.SA_Up = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, NULL}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Vertical_Lane_Change_From_Right_To_Left_UP_Control}, |
|
|
|
{MODE_VERTICAL_RIGHT, SUB_MODE_NULL, Vertical_Lane_Change_From_Left_To_Right_UP_Control} |
|
|
|
}, |
|
|
|
.SA_Down = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, NULL}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Vertical_Lane_Change_From_Right_To_Left_Down_Control}, |
|
|
|
{MODE_VERTICAL_RIGHT, SUB_MODE_NULL, Vertical_Lane_Change_From_Left_To_Right_Down_Control} |
|
|
|
}, |
|
|
|
.SA_Default = { |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Lane_Change_State_Reset} |
|
|
|
}, |
|
|
|
.SB_Up = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Move_Forward}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Robot_Move_Forward_PID} |
|
|
|
}, |
|
|
|
.SB_Down = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Move_Backward}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Robot_Move_Backward_PID} |
|
|
|
}, |
|
|
|
.SC_Up = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Paint_ON}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, NULL}, |
|
|
|
{MODE_VERTICAL_RIGHT, SUB_MODE_NULL, NULL} |
|
|
|
}, |
|
|
|
.SC_Down = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Paint_OFF}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, NULL}, |
|
|
|
{MODE_VERTICAL_RIGHT, SUB_MODE_NULL, NULL} |
|
|
|
}, |
|
|
|
.SC_Default = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Paint_OFF}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, NULL}, |
|
|
|
{MODE_VERTICAL_RIGHT, SUB_MODE_NULL, NULL} |
|
|
|
}, |
|
|
|
.Joy_Default = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Stop}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Robot_Stop_After} |
|
|
|
}, |
|
|
|
.Joy_Left_Up = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Move_Forward}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Robot_Move_Forward_PID} |
|
|
|
}, |
|
|
|
.Joy_Left_Down = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Move_Backward}, |
|
|
|
{MODE_VERTICAL_LEFT, SUB_MODE_NULL, Robot_Move_Backward_PID} |
|
|
|
}, |
|
|
|
.Joy_Left_Left = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Move_Left} |
|
|
|
}, |
|
|
|
.Joy_Left_Right = { |
|
|
|
{MODE_DEFAULT, SUB_MODE_NULL, Robot_Move_Right} |
|
|
|
} |
|
|
|
}; |
|
|
|
#endif |
|
|
|
|
|
|
|
#define IV_SEND_TIME 50 // IV上报周期(单位毫秒)
|
|
|
|
|
|
|
|
|