362,9 → 362,15 |
MKProtocol_DecodeSerialFrameHeader(&UART1_rx_buffer, &SerialMsg); |
if( (SerialMsg.Address == FC_ADDRESS) && (SerialMsg.CmdID == 'y') ) |
{ |
Buffer_Copy(&UART1_rx_buffer, &UART2_tx_buffer); |
Buffer_Clear(&UART1_rx_buffer); // free rc buffer for next frame |
return; |
switch(SerialMsg.CmdID) |
{ |
case 'y': // serial poti values |
case 'b': // extern control |
Buffer_Copy(&UART1_rx_buffer, &UART2_tx_buffer); //forward to FC |
Buffer_Clear(&UART1_rx_buffer); // free rc buffer for next frame |
return; |
break; |
} |
} |
|
MKProtocol_DecodeSerialFrameData(&UART1_rx_buffer, &SerialMsg); // decode serial frame in rxd buffer |
486,12 → 492,12 |
UART1_Request_DebugLabel = SerialMsg.pData[0]; |
if(UART1_Request_DebugLabel > 31) UART1_Request_DebugLabel = 31; |
break; |
|
|
case 'b': // submit extern control |
memcpy(&ExternControl, SerialMsg.pData, sizeof(ExternControl)); |
UART1_ConfirmFrame = ExternControl.Frame; |
break; |
|
|
case 'd': // request for debug data; |
UART1_DebugData_Interval = (u32) SerialMsg.pData[0] * 10; |
if(UART1_DebugData_Interval > 0) UART1_Request_DebugData = TRUE; |
501,11 → 507,11 |
UART1_Data3D_Interval = (u32) SerialMsg.pData[0] * 10; |
if(UART1_Data3D_Interval > 0) UART1_Request_Data3D = TRUE; |
break; |
|
|
case 'g':// request for external control data |
UART1_Request_ExternalControl = TRUE; |
break; |
|
|
case 'h':// reqest for display line |
RemoteKeys |= SerialMsg.pData[0]; |
if(RemoteKeys != 0) UART1_DisplayLine = 0; |
654,16 → 660,20 |
UART1_Data3D_Timer = SetDelay(UART1_Data3D_Interval); |
UART1_Request_Data3D = FALSE; |
} |
|
else if(UART1_ConfirmFrame && (UART1_tx_buffer.Locked == FALSE)) |
{ |
MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'B', NC_ADDRESS, 1, &UART1_ConfirmFrame, sizeof(UART1_ConfirmFrame)); |
UART1_ConfirmFrame = 0; |
} |
|
|
else if(UART1_Request_ExternalControl && (UART1_tx_buffer.Locked == FALSE)) |
{ |
MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'G', NC_ADDRESS, 1, (u8 *)&ExternControl, sizeof(ExternControl)); |
UART1_Request_ExternalControl = FALSE; |
} |
|
else if(UART1_Request_Display && (UART1_tx_buffer.Locked == FALSE)) |
{ |
LCD_PrintMenu(); |
696,6 → 706,7 |
FollowMe.ToleranceRadius = 1; |
FollowMe.HoldTime = 60; |
FollowMe.Event_Flag = 0; |
FollowMe.Index = 1; |
FollowMe.reserve[0] = 0; // reserve |
FollowMe.reserve[1] = 0; // reserve |
FollowMe.reserve[2] = 0; // reserve |