Rev 780 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
156 | killagreg | 1 | #include "91x_lib.h" |
2 | #include "params.h" |
||
276 | holgerb | 3 | #include "spi_slave.h" |
278 | killagreg | 4 | #include "waypoints.h" |
819 | holgerb | 5 | #include "eeprom.h" |
156 | killagreg | 6 | |
780 | holgerb | 7 | s16 NCParams[256]; |
8 | u8 NCParamState[256]; |
||
156 | killagreg | 9 | |
10 | void NCParams_Init(void) |
||
11 | { |
||
295 | killagreg | 12 | u16 i; |
13 | for(i=0; i<256; i++) |
||
14 | { |
||
15 | NCParamState[i] = NCPARAM_STATE_UNDEFINED; |
||
298 | holgerb | 16 | NCParams[i] = 0; |
295 | killagreg | 17 | } |
156 | killagreg | 18 | NCParams[NCPARAMS_GPS_TARGETSPEED] = 50; // 5.0 m/s |
276 | holgerb | 19 | NCParams[NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT] = -1; |
298 | holgerb | 20 | NCParams[NCPARAMS_ALTITUDE_RATE] = 0; |
156 | killagreg | 21 | } |
22 | |||
298 | holgerb | 23 | u8 NCParams_SetValue(u8 id, s16 *pvalue) |
156 | killagreg | 24 | { |
157 | killagreg | 25 | NCParams[id] = *pvalue; |
295 | killagreg | 26 | NCParamState[id] = NCRARAM_STATE_VALID; |
278 | killagreg | 27 | |
28 | switch(id) |
||
29 | { |
||
780 | holgerb | 30 | case NCPARAMS_BARO_KOMPENSATION: |
31 | LuftdruckTemperaturKompensation = *pvalue; |
||
32 | WriteBaroCalibrationToEEprom(); |
||
33 | break; |
||
34 | |||
588 | holgerb | 35 | case NCPARAMS_FORCE_NEW_COMPASS_DIRECTION: |
36 | CAM_Orientation.UpdateMask |= FORCE_AZIMUTH_ROTATION; |
||
37 | // Break fehlt hier absichtlich |
||
278 | killagreg | 38 | case NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT: |
280 | killagreg | 39 | if(NULL == PointList_GetPOI()) |
278 | killagreg | 40 | { |
41 | CAM_Orientation.Azimuth = *pvalue; |
||
42 | CAM_Orientation.Elevation = 0; |
||
588 | holgerb | 43 | CAM_Orientation.UpdateMask |= CAM_UPDATE_AZIMUTH; |
278 | killagreg | 44 | } |
45 | break; |
||
46 | default: |
||
47 | break; |
||
48 | } |
||
298 | holgerb | 49 | return(NCParamState[id]); |
156 | killagreg | 50 | } |
51 | |||
298 | holgerb | 52 | void NCParams_ClearValue(u8 id) |
156 | killagreg | 53 | { |
298 | holgerb | 54 | NCParamState[id] = NCPARAM_STATE_UNDEFINED; |
55 | } |
||
56 | |||
57 | |||
58 | u8 NCParams_GetValue(u8 id, s16 *pvalue) |
||
59 | { |
||
157 | killagreg | 60 | if(pvalue == 0) return 0; |
295 | killagreg | 61 | if(NCParamState[id] == NCRARAM_STATE_VALID) |
62 | { |
||
63 | *pvalue = NCParams[id]; |
||
64 | } |
||
298 | holgerb | 65 | return(NCParamState[id]); |
156 | killagreg | 66 | } |
298 | holgerb | 67 |