mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-26 09:45:33 +03:00
Update temperature related MSP messages (#4449)
This commit is contained in:
parent
21bcd50b52
commit
04bd5b0b11
5 changed files with 15 additions and 11 deletions
|
@ -210,4 +210,8 @@
|
||||||
|
|
||||||
#define SYM_CURSOR SYM_AH_LEFT // Menu cursor
|
#define SYM_CURSOR SYM_AH_LEFT // Menu cursor
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define TEMP_SENSOR_SYM_COUNT 0
|
||||||
|
|
||||||
#endif // USE_MAX7456
|
#endif // USE_MAX7456
|
||||||
|
|
|
@ -119,10 +119,6 @@ extern uint8_t __config_end;
|
||||||
#define PLAY_SOUND
|
#define PLAY_SOUND
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef USE_MAX7456
|
|
||||||
#define TEMP_SENSOR_SYM_COUNT 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern timeDelta_t cycleTime; // FIXME dependency on mw.c
|
extern timeDelta_t cycleTime; // FIXME dependency on mw.c
|
||||||
extern uint8_t detectedSensors[SENSOR_INDEX_COUNT];
|
extern uint8_t detectedSensors[SENSOR_INDEX_COUNT];
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include "drivers/bus_i2c.h"
|
#include "drivers/bus_i2c.h"
|
||||||
#include "drivers/compass/compass.h"
|
#include "drivers/compass/compass.h"
|
||||||
#include "drivers/max7456.h"
|
#include "drivers/max7456.h"
|
||||||
|
#include "drivers/max7456_symbols.h"
|
||||||
#include "drivers/pwm_mapping.h"
|
#include "drivers/pwm_mapping.h"
|
||||||
#include "drivers/sdcard.h"
|
#include "drivers/sdcard.h"
|
||||||
#include "drivers/serial.h"
|
#include "drivers/serial.h"
|
||||||
|
@ -1442,10 +1443,11 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
sbufWriteU8(dst, sensorConfig->type);
|
sbufWriteU8(dst, sensorConfig->type);
|
||||||
for (uint8_t addrIndex; addrIndex < 8; ++addrIndex)
|
for (uint8_t addrIndex; addrIndex < 8; ++addrIndex)
|
||||||
sbufWriteU8(dst, ((uint8_t *)&sensorConfig->address)[addrIndex]);
|
sbufWriteU8(dst, ((uint8_t *)&sensorConfig->address)[addrIndex]);
|
||||||
for (uint8_t labelIndex; labelIndex < 4; ++labelIndex)
|
|
||||||
sbufWriteU8(dst, sensorConfig->label[labelIndex]);
|
|
||||||
sbufWriteU16(dst, sensorConfig->alarm_min);
|
sbufWriteU16(dst, sensorConfig->alarm_min);
|
||||||
sbufWriteU16(dst, sensorConfig->alarm_max);
|
sbufWriteU16(dst, sensorConfig->alarm_max);
|
||||||
|
sbufWriteU8(dst, sensorConfig->osdSymbol);
|
||||||
|
for (uint8_t labelIndex; labelIndex < 4; ++labelIndex)
|
||||||
|
sbufWriteU8(dst, sensorConfig->label[labelIndex]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -2761,10 +2763,12 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
sensorConfig->type = sbufReadU8(src);
|
sensorConfig->type = sbufReadU8(src);
|
||||||
for (uint8_t addrIndex; addrIndex < 8; ++addrIndex)
|
for (uint8_t addrIndex; addrIndex < 8; ++addrIndex)
|
||||||
((uint8_t *)&sensorConfig->address)[addrIndex] = sbufReadU8(src);
|
((uint8_t *)&sensorConfig->address)[addrIndex] = sbufReadU8(src);
|
||||||
for (uint8_t labelIndex; labelIndex < 4; ++labelIndex)
|
|
||||||
sensorConfig->label[labelIndex] = toupper(sbufReadU8(src));
|
|
||||||
sensorConfig->alarm_min = sbufReadU16(src);
|
sensorConfig->alarm_min = sbufReadU16(src);
|
||||||
sensorConfig->alarm_max = sbufReadU16(src);
|
sensorConfig->alarm_max = sbufReadU16(src);
|
||||||
|
tmp_u8 = sbufReadU8(src);
|
||||||
|
sensorConfig->osdSymbol = tmp_u8 > TEMP_SENSOR_SYM_COUNT ? 0 : tmp_u8;
|
||||||
|
for (uint8_t labelIndex; labelIndex < 4; ++labelIndex)
|
||||||
|
sensorConfig->label[labelIndex] = toupper(sbufReadU8(src));
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
return MSP_RESULT_ERROR;
|
return MSP_RESULT_ERROR;
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
#include "scheduler/protothreads.h"
|
#include "scheduler/protothreads.h"
|
||||||
|
|
||||||
|
|
||||||
PG_REGISTER_ARRAY(tempSensorConfig_t, MAX_TEMP_SENSORS, tempSensorConfig, PG_TEMP_SENSOR_CONFIG, 1);
|
PG_REGISTER_ARRAY(tempSensorConfig_t, MAX_TEMP_SENSORS, tempSensorConfig, PG_TEMP_SENSOR_CONFIG, 2);
|
||||||
|
|
||||||
#define MPU_TEMP_VALID_BIT 0
|
#define MPU_TEMP_VALID_BIT 0
|
||||||
#define BARO_TEMP_VALID_BIT 1
|
#define BARO_TEMP_VALID_BIT 1
|
||||||
|
|
|
@ -33,10 +33,10 @@ typedef enum {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tempSensorType_e type;
|
tempSensorType_e type;
|
||||||
uint64_t address;
|
uint64_t address;
|
||||||
uint8_t osdSymbol;
|
|
||||||
char label[TEMPERATURE_LABEL_LEN];
|
|
||||||
int16_t alarm_min;
|
int16_t alarm_min;
|
||||||
int16_t alarm_max;
|
int16_t alarm_max;
|
||||||
|
uint8_t osdSymbol;
|
||||||
|
char label[TEMPERATURE_LABEL_LEN];
|
||||||
} tempSensorConfig_t;
|
} tempSensorConfig_t;
|
||||||
|
|
||||||
PG_DECLARE_ARRAY(tempSensorConfig_t, MAX_TEMP_SENSORS, tempSensorConfig);
|
PG_DECLARE_ARRAY(tempSensorConfig_t, MAX_TEMP_SENSORS, tempSensorConfig);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue