Subversion Repositories NaviCtrl

Rev

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
                {