Rev 294 | Rev 298 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 294 | Rev 295 | ||
---|---|---|---|
1 | #include "91x_lib.h" |
1 | #include "91x_lib.h" |
2 | #include "params.h" |
2 | #include "params.h" |
3 | #include "spi_slave.h" |
3 | #include "spi_slave.h" |
4 | #include "waypoints.h" |
4 | #include "waypoints.h" |
5 | 5 | ||
6 | s16 NCParams[255]; |
6 | s16 NCParams[255]; |
- | 7 | u8 NCParamState[255]; |
|
7 | 8 | ||
8 | void NCParams_Init(void) |
9 | void NCParams_Init(void) |
9 | { |
10 | { |
- | 11 | u16 i; |
|
- | 12 | for(i=0; i<256; i++) |
|
- | 13 | { |
|
- | 14 | NCParamState[i] = NCPARAM_STATE_UNDEFINED; |
|
- | 15 | } |
|
10 | NCParams[NCPARAMS_GPS_TARGETSPEED] = 50; // 5.0 m/s |
16 | NCParams[NCPARAMS_GPS_TARGETSPEED] = 50; // 5.0 m/s |
11 | NCParams[NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT] = -1; |
17 | NCParams[NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT] = -1; |
12 | NCParams[NCPARAMS_NEW_CAMERA_ELEVATION] = -30000; // invalid |
- | |
13 | NCParams[NCPARAMS_ALTITUDE_RATE] = -1; |
18 | NCParams[NCPARAMS_ALTITUDE_RATE] = -1; |
14 | NCParams[NCPARAMS_ALTITUDE_SETPOINT] = -30000; // in 0,1m -3000 -> invalid |
- | |
15 | } |
19 | } |
16 | 20 | ||
17 | u8 NCParams_SetValue(u8 id, s16* pvalue) |
21 | u8 NCParams_SetValue(u8 id, s16* pvalue) |
18 | { |
22 | { |
19 | NCParams[id] = *pvalue; |
23 | NCParams[id] = *pvalue; |
- | 24 | NCParamState[id] = NCRARAM_STATE_VALID; |
|
20 | 25 | ||
21 | switch(id) |
26 | switch(id) |
22 | { |
27 | { |
23 | case NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT: |
28 | case NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT: |
24 | if(NULL == PointList_GetPOI()) |
29 | if(NULL == PointList_GetPOI()) |
25 | { |
30 | { |
26 | CAM_Orientation.Azimuth = *pvalue; |
31 | CAM_Orientation.Azimuth = *pvalue; |
27 | CAM_Orientation.Elevation = 0; |
32 | CAM_Orientation.Elevation = 0; |
28 | CAM_Orientation.UpdateMask = CAM_UPDATE_AZIMUTH; |
33 | CAM_Orientation.UpdateMask = CAM_UPDATE_AZIMUTH; |
29 | } |
34 | } |
30 | break; |
35 | break; |
31 | 36 | ||
32 | default: |
37 | default: |
33 | break; |
38 | break; |
34 | } |
39 | } |
35 | return 1; |
40 | return NCParamState[id]; |
36 | } |
41 | } |
37 | 42 | ||
38 | u8 NCParams_GetValue(u8 id, s16* pvalue) |
43 | u8 NCParams_GetValue(u8 id, s16* pvalue) |
39 | { |
44 | { |
40 | if(pvalue == 0) return 0; |
45 | if(pvalue == 0) return 0; |
- | 46 | if(NCParamState[id] == NCRARAM_STATE_VALID) |
|
- | 47 | { |
|
41 | *pvalue = NCParams[id]; |
48 | *pvalue = NCParams[id]; |
- | 49 | } |
|
42 | return 1; |
50 | return NCParamState[id]; |
43 | } |
51 | } |
44 | 52 |