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. |