Rev 295 | Rev 299 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 295 | Rev 298 | ||
---|---|---|---|
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 | u8 NCParamState[255]; |
8 | 8 | ||
9 | void NCParams_Init(void) |
9 | void NCParams_Init(void) |
10 | { |
10 | { |
11 | u16 i; |
11 | u16 i; |
12 | for(i=0; i<256; i++) |
12 | for(i=0; i<256; i++) |
13 | { |
13 | { |
14 | NCParamState[i] = NCPARAM_STATE_UNDEFINED; |
14 | NCParamState[i] = NCPARAM_STATE_UNDEFINED; |
- | 15 | NCParams[i] = 0; |
|
15 | } |
16 | } |
16 | NCParams[NCPARAMS_GPS_TARGETSPEED] = 50; // 5.0 m/s |
17 | NCParams[NCPARAMS_GPS_TARGETSPEED] = 50; // 5.0 m/s |
17 | NCParams[NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT] = -1; |
18 | NCParams[NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT] = -1; |
18 | NCParams[NCPARAMS_ALTITUDE_RATE] = -1; |
19 | NCParams[NCPARAMS_ALTITUDE_RATE] = 0; |
19 | } |
20 | } |
20 | 21 | ||
21 | u8 NCParams_SetValue(u8 id, s16* pvalue) |
22 | u8 NCParams_SetValue(u8 id, s16 *pvalue) |
22 | { |
23 | { |
23 | NCParams[id] = *pvalue; |
24 | NCParams[id] = *pvalue; |
24 | NCParamState[id] = NCRARAM_STATE_VALID; |
25 | NCParamState[id] = NCRARAM_STATE_VALID; |
25 | 26 | ||
26 | switch(id) |
27 | switch(id) |
27 | { |
28 | { |
28 | case NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT: |
29 | case NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT: |
29 | if(NULL == PointList_GetPOI()) |
30 | if(NULL == PointList_GetPOI()) |
30 | { |
31 | { |
31 | CAM_Orientation.Azimuth = *pvalue; |
32 | CAM_Orientation.Azimuth = *pvalue; |
32 | CAM_Orientation.Elevation = 0; |
33 | CAM_Orientation.Elevation = 0; |
33 | CAM_Orientation.UpdateMask = CAM_UPDATE_AZIMUTH; |
34 | CAM_Orientation.UpdateMask = CAM_UPDATE_AZIMUTH; |
34 | } |
35 | } |
35 | break; |
36 | break; |
36 | 37 | ||
37 | default: |
38 | default: |
38 | break; |
39 | break; |
39 | } |
40 | } |
40 | return NCParamState[id]; |
41 | return(NCParamState[id]); |
41 | } |
42 | } |
- | 43 | ||
- | 44 | void NCParams_ClearValue(u8 id) |
|
- | 45 | { |
|
- | 46 | NCParamState[id] = NCPARAM_STATE_UNDEFINED; |
|
- | 47 | } |
|
- | 48 | ||
42 | 49 | ||
43 | u8 NCParams_GetValue(u8 id, s16* pvalue) |
50 | u8 NCParams_GetValue(u8 id, s16 *pvalue) |
44 | { |
51 | { |
45 | if(pvalue == 0) return 0; |
52 | if(pvalue == 0) return 0; |
46 | if(NCParamState[id] == NCRARAM_STATE_VALID) |
53 | if(NCParamState[id] == NCRARAM_STATE_VALID) |
47 | { |
54 | { |
48 | *pvalue = NCParams[id]; |
55 | *pvalue = NCParams[id]; |
49 | } |
56 | } |
50 | return NCParamState[id]; |
57 | return(NCParamState[id]); |
- | 58 | } |
|
- | 59 | ||
- | 60 | s16 NCParams_GetValue_NoCheck(u8 id) |
|
- | 61 | { |
|
- | 62 | return(NCParams[id]); |
|
51 | } |
63 | } |
52 | 64 |