mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-26 17:55:28 +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
|
||||
|
||||
#else
|
||||
|
||||
#define TEMP_SENSOR_SYM_COUNT 0
|
||||
|
||||
#endif // USE_MAX7456
|
||||
|
|
|
@ -119,10 +119,6 @@ extern uint8_t __config_end;
|
|||
#define PLAY_SOUND
|
||||
#endif
|
||||
|
||||
#ifndef USE_MAX7456
|
||||
#define TEMP_SENSOR_SYM_COUNT 0
|
||||
#endif
|
||||
|
||||
extern timeDelta_t cycleTime; // FIXME dependency on mw.c
|
||||
extern uint8_t detectedSensors[SENSOR_INDEX_COUNT];
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include "drivers/bus_i2c.h"
|
||||
#include "drivers/compass/compass.h"
|
||||
#include "drivers/max7456.h"
|
||||
#include "drivers/max7456_symbols.h"
|
||||
#include "drivers/pwm_mapping.h"
|
||||
#include "drivers/sdcard.h"
|
||||
#include "drivers/serial.h"
|
||||
|
@ -1442,10 +1443,11 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
|||
sbufWriteU8(dst, sensorConfig->type);
|
||||
for (uint8_t addrIndex; addrIndex < 8; ++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_max);
|
||||
sbufWriteU8(dst, sensorConfig->osdSymbol);
|
||||
for (uint8_t labelIndex; labelIndex < 4; ++labelIndex)
|
||||
sbufWriteU8(dst, sensorConfig->label[labelIndex]);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
@ -2761,10 +2763,12 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
|||
sensorConfig->type = sbufReadU8(src);
|
||||
for (uint8_t addrIndex; addrIndex < 8; ++addrIndex)
|
||||
((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_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
|
||||
return MSP_RESULT_ERROR;
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
#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 BARO_TEMP_VALID_BIT 1
|
||||
|
|
|
@ -33,10 +33,10 @@ typedef enum {
|
|||
typedef struct {
|
||||
tempSensorType_e type;
|
||||
uint64_t address;
|
||||
uint8_t osdSymbol;
|
||||
char label[TEMPERATURE_LABEL_LEN];
|
||||
int16_t alarm_min;
|
||||
int16_t alarm_max;
|
||||
uint8_t osdSymbol;
|
||||
char label[TEMPERATURE_LABEL_LEN];
|
||||
} tempSensorConfig_t;
|
||||
|
||||
PG_DECLARE_ARRAY(tempSensorConfig_t, MAX_TEMP_SENSORS, tempSensorConfig);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue