Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 297 → Rev 298

/trunk/main.h
7,7 → 7,7
 
#define VERSION_MAJOR 0
#define VERSION_MINOR 23
#define VERSION_PATCH 12
#define VERSION_PATCH 14
// 0 = A
// 1 = B
// 2 = C
21,6 → 21,8
// 10 = k
// 11 = L
// 12 = M
// 13 = N
// 14 = o
 
#define VERSION_SERIAL_MAJOR 11
#define VERSION_SERIAL_MINOR 0
/trunk/params.c
12,13 → 12,14
for(i=0; i<256; i++)
{
NCParamState[i] = NCPARAM_STATE_UNDEFINED;
NCParams[i] = 0;
}
NCParams[NCPARAMS_GPS_TARGETSPEED] = 50; // 5.0 m/s
NCParams[NCPARAMS_NEW_COMPASS_DIRECTION_SETPOINT] = -1;
NCParams[NCPARAMS_ALTITUDE_RATE] = -1;
NCParams[NCPARAMS_ALTITUDE_RATE] = 0;
}
 
u8 NCParams_SetValue(u8 id, s16* pvalue)
u8 NCParams_SetValue(u8 id, s16 *pvalue)
{
NCParams[id] = *pvalue;
NCParamState[id] = NCRARAM_STATE_VALID;
37,15 → 38,26
default:
break;
}
return NCParamState[id];
return(NCParamState[id]);
}
 
u8 NCParams_GetValue(u8 id, s16* pvalue)
void NCParams_ClearValue(u8 id)
{
NCParamState[id] = NCPARAM_STATE_UNDEFINED;
}
 
 
u8 NCParams_GetValue(u8 id, s16 *pvalue)
{
if(pvalue == 0) return 0;
if(NCParamState[id] == NCRARAM_STATE_VALID)
{
*pvalue = NCParams[id];
}
return NCParamState[id];
return(NCParamState[id]);
}
 
s16 NCParams_GetValue_NoCheck(u8 id)
{
return(NCParams[id]);
}
/trunk/params.h
12,7 → 12,9
#define NCRARAM_STATE_VALID 1
 
extern void NCParams_Init();
extern u8 NCParams_SetValue(u8 id, s16* pvalue);
extern u8 NCParams_GetValue(u8 id, s16* pvalue);
extern u8 NCParams_SetValue(u8 id, s16 *pvalue);
extern u8 NCParams_GetValue(u8 id, s16 *pvalue);
extern void NCParams_ClearValue(u8 id);
extern s16 NCParams_GetValue_NoCheck(u8 id);
 
#endif // _PARAMS_H
/trunk/spi_slave.c
105,6 → 105,7
s16 FC_WP_EventChannel = 0; // gibt einen Schaltkanal an die FC weiter, wenn der Wegpunkt erreicht wurde
u32 ToFC_AltitudeRate = 0;
s32 ToFC_AltitudeSetpoint = 0;
u8 FromFC_VarioCharacter = ' ';
 
SPI_Version_t FC_Version;
 
341,18 → 342,21
ToFlightCtrl.Param.Byte[8] = (s8)(FC_WP_EventChannel - 110);
{
s16 tmp;
if(NCRARAM_STATE_VALID == NCParams_GetValue(NCPARAMS_ALTITUDE_RATE, &tmp))
// if(NCRARAM_STATE_VALID == NCParams_GetValue(NCPARAMS_ALTITUDE_RATE, &tmp))
if(NCRARAM_STATE_VALID == NCParams_GetValue(3, &tmp))
{
ToFlightCtrl.Param.Byte[9] = (u8)tmp;
}
else
{
ToFlightCtrl.Param.Byte[9] = (u8)ToFC_AltitudeRate;
ToFlightCtrl.Param.Byte[9] = (u8) ToFC_AltitudeRate;
}
if(NCRARAM_STATE_VALID != NCParams_GetValue(NCPARAMS_ALTITUDE_SETPOINT, &(ToFlightCtrl.Param.sInt[5])))
{
ToFlightCtrl.Param.sInt[5] = (s16) ToFC_AltitudeSetpoint;
}
DebugOut.Analog[25] = (s16)ToFlightCtrl.Param.Byte[9];
DebugOut.Analog[20] = ToFlightCtrl.Param.sInt[5];
}
break;
default:
406,6 → 410,12
FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[1];
FC.BAT_Voltage = FromFlightCtrl.Param.Byte[4];
Parameter.LowVoltageWarning = FromFlightCtrl.Param.Byte[5];
FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[6];
if(FromFC_VarioCharacter == '+' || FromFC_VarioCharacter == '-') // manual setpoint clears the NC-Parameter command
{
NCParams_ClearValue(NCPARAMS_ALTITUDE_RATE);
}
 
NaviData.UBat = FC.BAT_Voltage;
NaviData.Current = FC.BAT_Current;
NaviData.UsedCapacity = FC.BAT_UsedCapacity;
/trunk/uart1.c
632,8 → 632,9
 
if(UART1_Request_Parameter && (UART1_tx_buffer.Locked == FALSE))
{
s16 ParamValue;
NCParams_GetValue(UART1_Request_ParameterId, &ParamValue);
s16 ParamValue;
ParamValue = NCParams_GetValue_NoCheck(UART1_Request_ParameterId);
//NCParams_GetValue(UART1_Request_ParameterId, &ParamValue);
//sprintf(text, "\r\nId=%d, value = %d\r\n", UART1_Request_ParameterId, ParamValue);
//UART1_PutString(text);
MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'J', NC_ADDRESS, 2, &UART1_Request_ParameterId, sizeof(UART1_Request_ParameterId), &ParamValue, sizeof(ParamValue)); // answer the param request