Subversion Repositories NaviCtrl

Rev

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