mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-16 12:55:19 +03:00
Merge pull request #6623 from mikeller/remove_osd_slave
Removed OSD_SLAVE defines.
This commit is contained in:
commit
fc60cc27e9
9 changed files with 23 additions and 216 deletions
|
@ -142,8 +142,6 @@ enum {
|
|||
|
||||
static uint8_t rebootMode;
|
||||
|
||||
#ifndef USE_OSD_SLAVE
|
||||
|
||||
typedef enum {
|
||||
MSP_SDCARD_STATE_NOT_PRESENT = 0,
|
||||
MSP_SDCARD_STATE_FATAL = 1,
|
||||
|
@ -162,7 +160,6 @@ typedef enum {
|
|||
} mspFlashFsFlags_e;
|
||||
|
||||
#define RATEPROFILE_MASK (1 << 7)
|
||||
#endif //USE_OSD_SLAVE
|
||||
|
||||
#define RTC_NOT_SUPPORTED 0xff
|
||||
|
||||
|
@ -242,9 +239,7 @@ static void mspRebootFn(serialPort_t *serialPort)
|
|||
{
|
||||
UNUSED(serialPort);
|
||||
|
||||
#ifndef USE_OSD_SLAVE
|
||||
stopPwmAllMotors();
|
||||
#endif
|
||||
|
||||
switch (rebootMode) {
|
||||
case MSP_REBOOT_FIRMWARE:
|
||||
|
@ -270,7 +265,6 @@ static void mspRebootFn(serialPort_t *serialPort)
|
|||
while (true) ;
|
||||
}
|
||||
|
||||
#ifndef USE_OSD_SLAVE
|
||||
static void serializeSDCardSummaryReply(sbuf_t *dst)
|
||||
{
|
||||
#ifdef USE_SDCARD
|
||||
|
@ -434,7 +428,6 @@ static void serializeDataflashReadReply(sbuf_t *dst, uint32_t address, const uin
|
|||
}
|
||||
}
|
||||
#endif // USE_FLASHFS
|
||||
#endif // USE_OSD_SLAVE
|
||||
|
||||
/*
|
||||
* Returns true if the command was processd, false otherwise.
|
||||
|
@ -469,14 +462,10 @@ static bool mspCommonProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProce
|
|||
#else
|
||||
sbufWriteU16(dst, 0); // No other build targets currently have hardware revision detection.
|
||||
#endif
|
||||
#ifdef USE_OSD_SLAVE
|
||||
sbufWriteU8(dst, 1); // 1 == OSD
|
||||
#else
|
||||
#if defined(USE_OSD) && defined(USE_MAX7456)
|
||||
sbufWriteU8(dst, 2); // 2 == FC with OSD
|
||||
#else
|
||||
sbufWriteU8(dst, 0); // 0 == FC
|
||||
#endif
|
||||
#endif
|
||||
// Board communication capabilities (uint8)
|
||||
// Bit 0: 1 iff the board has VCP
|
||||
|
@ -523,11 +512,7 @@ static bool mspCommonProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProce
|
|||
case MSP_ANALOG:
|
||||
sbufWriteU8(dst, (uint8_t)constrain(getBatteryVoltage(), 0, 255));
|
||||
sbufWriteU16(dst, (uint16_t)constrain(getMAhDrawn(), 0, 0xFFFF)); // milliamp hours drawn from battery
|
||||
#ifdef USE_OSD_SLAVE
|
||||
sbufWriteU16(dst, 0); // rssi
|
||||
#else
|
||||
sbufWriteU16(dst, getRssi());
|
||||
#endif
|
||||
sbufWriteU16(dst, (int16_t)constrain(getAmperage(), -0x8000, 0x7FFF)); // send current in 0.01 A steps, range is -320A to 320A
|
||||
break;
|
||||
|
||||
|
@ -699,7 +684,7 @@ static bool mspCommonProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProce
|
|||
|
||||
case MSP_OSD_CONFIG: {
|
||||
#define OSD_FLAGS_OSD_FEATURE (1 << 0)
|
||||
#define OSD_FLAGS_OSD_SLAVE (1 << 1)
|
||||
//#define OSD_FLAGS_OSD_SLAVE (1 << 1)
|
||||
#define OSD_FLAGS_RESERVED_1 (1 << 2)
|
||||
#define OSD_FLAGS_RESERVED_2 (1 << 3)
|
||||
#define OSD_FLAGS_OSD_HARDWARE_MAX_7456 (1 << 4)
|
||||
|
@ -708,9 +693,6 @@ static bool mspCommonProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProce
|
|||
#if defined(USE_OSD)
|
||||
osdFlags |= OSD_FLAGS_OSD_FEATURE;
|
||||
#endif
|
||||
#if defined(USE_OSD_SLAVE)
|
||||
osdFlags |= OSD_FLAGS_OSD_SLAVE;
|
||||
#endif
|
||||
#ifdef USE_MAX7456
|
||||
osdFlags |= OSD_FLAGS_OSD_HARDWARE_MAX_7456;
|
||||
#endif
|
||||
|
@ -769,38 +751,6 @@ static bool mspCommonProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProce
|
|||
return true;
|
||||
}
|
||||
|
||||
#ifdef USE_OSD_SLAVE
|
||||
static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
|
||||
{
|
||||
switch (cmdMSP) {
|
||||
case MSP_STATUS_EX:
|
||||
case MSP_STATUS:
|
||||
sbufWriteU16(dst, getTaskDeltaTime(TASK_SERIAL));
|
||||
#ifdef USE_I2C
|
||||
sbufWriteU16(dst, i2cGetErrorCounter());
|
||||
#else
|
||||
sbufWriteU16(dst, 0);
|
||||
#endif
|
||||
sbufWriteU16(dst, 0); // sensors
|
||||
sbufWriteU32(dst, 0); // flight modes
|
||||
sbufWriteU8(dst, 0); // profile
|
||||
sbufWriteU16(dst, constrain(averageSystemLoadPercent, 0, 100));
|
||||
if (cmdMSP == MSP_STATUS_EX) {
|
||||
sbufWriteU8(dst, 1); // max profiles
|
||||
sbufWriteU8(dst, 0); // control rate profile
|
||||
} else {
|
||||
sbufWriteU16(dst, 0); // gyro cycle time
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
|
||||
{
|
||||
bool unsupportedCommand = false;
|
||||
|
@ -1435,16 +1385,11 @@ static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
|
|||
}
|
||||
return !unsupportedCommand;
|
||||
}
|
||||
#endif // USE_OSD_SLAVE
|
||||
|
||||
static mspResult_e mspFcProcessOutCommandWithArg(uint8_t cmdMSP, sbuf_t *src, sbuf_t *dst, mspPostProcessFnPtr *mspPostProcessFn)
|
||||
{
|
||||
#if defined(USE_OSD_SLAVE)
|
||||
UNUSED(dst);
|
||||
#endif
|
||||
|
||||
switch (cmdMSP) {
|
||||
#if !defined(USE_OSD_SLAVE)
|
||||
case MSP_BOXNAMES:
|
||||
{
|
||||
const int page = sbufBytesRemaining(src) ? sbufReadU8(src) : 0;
|
||||
|
@ -1457,7 +1402,6 @@ static mspResult_e mspFcProcessOutCommandWithArg(uint8_t cmdMSP, sbuf_t *src, sb
|
|||
serializeBoxReply(dst, page, &serializeBoxPermanentIdFn);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case MSP_REBOOT:
|
||||
if (sbufBytesRemaining(src)) {
|
||||
rebootMode = sbufReadU8(src);
|
||||
|
@ -1555,34 +1499,6 @@ static void mspFcDataFlashReadCommand(sbuf_t *dst, sbuf_t *src)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef USE_OSD_SLAVE
|
||||
static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
|
||||
{
|
||||
UNUSED(cmdMSP);
|
||||
UNUSED(src);
|
||||
|
||||
switch(cmdMSP) {
|
||||
case MSP_RESET_CONF:
|
||||
resetEEPROM();
|
||||
readEEPROM();
|
||||
break;
|
||||
case MSP_EEPROM_WRITE:
|
||||
if (featureMaskIsCopied) {
|
||||
writeEEPROMWithFeatures(featureMaskCopy);
|
||||
} else {
|
||||
writeEEPROM();
|
||||
}
|
||||
readEEPROM();
|
||||
break;
|
||||
default:
|
||||
// we do not know how to handle the (valid) message, indicate error MSP $M!
|
||||
return MSP_RESULT_ERROR;
|
||||
}
|
||||
return MSP_RESULT_ACK;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
|
||||
{
|
||||
uint32_t i;
|
||||
|
@ -2401,7 +2317,6 @@ static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
|
|||
}
|
||||
return MSP_RESULT_ACK;
|
||||
}
|
||||
#endif // USE_OSD_SLAVE
|
||||
|
||||
static mspResult_e mspCommonProcessInCommand(uint8_t cmdMSP, sbuf_t *src, mspPostProcessFnPtr *mspPostProcessFn)
|
||||
{
|
||||
|
@ -2505,7 +2420,7 @@ static mspResult_e mspCommonProcessInCommand(uint8_t cmdMSP, sbuf_t *src, mspPos
|
|||
batteryConfigMutable()->currentMeterSource = sbufReadU8(src);
|
||||
break;
|
||||
|
||||
#if defined(USE_OSD) || defined (USE_OSD_SLAVE)
|
||||
#if defined(USE_OSD)
|
||||
case MSP_SET_OSD_CONFIG:
|
||||
{
|
||||
const uint8_t addr = sbufReadU8(src);
|
||||
|
@ -2579,7 +2494,7 @@ static mspResult_e mspCommonProcessInCommand(uint8_t cmdMSP, sbuf_t *src, mspPos
|
|||
#else
|
||||
return MSP_RESULT_ERROR;
|
||||
#endif
|
||||
#endif // OSD || USE_OSD_SLAVE
|
||||
#endif // OSD
|
||||
|
||||
default:
|
||||
return mspProcessInCommand(cmdMSP, src);
|
||||
|
@ -2628,7 +2543,6 @@ void mspFcProcessReply(mspPacket_t *reply)
|
|||
UNUSED(src); // potentially unused depending on compile options.
|
||||
|
||||
switch (reply->cmd) {
|
||||
#ifndef OSD_SLAVE
|
||||
case MSP_ANALOG:
|
||||
{
|
||||
uint8_t batteryVoltage = sbufReadU8(src);
|
||||
|
@ -2646,50 +2560,10 @@ void mspFcProcessReply(mspPacket_t *reply)
|
|||
#endif
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
#ifdef USE_OSD_SLAVE
|
||||
case MSP_DISPLAYPORT:
|
||||
{
|
||||
osdSlaveIsLocked = true; // lock it as soon as a MSP_DISPLAYPORT message is received to prevent accidental CLI/DFU mode.
|
||||
|
||||
const int subCmd = sbufReadU8(src);
|
||||
|
||||
switch (subCmd) {
|
||||
case 0: // HEARTBEAT
|
||||
osdSlaveHeartbeat();
|
||||
break;
|
||||
case 1: // RELEASE
|
||||
break;
|
||||
case 2: // CLEAR
|
||||
osdSlaveClearScreen();
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
#define MSP_OSD_MAX_STRING_LENGTH 30 // FIXME move this
|
||||
const uint8_t y = sbufReadU8(src); // row
|
||||
const uint8_t x = sbufReadU8(src); // column
|
||||
sbufReadU8(src); // reserved
|
||||
char buf[MSP_OSD_MAX_STRING_LENGTH + 1];
|
||||
const int len = MIN(sbufBytesRemaining(src), MSP_OSD_MAX_STRING_LENGTH);
|
||||
sbufReadData(src, &buf, len);
|
||||
buf[len] = 0;
|
||||
osdSlaveWrite(x, y, buf);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
osdSlaveDrawScreen();
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void mspInit(void)
|
||||
{
|
||||
#ifndef USE_OSD_SLAVE
|
||||
initActiveBoxIds();
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue