Subversion Repositories NaviCtrl

Rev

Rev 191 | Rev 193 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 191 Rev 192
Line 360... Line 360...
360
 
360
 
361
        // analyze header first
361
        // analyze header first
362
        MKProtocol_DecodeSerialFrameHeader(&UART1_rx_buffer, &SerialMsg);
362
        MKProtocol_DecodeSerialFrameHeader(&UART1_rx_buffer, &SerialMsg);
363
        if( (SerialMsg.Address == FC_ADDRESS) && (SerialMsg.CmdID == 'y') )
363
        if( (SerialMsg.Address == FC_ADDRESS) && (SerialMsg.CmdID == 'y') )
-
 
364
        {
-
 
365
                switch(SerialMsg.CmdID)
-
 
366
                {
-
 
367
                        case 'y': // serial poti values
364
        {
368
                        case 'b': // extern control
365
                Buffer_Copy(&UART1_rx_buffer, &UART2_tx_buffer);
369
                                Buffer_Copy(&UART1_rx_buffer, &UART2_tx_buffer); //forward to FC
366
                Buffer_Clear(&UART1_rx_buffer); // free rc buffer for next frame
370
                                Buffer_Clear(&UART1_rx_buffer); // free rc buffer for next frame
-
 
371
                                return;
-
 
372
                        break;
367
                return;
373
                }
Line 368... Line 374...
368
        }      
374
        }      
369
 
375
 
370
        MKProtocol_DecodeSerialFrameData(&UART1_rx_buffer, &SerialMsg); // decode serial frame in rxd buffer
376
        MKProtocol_DecodeSerialFrameData(&UART1_rx_buffer, &SerialMsg); // decode serial frame in rxd buffer
Line 484... Line 490...
484
                {
490
                {
485
                        case 'a':// request for the labels of the analog debug outputs
491
                        case 'a':// request for the labels of the analog debug outputs
486
                                UART1_Request_DebugLabel = SerialMsg.pData[0];
492
                                UART1_Request_DebugLabel = SerialMsg.pData[0];
487
                                if(UART1_Request_DebugLabel > 31) UART1_Request_DebugLabel = 31;
493
                                if(UART1_Request_DebugLabel > 31) UART1_Request_DebugLabel = 31;
488
                                break;
494
                                break;
489
 
495
                       
490
                        case 'b': // submit extern control
496
                        case 'b': // submit extern control
491
                                memcpy(&ExternControl, SerialMsg.pData, sizeof(ExternControl));
497
                                memcpy(&ExternControl, SerialMsg.pData, sizeof(ExternControl));
492
                                UART1_ConfirmFrame = ExternControl.Frame;
498
                                UART1_ConfirmFrame = ExternControl.Frame;
493
                                break;
499
                                break;
494
 
500
                       
495
                        case 'd': // request for debug data;
501
                        case 'd': // request for debug data;
496
                                UART1_DebugData_Interval = (u32) SerialMsg.pData[0] * 10;
502
                                UART1_DebugData_Interval = (u32) SerialMsg.pData[0] * 10;
497
                                if(UART1_DebugData_Interval > 0) UART1_Request_DebugData = TRUE;
503
                                if(UART1_DebugData_Interval > 0) UART1_Request_DebugData = TRUE;
498
                                break;
504
                                break;
Line 499... Line 505...
499
 
505
 
500
                        case 'c': // request for 3D data;
506
                        case 'c': // request for 3D data;
501
                                UART1_Data3D_Interval = (u32) SerialMsg.pData[0] * 10;
507
                                UART1_Data3D_Interval = (u32) SerialMsg.pData[0] * 10;
502
                                if(UART1_Data3D_Interval > 0) UART1_Request_Data3D = TRUE;
508
                                if(UART1_Data3D_Interval > 0) UART1_Request_Data3D = TRUE;
503
                                break;
509
                                break;
504
 
510
                       
505
                        case 'g':// request for external control data
511
                        case 'g':// request for external control data
506
                                UART1_Request_ExternalControl = TRUE;
512
                                UART1_Request_ExternalControl = TRUE;
507
                                break;
513
                                break;
508
 
514
                       
509
                        case 'h':// reqest for display line
515
                        case 'h':// reqest for display line
510
                                RemoteKeys |= SerialMsg.pData[0];
516
                                RemoteKeys |= SerialMsg.pData[0];
511
                                if(RemoteKeys != 0) UART1_DisplayLine = 0;
517
                                if(RemoteKeys != 0) UART1_DisplayLine = 0;
512
                                UART1_Request_Display = TRUE;
518
                                UART1_Request_Display = TRUE;
Line 652... Line 658...
652
        {
658
        {
653
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'C', NC_ADDRESS, 1,(u8 *)&Data3D, sizeof(Data3D));
659
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'C', NC_ADDRESS, 1,(u8 *)&Data3D, sizeof(Data3D));
654
                UART1_Data3D_Timer = SetDelay(UART1_Data3D_Interval);
660
                UART1_Data3D_Timer = SetDelay(UART1_Data3D_Interval);
655
                UART1_Request_Data3D = FALSE;
661
                UART1_Request_Data3D = FALSE;
656
        }
662
        }
-
 
663
       
657
        else if(UART1_ConfirmFrame && (UART1_tx_buffer.Locked == FALSE))
664
        else if(UART1_ConfirmFrame && (UART1_tx_buffer.Locked == FALSE))
658
        {
665
        {
659
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'B', NC_ADDRESS, 1, &UART1_ConfirmFrame, sizeof(UART1_ConfirmFrame));
666
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'B', NC_ADDRESS, 1, &UART1_ConfirmFrame, sizeof(UART1_ConfirmFrame));
660
                UART1_ConfirmFrame = 0;
667
                UART1_ConfirmFrame = 0;
661
        }
668
        }
-
 
669
       
-
 
670
       
662
        else if(UART1_Request_ExternalControl && (UART1_tx_buffer.Locked == FALSE))
671
        else if(UART1_Request_ExternalControl && (UART1_tx_buffer.Locked == FALSE))
663
        {
672
        {
664
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'G', NC_ADDRESS, 1, (u8 *)&ExternControl, sizeof(ExternControl));
673
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'G', NC_ADDRESS, 1, (u8 *)&ExternControl, sizeof(ExternControl));
665
                UART1_Request_ExternalControl = FALSE;
674
                UART1_Request_ExternalControl = FALSE;
666
        }
675
        }
-
 
676
       
667
        else if(UART1_Request_Display && (UART1_tx_buffer.Locked == FALSE))
677
        else if(UART1_Request_Display && (UART1_tx_buffer.Locked == FALSE))
668
        {
678
        {
669
                LCD_PrintMenu();
679
                LCD_PrintMenu();
670
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'H', NC_ADDRESS, 2, &UART1_DisplayLine, sizeof(UART1_DisplayLine), (u8*)&DisplayBuff[UART1_DisplayLine * 20], 20);
680
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'H', NC_ADDRESS, 2, &UART1_DisplayLine, sizeof(UART1_DisplayLine), (u8*)&DisplayBuff[UART1_DisplayLine * 20], 20);
671
                UART1_DisplayLine++;
681
                UART1_DisplayLine++;
Line 694... Line 704...
694
                FollowMe.Position.Status = NEWDATA;
704
                FollowMe.Position.Status = NEWDATA;
695
                FollowMe.Heading = -1;
705
                FollowMe.Heading = -1;
696
                FollowMe.ToleranceRadius = 1;
706
                FollowMe.ToleranceRadius = 1;
697
                FollowMe.HoldTime = 60;
707
                FollowMe.HoldTime = 60;
698
                FollowMe.Event_Flag = 0;
708
                FollowMe.Event_Flag = 0;
-
 
709
                FollowMe.Index = 1;
699
                FollowMe.reserve[0] = 0;                // reserve
710
                FollowMe.reserve[0] = 0;                // reserve
700
                FollowMe.reserve[1] = 0;                // reserve
711
                FollowMe.reserve[1] = 0;                // reserve
701
                FollowMe.reserve[2] = 0;                // reserve
712
                FollowMe.reserve[2] = 0;                // reserve
702
                FollowMe.reserve[3] = 0;                // reserve
713
                FollowMe.reserve[3] = 0;                // reserve
703
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 's', NC_ADDRESS, 1, (u8 *)&FollowMe, sizeof(FollowMe));
714
                MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 's', NC_ADDRESS, 1, (u8 *)&FollowMe, sizeof(FollowMe));