Subversion Repositories NaviCtrl

Rev

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

Rev 518 Rev 530
Line 116... Line 116...
116
u8 FCCalibActive = 0;
116
u8 FCCalibActive = 0;
117
u8 FC_is_Calibrated = 0;
117
u8 FC_is_Calibrated = 0;
118
Motor_t Motor[12];
118
Motor_t Motor[12];
119
u8 Motor_Version[12]; // das kann nicht in die struct, weil der PC die Struktur bekommt
119
u8 Motor_Version[12]; // das kann nicht in die struct, weil der PC die Struktur bekommt
120
u8 NC_To_FC_Flags = 0;
120
u8 NC_To_FC_Flags = 0;
121
u8 BL_MinOfMaxPWM;  // indication if all BL-controllers run on full power
121
u8 BL_MinOfMaxPWM = 255;  // indication if all BL-controllers run on full power
-
 
122
u8 Logging_BL_MinOfMaxPWM = 255;
-
 
123
u8 ErrorCheck_BL_MinOfMaxPWM = 255;
122
u32 FC_I2C_ErrorConter;
124
u32 FC_I2C_ErrorConter;
123
SPI_Version_t FC_Version;
125
SPI_Version_t FC_Version;
124
s16 POI_KameraNick = 0;
126
s16 POI_KameraNick = 0;
125
u8 NC_Wait_for_LED = 0;
127
u8 NC_Wait_for_LED = 0;
126
s16 GyroCompassCorrected = 0; // corrected with the magnetic declination
128
s16 GyroCompassCorrected = 0; // corrected with the magnetic declination
127
s16 CompassSetpointCorrected = 0; // The compass setpoint that the FC tries to keep - corrected with the magnetic declination
129
s16 CompassSetpointCorrected = 0; // The compass setpoint that the FC tries to keep - corrected with the magnetic declination
128
s16 CompassSetpoint = 0;          // in 0,1°
130
s16 CompassSetpoint = 0;          // in 0,1°
-
 
131
u8 AmountOfMotors = 0;
Line 129... Line 132...
129
 
132
 
130
//--------------------------------------------------------------
133
//--------------------------------------------------------------
131
void SSP0_IRQHandler(void)
134
void SSP0_IRQHandler(void)
132
{
135
{
Line 657... Line 660...
657
                                break;
660
                                break;
Line 658... Line 661...
658
 
661
 
659
                        case SPI_FCCMD_BL_ACCU:
662
                        case SPI_FCCMD_BL_ACCU:
660
                                FC.BAT_Current = FromFlightCtrl.Param.Int[0];
663
                                FC.BAT_Current = FromFlightCtrl.Param.Int[0];
-
 
664
                                DebugOut.Analog[8] = FC.BAT_Current;
661
                                DebugOut.Analog[8] = FC.BAT_Current;
665
                                if(AmountOfMotors < FromFlightCtrl.Param.Byte[2]+1) AmountOfMotors = FromFlightCtrl.Param.Byte[2]+1;
-
 
666
                                BL_MinOfMaxPWM = FromFlightCtrl.Param.Byte[3];
-
 
667
                                if(BL_MinOfMaxPWM < Logging_BL_MinOfMaxPWM)     Logging_BL_MinOfMaxPWM = BL_MinOfMaxPWM;        // hold the value until logged
662
                                FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[1];
668
                                if(BL_MinOfMaxPWM < ErrorCheck_BL_MinOfMaxPWM)  ErrorCheck_BL_MinOfMaxPWM = BL_MinOfMaxPWM;             // hold the value until Error processed
663
                                Parameter.NaviGpsModeControl = FromFlightCtrl.Param.Byte[4];
669
                                Parameter.NaviGpsModeControl = FromFlightCtrl.Param.Byte[4];
-
 
670
                                FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[5];
664
                                FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[5];
671
                                Motor[FromFlightCtrl.Param.Byte[2]].NotReadyCnt = FromFlightCtrl.Param.Byte[6];
665
                                Motor_Version[FromFlightCtrl.Param.Byte[6]] = FromFlightCtrl.Param.Byte[7];
672
                                Motor_Version[FromFlightCtrl.Param.Byte[2]] = FromFlightCtrl.Param.Byte[7];
666
                                Motor[FromFlightCtrl.Param.Byte[6]].MaxPWM = FromFlightCtrl.Param.Byte[8];
673
                                Motor[FromFlightCtrl.Param.Byte[2]].MaxPWM = FromFlightCtrl.Param.Byte[8];
667
                                Motor[FromFlightCtrl.Param.Byte[6]].State = FromFlightCtrl.Param.Byte[9];
674
                                Motor[FromFlightCtrl.Param.Byte[2]].State = FromFlightCtrl.Param.Byte[9];
668
                                Motor[FromFlightCtrl.Param.Byte[6]].Temperature = FromFlightCtrl.Param.Byte[10];
675
                                Motor[FromFlightCtrl.Param.Byte[2]].Temperature = FromFlightCtrl.Param.Byte[10];
669
                                Motor[FromFlightCtrl.Param.Byte[6]].Current = FromFlightCtrl.Param.Byte[11];
676
                                Motor[FromFlightCtrl.Param.Byte[2]].Current = FromFlightCtrl.Param.Byte[11];
670
                                if(FromFC_VarioCharacter == '+' || FromFC_VarioCharacter == '-') // manual setpoint clears the NC-Parameter command
677
                                if(FromFC_VarioCharacter == '+' || FromFC_VarioCharacter == '-') // manual setpoint clears the NC-Parameter command
671
                                {
678
                                {
672
                                        NCParams_ClearValue(NCPARAMS_ALTITUDE_RATE);
679
                                        NCParams_ClearValue(NCPARAMS_ALTITUDE_RATE);
673
                                }
680
                                }
Line 744... Line 751...
744
//                              NaviData.RC_RSSI = FC.RC_RSSI;
751
//                              NaviData.RC_RSSI = FC.RC_RSSI;
745
                                NaviData.Gas    = (FC.BAT_Voltage * (u32) FromFlightCtrl.Param.Byte[11]) / (u32) Parameter.LowVoltageWarning;
752
                                NaviData.Gas    = (FC.BAT_Voltage * (u32) FromFlightCtrl.Param.Byte[11]) / (u32) Parameter.LowVoltageWarning;
746
                                break;
753
                                break;
Line 747... Line 754...
747
 
754
 
748
                        case SPI_FCCMD_SERVOS:
-
 
749
                                ServoParams.Refresh             = FromFlightCtrl.Param.Byte[0];
755
                        case SPI_FCCMD_SERVOS:
750
                                ServoParams.CompInvert  = FromFlightCtrl.Param.Byte[1];
756
                                FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[0];
751
                                ServoParams.NickControl = FromFlightCtrl.Param.Byte[2];
-
 
752
                                ServoParams.NickComp    = FromFlightCtrl.Param.Byte[3];
-
 
753
                                ServoParams.NickMin             = FromFlightCtrl.Param.Byte[4];
-
 
754
                                ServoParams.NickMax             = FromFlightCtrl.Param.Byte[5];
757
                                ServoParams.NickControl = FromFlightCtrl.Param.Byte[2];
755
                                ServoParams.RollControl = FromFlightCtrl.Param.Byte[6];
-
 
756
                                ServoParams.RollComp    = FromFlightCtrl.Param.Byte[7];
-
 
757
                                ServoParams.RollMin             = FromFlightCtrl.Param.Byte[8];
-
 
758
                                ServoParams.RollMax             = FromFlightCtrl.Param.Byte[9];
758
                                ServoParams.RollControl = FromFlightCtrl.Param.Byte[3];
759
                                BL_MinOfMaxPWM = FromFlightCtrl.Param.Byte[10];
759
                                FC_I2C_ErrorConter = FromFlightCtrl.Param.Byte[4];
760
                                FC_I2C_ErrorConter = FromFlightCtrl.Param.Byte[11];
760
                                FC.RedundanceBlOperation = FromFlightCtrl.Param.Byte[5];
Line 761... Line 761...
761
                                break;
761
                                break;
762
 
762
 
763
                        case SPI_FCCMD_VERSION:
763
                        case SPI_FCCMD_VERSION: