Subversion Repositories FlightCtrl

Rev

Rev 1813 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1813 Rev 1819
Line 1... Line 1...
1
/******************************************************************************************************************
1
/******************************************************************************************************************
2
V0.82b-Arthur-P 2010-12-18
2
V0.82b-Arthur-P 2010-12-18
3
------------------------------------------------------------------------------------------------------------------
3
------------------------------------------------------------------------------------------------------------------
4
Version includes only support for external HEF4017 for FC1.x hardware, NOT for Twi2Ppm converters for ESCs.
4
Version includes only support for external HEF4017 for FC1.x hardware, NOT for Twi2Ppm converters for ESCs.
Line 5... Line 5...
5
 
5
 
-
 
6
2010-12-18 Transferred changes to v.0.82b-Arthur-P and chande the if(Platinenversion < 20) statement in the
6
2010-12-18 Transferred changes to v.0.82b-Arthur-P
7
new servocontrol calculating routine to correctly identify external HEF4017.
7
20100917: Transferred changes to v0.80g-Arthur-P.
8
20100917: Transferred changes to v0.80g-Arthur-P.
8
Arthur P. Modified to use several parameters for servo control:
9
Arthur P. Modified to use several parameters for servo control:
9
User_Parameter4:
10
User_Parameter4:
10
User_Parameter5:
11
User_Parameter5:
Line 271... Line 272...
271
                else
272
                else
272
                if(ServoNickValue > ((int16_t)EE_Parameter.ServoNickMax * MULTIPLYER) )
273
                if(ServoNickValue > ((int16_t)EE_Parameter.ServoNickMax * MULTIPLYER) )
273
                {
274
                {
274
                        ServoNickValue = (int16_t)EE_Parameter.ServoNickMax * MULTIPLYER;
275
                        ServoNickValue = (int16_t)EE_Parameter.ServoNickMax * MULTIPLYER;
275
                }
276
                }
-
 
277
/******************************************************************************************************************
-
 
278
Arthur P: Modified the code to check the value of parameter 8. If 128 or higher then a HEF4017 is
-
 
279
expected and will be used. Else J7 and J9 are seen as separate normal outputs.
-
 
280
if((PlatinenVersion < 20)
-
 
281
20100802 Inserted changes into v.0.80d code. This function did not exist prior to v.082. Without
-
 
282
the changes the roll servo does not work, while shutter and nick servo output do work.
-
 
283
******************************************************************************************************************/    
-
 
284
 
-
 
285
//      if(PlatinenVersion < 20)
-
 
286
 
276
                if(PlatinenVersion < 20) CalculateServoSignals = 0; else CalculateServoSignals++;
287
        if((PlatinenVersion < 20) && (Parameter_UserParam8 < 128 ))
-
 
288
/******************************************************************************************************************
-
 
289
Arthur P: End of modification ot if statement. 
-
 
290
******************************************************************************************************************/    
-
 
291
                {
-
 
292
                        CalculateServoSignals = 0;
-
 
293
                }
-
 
294
                else
-
 
295
                {
-
 
296
                        CalculateServoSignals++;
-
 
297
                }
277
        }
298
        }
278
        else
299
        else
279
        {
300
        {
280
        roll = (cosinus * IntegralRoll) / 128L + (sinus * IntegralNick) / 128L;
301
        roll = (cosinus * IntegralRoll) / 128L + (sinus * IntegralNick) / 128L;
281
        roll = ((long)EE_Parameter.ServoRollComp * roll) / 512L;
302
        roll = ((long)EE_Parameter.ServoRollComp * roll) / 512L;
Line 388... Line 409...
388
                                        switch(ServoIndex) // map servo channels
409
                                        switch(ServoIndex) // map servo channels
389
                                        {
410
                                        {
390
                                                case 1: // Nick Compensation Servo
411
                                                case 1: // Nick Compensation Servo
391
                                                        RemainingPulse += ServoNickValue - (256 / 2) * MULTIPLYER; // shift ServoNickValue to center position
412
                                                        RemainingPulse += ServoNickValue - (256 / 2) * MULTIPLYER; // shift ServoNickValue to center position
392
                                                        break;
413
                                                        break;
393
                                         case 2: // Roll Compensation Servo
414
                                            case 2: // Roll Compensation Servo
394
                                                        RemainingPulse += ServoRollValue - (256 / 2) * MULTIPLYER; // shift ServoNickValue to center position
415
                                                        RemainingPulse += ServoRollValue - (256 / 2) * MULTIPLYER; // shift ServoNickValue to center position
395
                                                        break;
416
                                                        break;
396
/******************************************************************************************************************
417
/******************************************************************************************************************
397
Arthur P: Shutter Servo including interval control over parameter 5 and 6.
418
Arthur P: Shutter Servo including interval control over parameter 5 and 6.
398
091114 Inserted same modification into v.0.76g code, removing previously REM-ed out modified parts.
419
091114 Inserted same modification into v.0.76g code, removing previously REM-ed out modified parts.