Rev 675 | Rev 694 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 675 | Rev 689 | ||
---|---|---|---|
Line 124... | Line 124... | ||
124 | u8 UART1_DisplayKeys = 0; |
124 | u8 UART1_DisplayKeys = 0; |
125 | u8 UART1_DisplayLine = 0; |
125 | u8 UART1_DisplayLine = 0; |
126 | u8 UART1_ConfirmFrame = 0; |
126 | u8 UART1_ConfirmFrame = 0; |
127 | u8 UART1_Request_FTP = FALSE; |
127 | u8 UART1_Request_FTP = FALSE; |
128 | u8 UART1_Request_LicenseString = FALSE; |
128 | u8 UART1_Request_LicenseString = FALSE; |
- | 129 | u8 UART1_Request_PPM_Channels = FALSE; |
|
129 | u8 LastTransmittedFCStatusFlags2 = 0; |
130 | u8 LastTransmittedFCStatusFlags2 = 0; |
130 | u8 UART1_ExternalControlConfirmFrame = FALSE; |
131 | u8 UART1_ExternalControlConfirmFrame = FALSE; |
131 | u8 Send_NMEA_RMC = FALSE; |
132 | u8 Send_NMEA_RMC = FALSE; |
132 | u8 NaviData_Flags_SpeakHoTT_Processed = 0; |
133 | u8 NaviData_Flags_SpeakHoTT_Processed = 0; |
- | 134 | u8 NewExternalControlFrame = 0; // flag that sends the Frame to FC |
|
- | 135 | ||
- | 136 | SerialChannel_t SerialChannel; |
|
- | 137 | u8 NewSerialChannelFrame = 0; // flag that sends the Frame to FC |
|
Line 133... | Line 138... | ||
133 | 138 | ||
Line 134... | Line 139... | ||
134 | UART_TypeDef *DebugUART = UART1; |
139 | UART_TypeDef *DebugUART = UART1; |
135 | 140 | ||
Line 323... | Line 328... | ||
323 | UART_VersionInfo.HWMajor = Version_HW & 0x7F; |
328 | UART_VersionInfo.HWMajor = Version_HW & 0x7F; |
324 | UART_VersionInfo.BL_Firmware = 255; |
329 | UART_VersionInfo.BL_Firmware = 255; |
325 | UART_VersionInfo.Flags = 0; |
330 | UART_VersionInfo.Flags = 0; |
326 | UART_VersionInfo.LabelTextCRC = CalculateDebugLableCrc(); |
331 | UART_VersionInfo.LabelTextCRC = CalculateDebugLableCrc(); |
327 | NaviData.Version = NAVIDATA_VERSION; |
332 | NaviData.Version = NAVIDATA_VERSION; |
- | 333 | ||
- | 334 | PPM_In[PPM_IN_MAX] = +127; |
|
- | 335 | PPM_In[PPM_IN_OFF] = -127; |
|
- | 336 | PPM_In[PPM_IN_MID] = 0; |
|
- | 337 | ||
328 | UART1_PutString("\r\n UART1 init...ok"); |
338 | UART1_PutString("\r\n UART1 init...ok"); |
329 | } |
339 | } |
Line 330... | Line 340... | ||
330 | 340 | ||
Line 436... | Line 446... | ||
436 | Point_t * pPoint = NULL; |
446 | Point_t * pPoint = NULL; |
437 | SerialMsg_t SerialMsg; |
447 | SerialMsg_t SerialMsg; |
Line 438... | Line 448... | ||
438 | 448 | ||
439 | // analyze header first |
449 | // analyze header first |
- | 450 | MKProtocol_DecodeSerialFrameHeader(&UART1_rx_buffer, &SerialMsg); |
|
440 | MKProtocol_DecodeSerialFrameHeader(&UART1_rx_buffer, &SerialMsg); |
451 | /* |
441 | if( SerialMsg.Address == FC_ADDRESS ) |
452 | if( SerialMsg.Address == FC_ADDRESS ) |
442 | { |
453 | { |
443 | switch(SerialMsg.CmdID) |
454 | switch(SerialMsg.CmdID) |
444 | { |
- | |
445 | // case 'v': // version |
455 | { |
446 | case 'b': // extern control |
456 | // case 'b': // extern control |
447 | UART1_ExternalControlConfirmFrame = 1; |
457 | // UART1_ExternalControlConfirmFrame = 1; |
448 | case 'y': // serial poti values |
458 | // case 'y': // serial poti values |
449 | Buffer_Copy(&UART1_rx_buffer, &UART2_tx_buffer); //forward to FC |
459 | // Buffer_Copy(&UART1_rx_buffer, &UART2_tx_buffer); //forward to FC |
450 | Buffer_Clear(&UART1_rx_buffer); // free rc buffer for next frame |
460 | // Buffer_Clear(&UART1_rx_buffer); // free rc buffer for next frame |
451 | return; //end process rx data |
461 | // return; //end process rx data |
452 | break; |
462 | break; |
453 | } |
463 | } |
454 | } |
464 | } |
455 | 465 | */ |
|
456 | MKProtocol_DecodeSerialFrameData(&UART1_rx_buffer, &SerialMsg); // decode serial frame in rxd buffer |
466 | MKProtocol_DecodeSerialFrameData(&UART1_rx_buffer, &SerialMsg); // decode serial frame in rxd buffer |
457 | if(SerialMsg.CmdID != 'z') SerialLinkOkay = 250; // reset SerialTimeout, but not in case of the "ping" |
467 | if(SerialMsg.CmdID != 'z') SerialLinkOkay = 250; // reset SerialTimeout, but not in case of the "ping" |
458 | switch(SerialMsg.Address) // check for Slave Address |
468 | switch(SerialMsg.Address) // check for Slave Address |
459 | { |
469 | { |
Line 633... | Line 643... | ||
633 | { |
643 | { |
634 | case 'a':// request for the labels of the analog debug outputs |
644 | case 'a':// request for the labels of the analog debug outputs |
635 | UART1_Request_DebugLabel = SerialMsg.pData[0]; |
645 | UART1_Request_DebugLabel = SerialMsg.pData[0]; |
636 | if(UART1_Request_DebugLabel > 31) UART1_Request_DebugLabel = 31; |
646 | if(UART1_Request_DebugLabel > 31) UART1_Request_DebugLabel = 31; |
637 | break; |
647 | break; |
638 | /* |
648 | |
639 | case 'b': // submit extern control |
649 | case 'b': // submit extern control |
640 | memcpy(&ExternControl, SerialMsg.pData, sizeof(ExternControl)); |
650 | memcpy(&ExternControl, SerialMsg.pData, sizeof(ExternControl)); |
641 | UART1_ConfirmFrame = ExternControl.Frame; |
651 | UART1_ConfirmFrame = ExternControl.Frame; |
- | 652 | NewExternalControlFrame = 1; |
|
- | 653 | break; |
|
- | 654 | ||
- | 655 | case 'y': // serial Channels |
|
- | 656 | memcpy(&SerialChannel, SerialMsg.pData, sizeof(SerialChannel)); |
|
- | 657 | memcpy((u8 *) &(PPM_In[SERIAL_POTI_START]), (u8 *) &SerialChannel, 12); // copy the 12 Bytes Serial Channels into the PPM_In array |
|
- | 658 | NewSerialChannelFrame = 1; |
|
642 | break; |
659 | break; |
- | 660 | ||
- | 661 | case 'g':// request for the externalControl |
|
- | 662 | UART1_Request_ExternalControl = TRUE; |
|
643 | */ |
663 | break; |
- | 664 | ||
- | 665 | case 'p':// request for the PPM_In |
|
- | 666 | UART1_Request_PPM_Channels = TRUE; |
|
- | 667 | break; |
|
- | 668 | ||
644 | case 'd': // request for debug data; |
669 | case 'd': // request for debug data; |
645 | UART1_DebugData_Interval = (u32) SerialMsg.pData[0] * 10; |
670 | UART1_DebugData_Interval = (u32) SerialMsg.pData[0] * 10; |
646 | if(UART1_DebugData_Interval > 0) UART1_Request_DebugData = TRUE; |
671 | if(UART1_DebugData_Interval > 0) UART1_Request_DebugData = TRUE; |
647 | UART1_AboTimeOut = SetDelay(ABO_TIMEOUT); |
672 | UART1_AboTimeOut = SetDelay(ABO_TIMEOUT); |
648 | break; |
673 | break; |
Line 1374... | Line 1399... | ||
1374 | else if(Send_NMEA_RMC == TRUE && (UART1_tx_buffer.Locked == FALSE)) |
1399 | else if(Send_NMEA_RMC == TRUE && (UART1_tx_buffer.Locked == FALSE)) |
1375 | { |
1400 | { |
1376 | CreateNmeaRMC(); |
1401 | CreateNmeaRMC(); |
1377 | Send_NMEA_RMC = FALSE; |
1402 | Send_NMEA_RMC = FALSE; |
1378 | } |
1403 | } |
1379 | - | ||
1380 | /* |
- | |
1381 | else if(UART1_ConfirmFrame && (UART1_tx_buffer.Locked == FALSE)) |
1404 | else if(UART1_ConfirmFrame && (UART1_tx_buffer.Locked == FALSE)) |
1382 | { |
1405 | { |
1383 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'B', NC_ADDRESS, 1, &UART1_ConfirmFrame, sizeof(UART1_ConfirmFrame)); |
1406 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'B', NC_ADDRESS, 1, &UART1_ConfirmFrame, sizeof(UART1_ConfirmFrame)); |
1384 | UART1_ConfirmFrame = 0; |
1407 | UART1_ConfirmFrame = 0; |
1385 | } |
1408 | } |
1386 | */ |
- | |
1387 | /* |
- | |
1388 | else if(UART1_Request_ExternalControl && (UART1_tx_buffer.Locked == FALSE)) |
1409 | else if(UART1_Request_ExternalControl && (UART1_tx_buffer.Locked == FALSE)) |
1389 | { |
1410 | { |
1390 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'G', NC_ADDRESS, 1, (u8 *)&ExternControl, sizeof(ExternControl)); |
1411 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'G', NC_ADDRESS, 1, (u8 *)&ExternControl, sizeof(ExternControl)); |
1391 | UART1_Request_ExternalControl = FALSE; |
1412 | UART1_Request_ExternalControl = FALSE; |
1392 | } |
1413 | } |
1393 | */ |
- | |
1394 | else if( (( (UART1_Display_Interval > 0) && CheckDelay(UART1_Display_Timer)) || UART1_Request_Display) && (UART1_tx_buffer.Locked == FALSE)) |
1414 | else if( (( (UART1_Display_Interval > 0) && CheckDelay(UART1_Display_Timer)) || UART1_Request_Display) && (UART1_tx_buffer.Locked == FALSE)) |
1395 | { |
1415 | { |
1396 | if(UART1_DisplayLine > 3) |
1416 | if(UART1_DisplayLine > 3) |
1397 | { |
1417 | { |
1398 | Menu_Update(UART1_DisplayKeys); |
1418 | Menu_Update(UART1_DisplayKeys); |
Line 1444... | Line 1464... | ||
1444 | else if(UART1_Request_ErrorMessage && (UART1_tx_buffer.Locked == FALSE)) |
1464 | else if(UART1_Request_ErrorMessage && (UART1_tx_buffer.Locked == FALSE)) |
1445 | { |
1465 | { |
1446 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'E', NC_ADDRESS, 1, (u8 *)&ErrorMSG, sizeof(ErrorMSG)); |
1466 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'E', NC_ADDRESS, 1, (u8 *)&ErrorMSG, sizeof(ErrorMSG)); |
1447 | UART1_Request_ErrorMessage = FALSE; |
1467 | UART1_Request_ErrorMessage = FALSE; |
1448 | } |
1468 | } |
- | 1469 | else if(UART1_Request_PPM_Channels && (UART1_tx_buffer.Locked == FALSE)) |
|
- | 1470 | { |
|
- | 1471 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'P', NC_ADDRESS, 1, (u8 *)&PPM_In, sizeof(PPM_In)); |
|
- | 1472 | UART1_Request_PPM_Channels = FALSE; |
|
- | 1473 | } |
|
1449 | else if(UART1_Request_LicenseString && (UART1_tx_buffer.Locked == FALSE)) |
1474 | else if(UART1_Request_LicenseString && (UART1_tx_buffer.Locked == FALSE)) |
1450 | { |
1475 | { |
1451 | u8 result = 1, cmd = 0; |
1476 | u8 result = 1, cmd = 0; |
1452 | if(UART1_Request_LicenseString == LIC_CMD_READ_LICENSE) |
1477 | if(UART1_Request_LicenseString == LIC_CMD_READ_LICENSE) |
1453 | { |
1478 | { |