Rev 451 | Rev 455 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 451 | Rev 454 | ||
---|---|---|---|
Line 369... | Line 369... | ||
369 | ToFlightCtrl.Param.Byte[2] = VERSION_PATCH; |
369 | ToFlightCtrl.Param.Byte[2] = VERSION_PATCH; |
370 | ToFlightCtrl.Param.Byte[3] = FC_SPI_COMPATIBLE; |
370 | ToFlightCtrl.Param.Byte[3] = FC_SPI_COMPATIBLE; |
371 | ToFlightCtrl.Param.Byte[4] = Version_HW; |
371 | ToFlightCtrl.Param.Byte[4] = Version_HW; |
372 | ToFlightCtrl.Param.Byte[5] = DebugOut.StatusGreen; |
372 | ToFlightCtrl.Param.Byte[5] = DebugOut.StatusGreen; |
373 | ToFlightCtrl.Param.Byte[6] = DebugOut.StatusRed; |
373 | ToFlightCtrl.Param.Byte[6] = DebugOut.StatusRed; |
374 | ToFlightCtrl.Param.Byte[7] = ErrorCode; |
374 | ToFlightCtrl.Param.Byte[7] = ErrorCode; // muss in SPI_NCCMD_VERSION bleiben! (siehe oben) |
375 | ToFlightCtrl.Param.Byte[8] = NC_GPS_ModeCharacter; |
375 | ToFlightCtrl.Param.Byte[8] = NC_GPS_ModeCharacter; |
376 | ToFlightCtrl.Param.Byte[9] = SerialLinkOkay; |
376 | ToFlightCtrl.Param.Byte[9] = SerialLinkOkay; |
377 | ToFlightCtrl.Param.Byte[10] = NC_To_FC_Flags; |
377 | ToFlightCtrl.Param.Byte[10] = NC_To_FC_Flags; |
378 | if(AbsoluteFlyingAltitude > 255) ToFlightCtrl.Param.Byte[11] = 0; // then the limitation of the FC doesn't work |
378 | if(AbsoluteFlyingAltitude > 255) ToFlightCtrl.Param.Byte[11] = 0; // then the limitation of the FC doesn't work |
379 | else ToFlightCtrl.Param.Byte[11] = AbsoluteFlyingAltitude; |
379 | else ToFlightCtrl.Param.Byte[11] = AbsoluteFlyingAltitude; |
Line 398... | Line 398... | ||
398 | ToFlightCtrl.Param.Byte[1] = GPSData.NumOfSats; |
398 | ToFlightCtrl.Param.Byte[1] = GPSData.NumOfSats; |
399 | ToFlightCtrl.Param.Byte[2] = GPSData.SatFix; |
399 | ToFlightCtrl.Param.Byte[2] = GPSData.SatFix; |
400 | ToFlightCtrl.Param.Byte[3] = GPSData.Speed_Ground / 100; // m/s |
400 | ToFlightCtrl.Param.Byte[3] = GPSData.Speed_Ground / 100; // m/s |
401 | ToFlightCtrl.Param.Int[2] = NaviData.HomePositionDeviation.Distance; // dm //4&5 |
401 | ToFlightCtrl.Param.Int[2] = NaviData.HomePositionDeviation.Distance; // dm //4&5 |
402 | ToFlightCtrl.Param.sInt[3] = NaviData.HomePositionDeviation.Bearing; // deg //6&7 |
402 | ToFlightCtrl.Param.sInt[3] = NaviData.HomePositionDeviation.Bearing; // deg //6&7 |
403 | if(FC_WP_EventChannel > 254) FC_WP_EventChannel = 254; |
403 | if(FC_WP_EventChannel > 254) FC_WP_EventChannel = 254; // Muss in SPI_NCCMD_GPSINFO bleiben! (siehe oben) |
404 | if(FC_WP_EventChannel) LogFC_WP_EventChannel = FC_WP_EventChannel; // to make sure that it will be logged |
404 | if(FC_WP_EventChannel) LogFC_WP_EventChannel = FC_WP_EventChannel; // to make sure that it will be logged |
405 | ToFlightCtrl.Param.Byte[8] = (s8)(FC_WP_EventChannel - 127); |
405 | ToFlightCtrl.Param.Byte[8] = (s8)(FC_WP_EventChannel - 127); |
406 | FC_WP_EventChannel = 0; // the GPS-Routine will set it again |
406 | FC_WP_EventChannel = 0; // the GPS-Routine will set it again |
407 | if(NCRARAM_STATE_VALID == NCParams_GetValue(NCPARAMS_ALTITUDE_RATE, &tmp)) |
407 | if(NCRARAM_STATE_VALID == NCParams_GetValue(NCPARAMS_ALTITUDE_RATE, &tmp)) |
408 | { |
408 | { |
Line 564... | Line 564... | ||
564 | Logging_FCStatusFlags1 |= FC.StatusFlags; |
564 | Logging_FCStatusFlags1 |= FC.StatusFlags; |
565 | Logging_FCStatusFlags2 |= FC.StatusFlags2; |
565 | Logging_FCStatusFlags2 |= FC.StatusFlags2; |
566 | Parameter.ComingHomeAltitude = FromFlightCtrl.Param.Byte[10]; |
566 | Parameter.ComingHomeAltitude = FromFlightCtrl.Param.Byte[10]; |
567 | break; |
567 | break; |
Line 568... | Line 568... | ||
568 | 568 | ||
569 | case SPI_FCCMD_ACCU: |
569 | case SPI_FCCMD_BL_ACCU: |
570 | FC.BAT_Current = FromFlightCtrl.Param.Int[0]; |
570 | FC.BAT_Current = FromFlightCtrl.Param.Int[0]; |
571 | FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[1]; |
571 | FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[1]; |
572 | FC.BAT_Voltage = FromFlightCtrl.Param.Byte[4]; |
572 | FC.BAT_Voltage = FromFlightCtrl.Param.Byte[4]; |
573 | Parameter.LowVoltageWarning = FromFlightCtrl.Param.Byte[5]; |
573 | Parameter.NaviGpsModeControl = FromFlightCtrl.Param.Byte[5]; |
574 | FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[6]; |
574 | FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[6]; |
575 | Motor[FromFlightCtrl.Param.Byte[7]].MaxPWM = FromFlightCtrl.Param.Byte[8]; |
575 | Motor[FromFlightCtrl.Param.Byte[7]].MaxPWM = FromFlightCtrl.Param.Byte[8]; |
576 | Motor[FromFlightCtrl.Param.Byte[7]].State = FromFlightCtrl.Param.Byte[9]; |
576 | Motor[FromFlightCtrl.Param.Byte[7]].State = FromFlightCtrl.Param.Byte[9]; |
577 | Motor[FromFlightCtrl.Param.Byte[7]].Temperature = FromFlightCtrl.Param.Byte[10]; |
577 | Motor[FromFlightCtrl.Param.Byte[7]].Temperature = FromFlightCtrl.Param.Byte[10]; |
Line 583... | Line 583... | ||
583 | NaviData.UBat = FC.BAT_Voltage; |
583 | NaviData.UBat = FC.BAT_Voltage; |
584 | NaviData.Current = FC.BAT_Current; |
584 | NaviData.Current = FC.BAT_Current; |
585 | NaviData.UsedCapacity = FC.BAT_UsedCapacity; |
585 | NaviData.UsedCapacity = FC.BAT_UsedCapacity; |
586 | break; |
586 | break; |
587 | case SPI_FCCMD_PARAMETER1: |
587 | case SPI_FCCMD_PARAMETER1: |
588 | CHK_POTI_MM(Parameter.NaviGpsModeControl,FromFlightCtrl.Param.Byte[0],0,255); |
588 | Parameter.LowVoltageWarning = FromFlightCtrl.Param.Byte[0]; |
589 | CHK_POTI_MM(Parameter.NaviGpsGain,FromFlightCtrl.Param.Byte[1],0,255); |
589 | CHK_POTI_MM(Parameter.NaviGpsGain,FromFlightCtrl.Param.Byte[1],0,255); |
590 | CHK_POTI_MM(Parameter.NaviGpsP,FromFlightCtrl.Param.Byte[2],0,255); |
590 | CHK_POTI_MM(Parameter.NaviGpsP,FromFlightCtrl.Param.Byte[2],0,255); |
591 | CHK_POTI_MM(Parameter.NaviGpsI,FromFlightCtrl.Param.Byte[3],0,255); |
591 | CHK_POTI_MM(Parameter.NaviGpsI,FromFlightCtrl.Param.Byte[3],0,255); |
592 | CHK_POTI_MM(Parameter.NaviGpsD,FromFlightCtrl.Param.Byte[4],0,255); |
592 | CHK_POTI_MM(Parameter.NaviGpsD,FromFlightCtrl.Param.Byte[4],0,255); |
593 | CHK_POTI_MM(Parameter.NaviGpsACC,FromFlightCtrl.Param.Byte[5],0,255); |
593 | CHK_POTI_MM(Parameter.NaviGpsACC,FromFlightCtrl.Param.Byte[5],0,255); |
Line 599... | Line 599... | ||
599 | CHK_POTI_MM(Parameter.NaviAngleLimitation,FromFlightCtrl.Param.Byte[11],0,255); |
599 | CHK_POTI_MM(Parameter.NaviAngleLimitation,FromFlightCtrl.Param.Byte[11],0,255); |
600 | break; |
600 | break; |
601 | case SPI_FCCMD_PARAMETER2: |
601 | case SPI_FCCMD_PARAMETER2: |
602 | CHK_POTI_MM(Parameter.NaviOut1Parameter,FromFlightCtrl.Param.Byte[0],0,255); |
602 | CHK_POTI_MM(Parameter.NaviOut1Parameter,FromFlightCtrl.Param.Byte[0],0,255); |
603 | if(FromFlightCtrl.Param.Byte[1]) FC.FromFC_SpeakHoTT = FromFlightCtrl.Param.Byte[1]; // will be cleared in the SD-Logging |
603 | if(FromFlightCtrl.Param.Byte[1]) FC.FromFC_SpeakHoTT = FromFlightCtrl.Param.Byte[1]; // will be cleared in the SD-Logging |
- | 604 | Parameter.FromFC_LandingSpeed = FromFlightCtrl.Param.Byte[2]; |
|
604 | break; |
605 | break; |
605 | case SPI_FCCMD_STICK: |
606 | case SPI_FCCMD_STICK: |
606 | FC.StickGas = FromFlightCtrl.Param.sByte[0]; |
607 | FC.StickGas = FromFlightCtrl.Param.sByte[0]; |
607 | FC.StickYaw = FromFlightCtrl.Param.sByte[1]; |
608 | FC.StickYaw = FromFlightCtrl.Param.sByte[1]; |
608 | FC.StickRoll = FromFlightCtrl.Param.sByte[2]; |
609 | FC.StickRoll = FromFlightCtrl.Param.sByte[2]; |
Line 634... | Line 635... | ||
634 | NaviData.SetpointAltitude = FromFlightCtrl.Param.sInt[2]; // in 5cm |
635 | NaviData.SetpointAltitude = FromFlightCtrl.Param.sInt[2]; // in 5cm |
635 | CHK_POTI_MM(Parameter.NaviGpsPLimit,FromFlightCtrl.Param.Byte[6],0,255); |
636 | CHK_POTI_MM(Parameter.NaviGpsPLimit,FromFlightCtrl.Param.Byte[6],0,255); |
636 | CHK_POTI_MM(Parameter.NaviGpsILimit,FromFlightCtrl.Param.Byte[7],0,255); |
637 | CHK_POTI_MM(Parameter.NaviGpsILimit,FromFlightCtrl.Param.Byte[7],0,255); |
637 | CHK_POTI_MM(Parameter.NaviGpsDLimit,FromFlightCtrl.Param.Byte[8],0,255); |
638 | CHK_POTI_MM(Parameter.NaviGpsDLimit,FromFlightCtrl.Param.Byte[8],0,255); |
638 | FC.RC_Quality = FromFlightCtrl.Param.Byte[9]; |
639 | FC.RC_Quality = FromFlightCtrl.Param.Byte[9]; |
- | 640 | NaviData.RC_Quality = FC.RC_Quality; |
|
- | 641 | //FromFlightCtrl.Param.Byte[10]; |
|
- | 642 | ||
639 | FC.RC_RSSI = FromFlightCtrl.Param.Byte[10]; |
643 | // FC.RC_RSSI = FromFlightCtrl.Param.Byte[10]; |
640 | if(!FC.RC_RSSI) NaviData.RC_Quality = FC.RC_Quality; else NaviData.RC_Quality = FC.RC_RSSI; |
644 | // if(!FC.RC_RSSI) NaviData.RC_Quality = FC.RC_Quality; else NaviData.RC_Quality = FC.RC_RSSI; |
641 | // NaviData.RC_RSSI = FC.RC_RSSI; |
645 | // NaviData.RC_RSSI = FC.RC_RSSI; |
642 | NaviData.Gas = (FC.BAT_Voltage * (u32) FromFlightCtrl.Param.Byte[11]) / (u32) Parameter.LowVoltageWarning; |
646 | NaviData.Gas = (FC.BAT_Voltage * (u32) FromFlightCtrl.Param.Byte[11]) / (u32) Parameter.LowVoltageWarning; |
643 | break; |
647 | break; |
Line 644... | Line 648... | ||
644 | 648 |