Skip to content

Commit

Permalink
Merge branch 'MobiFlight:main' into Fast_IO
Browse files Browse the repository at this point in the history
  • Loading branch information
elral authored Jan 6, 2025
2 parents 83fd098 + 0161ebd commit e8c7889
Show file tree
Hide file tree
Showing 13 changed files with 30 additions and 18 deletions.
2 changes: 1 addition & 1 deletion _Boards/Atmel/Board_Mega/arduino_mega.board.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"DelayAfterFirmwareUpdate": 0,
"FirmwareBaseName": "mobiflight_mega",
"FirmwareExtension": "hex",
"LatestFirmwareVersion": "2.5.2",
"LatestFirmwareVersion": "3.0.0",
"FriendlyName": "Arduino Mega 2560",
"MobiFlightType": "MobiFlight Mega",
"ResetFirmwareFile": "reset.arduino_mega_1_0_2.hex"
Expand Down
4 changes: 2 additions & 2 deletions _Boards/Atmel/Board_Nano/arduino_nano.board.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"EEPROMSize": 286,
"ExtraConnectionRetry": true,
"ForceResetOnFirmwareUpdate": false,
"MessageSize": 64,
"MessageSize": 90,
"TimeoutForFirmwareUpdate": 60000
},
"HardwareIds": [
Expand All @@ -33,7 +33,7 @@
"FirmwareBaseName": "mobiflight_nano",
"FirmwareExtension": "hex",
"FriendlyName": "Arduino Nano",
"LatestFirmwareVersion": "2.5.2",
"LatestFirmwareVersion": "3.0.0",
"MobiFlightType": "MobiFlight Nano",
"ResetFirmwareFile": "reset.arduino_uno_1_0_2.hex"
},
Expand Down
4 changes: 2 additions & 2 deletions _Boards/Atmel/Board_ProMicro/arduino_micro.board.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"EEPROMSize": 440,
"ExtraConnectionRetry": false,
"ForceResetOnFirmwareUpdate": true,
"MessageSize": 64
"MessageSize": 90
},
"HardwareIds": [
"^VID_1B4F&PID_9206",
Expand All @@ -27,7 +27,7 @@
"FirmwareBaseName": "mobiflight_micro",
"FirmwareExtension": "hex",
"FriendlyName": "Arduino Pro Micro",
"LatestFirmwareVersion": "2.5.2",
"LatestFirmwareVersion": "3.0.0",
"MobiFlightType": "MobiFlight Micro",
"ResetFirmwareFile": "reset.arduino_promicro_1_0_2.hex"
},
Expand Down
4 changes: 2 additions & 2 deletions _Boards/Atmel/Board_Uno/arduino_uno.board.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"EEPROMSize": 286,
"ExtraConnectionRetry": true,
"ForceResetOnFirmwareUpdate": false,
"MessageSize": 64
"MessageSize": 90
},
"HardwareIds": [
"^VID_10C4&PID_EA60",
Expand All @@ -32,7 +32,7 @@
"FriendlyName": "Arduino Uno",
"FirmwareBaseName": "mobiflight_uno",
"FirmwareExtension": "hex",
"LatestFirmwareVersion": "2.5.2",
"LatestFirmwareVersion": "3.0.0",
"MobiFlightType": "MobiFlight Uno",
"ResetFirmwareFile": "reset.arduino_uno_1_0_2.hex"
},
Expand Down
4 changes: 2 additions & 2 deletions _Boards/RaspberryPi/Pico/raspberrypi_pico.board.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"EEPROMSize": 1496,
"ExtraConnectionRetry": false,
"ForceResetOnFirmwareUpdate": true,
"MessageSize": 64
"MessageSize": 90
},
"HardwareIds": ["^VID_2E8A&PID_000A"],
"Info": {
Expand All @@ -20,7 +20,7 @@
"FirmwareBaseName": "mobiflight_raspberrypico",
"FirmwareExtension": "uf2",
"FriendlyName": "Raspberry Pico",
"LatestFirmwareVersion": "2.5.2",
"LatestFirmwareVersion": "3.0.0",
"MobiFlightType": "MobiFlight RaspiPico",
"ResetFirmwareFile": "reset.raspberry_pico_flash_nuke.uf2"
},
Expand Down
7 changes: 7 additions & 0 deletions src/Config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ uint16_t configLengthEEPROM = 0;
boolean configActivated = false;
uint16_t pNameBuffer = 0; // pointer for nameBuffer during reading of config
const uint16_t configLengthFlash = sizeof(CustomDeviceConfig);
bool boardReady = false;

void resetConfig();
void readConfig();
Expand All @@ -94,6 +95,11 @@ bool configStoredInEEPROM()
return configLengthEEPROM > 0;
}

bool getBoardReady()
{
return boardReady;
}

// ************************************************************
// configBuffer handling
// ************************************************************
Expand Down Expand Up @@ -605,6 +611,7 @@ void OnGetConfig()
}
}
cmdMessenger.sendCmdEnd();
boardReady = true;
}

void OnGetInfo()
Expand Down
2 changes: 2 additions & 0 deletions src/MF_Analog/Analog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ namespace Analog

void handlerOnAnalogChange(int value, const char *name)
{
if (!getBoardReady())
return;
cmdMessenger.sendCmdStart(kAnalogChange);
cmdMessenger.sendCmdArg(name);
cmdMessenger.sendCmdArg(value);
Expand Down
2 changes: 2 additions & 0 deletions src/MF_Button/Button.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ namespace Button

void handlerButtonOnChange(uint8_t eventId, const char *name)
{
if (!getBoardReady())
return;
cmdMessenger.sendCmdStart(kButtonChange);
cmdMessenger.sendCmdArg(name);
cmdMessenger.sendCmdArg(eventId);
Expand Down
2 changes: 2 additions & 0 deletions src/MF_DigInMux/DigInMux.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ namespace DigInMux

void handlerOnDigInMux(uint8_t eventId, uint8_t channel, const char *name)
{
if (!getBoardReady())
return;
cmdMessenger.sendCmdStart(kDigInMuxChange);
cmdMessenger.sendCmdArg(name);
cmdMessenger.sendCmdArg(channel);
Expand Down
2 changes: 2 additions & 0 deletions src/MF_Encoder/Encoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ namespace Encoder

void handlerOnEncoder(uint8_t eventId, const char *name)
{
if (!getBoardReady())
return;
cmdMessenger.sendCmdStart(kEncoderChange);
cmdMessenger.sendCmdArg(name);
cmdMessenger.sendCmdArg(eventId);
Expand Down
2 changes: 2 additions & 0 deletions src/MF_InputShifter/InputShifter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ namespace InputShifter

void handlerInputShifterOnChange(uint8_t eventId, uint8_t pin, const char *name)
{
if (!getBoardReady())
return;
cmdMessenger.sendCmdStart(kInputShifterChange);
cmdMessenger.sendCmdArg(name);
cmdMessenger.sendCmdArg(pin);
Expand Down
12 changes: 3 additions & 9 deletions src/MF_Output/Output.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,10 @@ namespace Output
void OnSet()
{
// Read led state argument, interpret string as boolean
int pin = cmdMessenger.readInt16Arg();
int output = cmdMessenger.readInt16Arg();
int state = cmdMessenger.readInt16Arg();

// Set led
if (state == 0xFF)
digitalWrite(pin, MF_HIGH);
else if (state == 0x00)
digitalWrite(pin, MF_LOW);
else
analogWrite(pin, state);

outputs[output].set(state);
}

void PowerSave(bool state)
Expand Down
1 change: 1 addition & 0 deletions src/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,6 @@ void OnGetInfo(void);
void OnGenNewSerial(void);
void OnSetName(void);
void restoreName(void);
bool getBoardReady();

// config.h

0 comments on commit e8c7889

Please sign in to comment.