Rev 287 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 287 | Rev 294 | ||
---|---|---|---|
Line 65... | Line 65... | ||
65 | #include "timer1.h" |
65 | #include "timer1.h" |
66 | #include "timer2.h" |
66 | #include "timer2.h" |
67 | #include "config.h" |
67 | #include "config.h" |
68 | #include "main.h" |
68 | #include "main.h" |
69 | #include "compass.h" |
69 | #include "compass.h" |
70 | - | ||
- | 70 | #include "params.h" |
|
Line 71... | Line 71... | ||
71 | 71 | ||
72 | #define SPI_RXSYNCBYTE1 0xAA |
72 | #define SPI_RXSYNCBYTE1 0xAA |
73 | #define SPI_RXSYNCBYTE2 0x83 |
73 | #define SPI_RXSYNCBYTE2 0x83 |
74 | #define SPI_TXSYNCBYTE1 0x81 |
74 | #define SPI_TXSYNCBYTE1 0x81 |
Line 310... | Line 310... | ||
310 | } |
310 | } |
311 | else |
311 | else |
312 | { |
312 | { |
313 | ToFlightCtrl.Param.sInt[4] = -1; |
313 | ToFlightCtrl.Param.sInt[4] = -1; |
314 | } |
314 | } |
- | 315 | ||
- | 316 | if(NCParams[NCPARAMS_NEW_CAMERA_ELEVATION] != -30000) // Elevation set via 'j' command |
|
- | 317 | { |
|
315 | ToFlightCtrl.Param.sInt[5] = CAM_Orientation.Elevation; |
318 | ToFlightCtrl.Param.sInt[5] = NCParams[NCPARAMS_NEW_CAMERA_ELEVATION]; |
- | 319 | } |
|
- | 320 | else |
|
- | 321 | { |
|
- | 322 | if(FC.StatusFlags2 & FC_STATUS2_CAREFREE) ToFlightCtrl.Param.sInt[5] = CAM_Orientation.Elevation; // only, if carefree is active |
|
- | 323 | else ToFlightCtrl.Param.sInt[5] = 0; |
|
- | 324 | } |
|
316 | break; |
325 | break; |
Line 317... | Line 326... | ||
317 | 326 | ||
318 | case SPI_NCCMD_VERSION: |
327 | case SPI_NCCMD_VERSION: |
319 | ToFlightCtrl.Param.Byte[0] = VERSION_MAJOR; |
328 | ToFlightCtrl.Param.Byte[0] = VERSION_MAJOR; |
Line 332... | Line 341... | ||
332 | ToFlightCtrl.Param.Byte[2] = GPSData.SatFix; |
341 | ToFlightCtrl.Param.Byte[2] = GPSData.SatFix; |
333 | ToFlightCtrl.Param.Byte[3] = GPSData.Speed_Ground / 100; // m/s |
342 | ToFlightCtrl.Param.Byte[3] = GPSData.Speed_Ground / 100; // m/s |
334 | ToFlightCtrl.Param.Int[2] = NaviData.HomePositionDeviation.Distance; // dm //4&5 |
343 | ToFlightCtrl.Param.Int[2] = NaviData.HomePositionDeviation.Distance; // dm //4&5 |
335 | ToFlightCtrl.Param.sInt[3] = NaviData.HomePositionDeviation.Bearing; // deg //6&7 |
344 | ToFlightCtrl.Param.sInt[3] = NaviData.HomePositionDeviation.Bearing; // deg //6&7 |
336 | ToFlightCtrl.Param.Byte[8] = (s8)(FC_WP_EventChannel - 110); |
345 | ToFlightCtrl.Param.Byte[8] = (s8)(FC_WP_EventChannel - 110); |
- | 346 | if(NCParams[NCPARAMS_ALTITUDE_RATE] != -1) ToFlightCtrl.Param.Byte[9] = (u8) NCParams[NCPARAMS_ALTITUDE_RATE]; |
|
337 | ToFlightCtrl.Param.Byte[9] = (u8) ToFC_AltitudeRate; |
347 | else ToFlightCtrl.Param.Byte[9] = (u8) ToFC_AltitudeRate; |
- | 348 | if(NCParams[NCPARAMS_ALTITUDE_SETPOINT] != -30000) ToFlightCtrl.Param.sInt[5] = (s16) NCParams[NCPARAMS_ALTITUDE_SETPOINT]; |
|
338 | ToFlightCtrl.Param.sInt[5] = (s16) ToFC_AltitudeSetpoint; |
349 | else ToFlightCtrl.Param.sInt[5] = (s16) ToFC_AltitudeSetpoint; |
339 | break; |
350 | break; |
340 | default: |
351 | default: |
341 | break; |
352 | break; |
342 | // 0 = 0,1 |
353 | // 0 = 0,1 |
343 | // 1 = 2,3 |
354 | // 1 = 2,3 |
Line 375... | Line 386... | ||
375 | { |
386 | { |
376 | FCCalibActive = 0; |
387 | FCCalibActive = 0; |
377 | } |
388 | } |
378 | Parameter.ActiveSetting = FromFlightCtrl.Param.Byte[9]; |
389 | Parameter.ActiveSetting = FromFlightCtrl.Param.Byte[9]; |
379 | DebugOut.Analog[5] = FC.StatusFlags; |
390 | DebugOut.Analog[5] = FC.StatusFlags; |
- | 391 | FC.StatusFlags2 = FromFlightCtrl.Param.Byte[11]; |
|
380 | NaviData.FCStatusFlags = FC.StatusFlags; |
392 | NaviData.FCStatusFlags = FC.StatusFlags; |
- | 393 | NaviData.FCStatusFlags2 = FC.StatusFlags2; |
|
381 | HeadFreeStartAngle = (s32) FromFlightCtrl.Param.Byte[10] * 20; // convert to 0.1° |
394 | HeadFreeStartAngle = (s32) FromFlightCtrl.Param.Byte[10] * 20; // convert to 0.1° |
382 | break; |
395 | break; |
Line 383... | Line 396... | ||
383 | 396 | ||
384 | case SPI_FCCMD_ACCU: |
397 | case SPI_FCCMD_ACCU: |
Line 437... | Line 450... | ||
437 | CHK_POTI_MM(Parameter.NaviGpsPLimit,FromFlightCtrl.Param.Byte[6],0,255); |
450 | CHK_POTI_MM(Parameter.NaviGpsPLimit,FromFlightCtrl.Param.Byte[6],0,255); |
438 | CHK_POTI_MM(Parameter.NaviGpsILimit,FromFlightCtrl.Param.Byte[7],0,255); |
451 | CHK_POTI_MM(Parameter.NaviGpsILimit,FromFlightCtrl.Param.Byte[7],0,255); |
439 | CHK_POTI_MM(Parameter.NaviGpsDLimit,FromFlightCtrl.Param.Byte[8],0,255); |
452 | CHK_POTI_MM(Parameter.NaviGpsDLimit,FromFlightCtrl.Param.Byte[8],0,255); |
440 | FC.RC_Quality = FromFlightCtrl.Param.Byte[9]; |
453 | FC.RC_Quality = FromFlightCtrl.Param.Byte[9]; |
441 | FC.RC_RSSI = FromFlightCtrl.Param.Byte[10]; |
454 | FC.RC_RSSI = FromFlightCtrl.Param.Byte[10]; |
442 | NaviData.RC_Quality = FC.RC_Quality; |
455 | if(!FC.RC_RSSI) NaviData.RC_Quality = FC.RC_Quality; else NaviData.RC_Quality = FC.RC_RSSI; |
443 | NaviData.RC_RSSI = FC.RC_RSSI; |
456 | // NaviData.RC_RSSI = FC.RC_RSSI; |
444 | NaviData.Gas = (FC.BAT_Voltage * (u32) FromFlightCtrl.Param.Byte[11]) / (u32) Parameter.LowVoltageWarning; |
457 | NaviData.Gas = (FC.BAT_Voltage * (u32) FromFlightCtrl.Param.Byte[11]) / (u32) Parameter.LowVoltageWarning; |
445 | break; |
458 | break; |
Line 446... | Line 459... | ||
446 | 459 | ||
447 | case SPI_FCCMD_SERVOS: |
460 | case SPI_FCCMD_SERVOS: |