From bc2555b4b1283ece728e42d1a9d90b512a3b5f0c Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Thu, 31 Oct 2024 06:50:54 +0100 Subject: [PATCH 1/8] first clean up --- src/CommandMessenger.cpp | 4 ++-- src/Config.cpp | 6 +++++- src/MF_Analog/Analog.cpp | 5 ++++- src/MF_Button/Button.cpp | 5 ++++- src/MF_CustomDevice/CustomDevice.cpp | 13 ++++++++++++- src/MF_DigInMux/DigInMux.cpp | 5 ++++- src/MF_DigInMux/MFDigInMux.cpp | 2 +- src/MF_Encoder/Encoder.cpp | 5 ++++- src/MF_InputShifter/InputShifter.cpp | 5 ++++- src/MF_LCDDisplay/LCDDisplay.cpp | 5 ++++- src/MF_Modules/MFMuxDriver.cpp | 5 ++++- src/MF_Output/Output.cpp | 5 ++++- src/MF_OutputShifter/OutputShifter.cpp | 5 ++++- src/MF_Segment/LedSegment.cpp | 5 ++++- src/MF_Servo/Servos.cpp | 5 ++++- src/MF_Stepper/MFStepper.cpp | 3 ++- src/MF_Stepper/Stepper.cpp | 5 ++++- src/allocateMem.cpp | 4 +++- src/allocateMem.h | 1 + src/commandmessenger.h | 1 - src/mobiflight.cpp | 6 +++++- src/mobiflight.h | 15 --------------- 22 files changed, 79 insertions(+), 36 deletions(-) delete mode 100644 src/mobiflight.h diff --git a/src/CommandMessenger.cpp b/src/CommandMessenger.cpp index 19bdd3b0..176953ea 100644 --- a/src/CommandMessenger.cpp +++ b/src/CommandMessenger.cpp @@ -4,8 +4,8 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" - +#include "commandmessenger.h" +#include "config.h" #include "Button.h" #include "Encoder.h" #if MF_ANALOG_SUPPORT == 1 diff --git a/src/Config.cpp b/src/Config.cpp index ccc82cf2..631c0e13 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -4,7 +4,11 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "config.h" +#include "commandmessenger.h" +#include "allocateMem.h" +#include "MFBoards.h" #include "MFEEPROM.h" #include "Button.h" #include "Encoder.h" diff --git a/src/MF_Analog/Analog.cpp b/src/MF_Analog/Analog.cpp index 8920d4c9..a71592c0 100644 --- a/src/MF_Analog/Analog.cpp +++ b/src/MF_Analog/Analog.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFAnalog.h" #include "Analog.h" diff --git a/src/MF_Button/Button.cpp b/src/MF_Button/Button.cpp index 5fa39def..6655da0a 100644 --- a/src/MF_Button/Button.cpp +++ b/src/MF_Button/Button.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFButton.h" #include "Button.h" diff --git a/src/MF_CustomDevice/CustomDevice.cpp b/src/MF_CustomDevice/CustomDevice.cpp index e3ccfae2..429c8606 100644 --- a/src/MF_CustomDevice/CustomDevice.cpp +++ b/src/MF_CustomDevice/CustomDevice.cpp @@ -1,4 +1,15 @@ -#include "mobiflight.h" +// +// CustomDevice.cpp +// +// (C) MobiFlight Project 2022 +// + +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "CustomDevice.h" #include "MFCustomDevice.h" #if defined(USE_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) diff --git a/src/MF_DigInMux/DigInMux.cpp b/src/MF_DigInMux/DigInMux.cpp index a838ed91..40016a57 100644 --- a/src/MF_DigInMux/DigInMux.cpp +++ b/src/MF_DigInMux/DigInMux.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFDigInMux.h" #include "MFMuxDriver.h" diff --git a/src/MF_DigInMux/MFDigInMux.cpp b/src/MF_DigInMux/MFDigInMux.cpp index c82f0883..01496e65 100644 --- a/src/MF_DigInMux/MFDigInMux.cpp +++ b/src/MF_DigInMux/MFDigInMux.cpp @@ -4,7 +4,7 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include #include "MFDigInMux.h" #include "MFMuxDriver.h" diff --git a/src/MF_Encoder/Encoder.cpp b/src/MF_Encoder/Encoder.cpp index 0d99c23d..e3da3cab 100644 --- a/src/MF_Encoder/Encoder.cpp +++ b/src/MF_Encoder/Encoder.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFEncoder.h" #include "Encoder.h" diff --git a/src/MF_InputShifter/InputShifter.cpp b/src/MF_InputShifter/InputShifter.cpp index 50671ac5..9dd9dc99 100644 --- a/src/MF_InputShifter/InputShifter.cpp +++ b/src/MF_InputShifter/InputShifter.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFInputShifter.h" #include "InputShifter.h" diff --git a/src/MF_LCDDisplay/LCDDisplay.cpp b/src/MF_LCDDisplay/LCDDisplay.cpp index e1601625..68efb468 100644 --- a/src/MF_LCDDisplay/LCDDisplay.cpp +++ b/src/MF_LCDDisplay/LCDDisplay.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFLCDDisplay.h" #include "LCDDisplay.h" diff --git a/src/MF_Modules/MFMuxDriver.cpp b/src/MF_Modules/MFMuxDriver.cpp index 2e73e358..9a2d04a7 100644 --- a/src/MF_Modules/MFMuxDriver.cpp +++ b/src/MF_Modules/MFMuxDriver.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFMuxDriver.h" MFMuxDriver::MFMuxDriver(void) diff --git a/src/MF_Output/Output.cpp b/src/MF_Output/Output.cpp index 497ba466..944e9731 100644 --- a/src/MF_Output/Output.cpp +++ b/src/MF_Output/Output.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFOutput.h" #include "Output.h" diff --git a/src/MF_OutputShifter/OutputShifter.cpp b/src/MF_OutputShifter/OutputShifter.cpp index 3d3282df..e7fe7b8f 100644 --- a/src/MF_OutputShifter/OutputShifter.cpp +++ b/src/MF_OutputShifter/OutputShifter.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFOutputShifter.h" #include "OutputShifter.h" diff --git a/src/MF_Segment/LedSegment.cpp b/src/MF_Segment/LedSegment.cpp index 00715997..62bac560 100644 --- a/src/MF_Segment/LedSegment.cpp +++ b/src/MF_Segment/LedSegment.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFSegments.h" #include "LedSegment.h" diff --git a/src/MF_Servo/Servos.cpp b/src/MF_Servo/Servos.cpp index 507a2749..3f71409b 100644 --- a/src/MF_Servo/Servos.cpp +++ b/src/MF_Servo/Servos.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFServo.h" #include "Servos.h" diff --git a/src/MF_Stepper/MFStepper.cpp b/src/MF_Stepper/MFStepper.cpp index e29b7687..87d11c3c 100644 --- a/src/MF_Stepper/MFStepper.cpp +++ b/src/MF_Stepper/MFStepper.cpp @@ -4,7 +4,8 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include "allocateMem.h" +#include "commandmessenger.h" #include "MFStepper.h" enum { // enumeration for stepper mode diff --git a/src/MF_Stepper/Stepper.cpp b/src/MF_Stepper/Stepper.cpp index e6988f52..7d742902 100644 --- a/src/MF_Stepper/Stepper.cpp +++ b/src/MF_Stepper/Stepper.cpp @@ -4,7 +4,10 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include +#include "MFBoards.h" +#include "commandmessenger.h" +#include "allocateMem.h" #include "MFStepper.h" #include "Stepper.h" #if defined(STEPPER_ON_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) diff --git a/src/allocateMem.cpp b/src/allocateMem.cpp index 0e2c3789..d41e9d07 100644 --- a/src/allocateMem.cpp +++ b/src/allocateMem.cpp @@ -4,7 +4,9 @@ // (C) MobiFlight Project 2022 // -#include "mobiflight.h" +#include "allocateMem.h" +#include "MFBoards.h" +#include "commandmessenger.h" #if defined (ARDUINO_ARCH_AVR) uint8_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; diff --git a/src/allocateMem.h b/src/allocateMem.h index 4ffb3e04..7068d503 100644 --- a/src/allocateMem.h +++ b/src/allocateMem.h @@ -6,6 +6,7 @@ #pragma once +#include #include #if defined (ARDUINO_ARCH_AVR) diff --git a/src/commandmessenger.h b/src/commandmessenger.h index 19580b38..adfcc6ca 100644 --- a/src/commandmessenger.h +++ b/src/commandmessenger.h @@ -51,6 +51,5 @@ enum { void attachCommandCallbacks(); uint32_t getLastCommandMillis(); -void setLastCommandMillis(); extern CmdMessenger cmdMessenger; \ No newline at end of file diff --git a/src/mobiflight.cpp b/src/mobiflight.cpp index 33fc8f76..9f3fed47 100644 --- a/src/mobiflight.cpp +++ b/src/mobiflight.cpp @@ -4,8 +4,12 @@ // (C) MobiFlight Project 2022 // + #include -#include "mobiflight.h" +#include "MFBoards.h" +#include "config.h" +#include "allocateMem.h" +#include "commandmessenger.h" #include "Button.h" #include "Encoder.h" #include "MFEEPROM.h" diff --git a/src/mobiflight.h b/src/mobiflight.h deleted file mode 100644 index 3a38f3af..00000000 --- a/src/mobiflight.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// mobiflight.h -// -// (C) MobiFlight Project 2022 -// - -#pragma once - -#include -#include "MFBoards.h" -#include "config.h" -#include "allocateMem.h" -#include "commandmessenger.h" - -// mobiflight.h \ No newline at end of file From a4d4c260e787e2554e6c14496e290c49b301c481 Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:48:05 +0100 Subject: [PATCH 2/8] way more clean up, board settings to platformio.ini --- .vscode/settings.json | 2 +- _Boards/Atmel/Board_Mega/MFBoards.h | 57 -- .../Atmel/Board_Mega/arduino_mega.board.json | 485 ------------------ .../Board_Mega/reset.arduino_mega_1_0_2.hex | 179 ------- _Boards/Atmel/Board_Nano/MFBoards.h | 56 -- .../Atmel/Board_Nano/arduino_nano.board.json | 184 ------- .../Board_Nano/reset.arduino_uno_1_0_2.hex | 134 ----- _Boards/Atmel/Board_ProMicro/MFBoards.h | 57 -- .../Board_ProMicro/arduino_micro.board.json | 162 ------ .../reset.arduino_promicro_1_0_2.hex | 262 ---------- _Boards/Atmel/Board_Uno/MFBoards.h | 57 -- .../Atmel/Board_Uno/arduino_uno.board.json | 169 ------ .../Board_Uno/reset.arduino_uno_1_0_2.hex | 134 ----- _Boards/RaspberryPi/Pico/MFBoards.h | 49 -- .../Pico/raspberrypi_pico.board.json | 202 -------- .../Pico/reset.raspberry_pico_flash_nuke.uf2 | Bin 25600 -> 0 bytes platformio.ini | 55 +- src/CommandMessenger.cpp | 42 +- src/Config.cpp | 86 ++-- src/MF_Analog/Analog.cpp | 8 +- src/MF_Analog/Analog.h | 3 +- src/MF_Analog/MFAnalog.cpp | 6 +- src/MF_Button/Button.cpp | 6 +- src/MF_Button/Button.h | 2 +- src/MF_CustomDevice/CustomDevice.cpp | 13 +- src/MF_CustomDevice/CustomDevice.h | 10 +- src/MF_DigInMux/DigInMux.cpp | 6 +- src/MF_DigInMux/DigInMux.h | 5 +- src/MF_DigInMux/MFDigInMux.cpp | 1 - src/MF_DigInMux/MFDigInMux.h | 4 +- src/MF_Encoder/Encoder.cpp | 8 +- src/MF_Encoder/Encoder.h | 3 +- src/MF_Encoder/MFEncoder.h | 8 +- src/MF_InputShifter/InputShifter.cpp | 6 +- src/MF_InputShifter/InputShifter.h | 2 + src/MF_LCDDisplay/LCDDisplay.cpp | 6 +- src/MF_LCDDisplay/LCDDisplay.h | 3 +- src/MF_LCDDisplay/MFLCDDisplay.cpp | 3 +- src/MF_LCDDisplay/MFLCDDisplay.h | 2 +- src/MF_Modules/MFEEPROM.cpp | 2 - src/MF_Modules/MFEEPROM.h | 10 +- src/MF_Modules/MFMuxDriver.cpp | 2 - src/MF_Modules/MFMuxDriver.h | 4 +- src/MF_Output/MFOutput.cpp | 2 +- src/MF_Output/MFOutput.h | 10 +- src/MF_Output/Output.cpp | 8 +- src/MF_Output/Output.h | 2 + src/MF_OutputShifter/MFOutputShifter.h | 20 +- src/MF_OutputShifter/OutputShifter.cpp | 11 +- src/MF_OutputShifter/OutputShifter.h | 2 + src/MF_Segment/LedControl_dual.cpp | 20 +- src/MF_Segment/LedControl_dual.h | 23 +- src/MF_Segment/LedSegment.cpp | 19 +- src/MF_Segment/LedSegment.h | 4 +- src/MF_Segment/MFSegments.cpp | 3 +- src/MF_Segment/MFSegments.h | 2 +- src/MF_Servo/Servos.cpp | 6 +- src/MF_Servo/Servos.h | 2 + src/MF_Stepper/MFStepper.cpp | 2 +- src/MF_Stepper/MFStepper.h | 18 +- src/MF_Stepper/Stepper.cpp | 7 +- src/MF_Stepper/Stepper.h | 2 + src/allocateMem.cpp | 17 +- src/allocateMem.h | 12 +- src/commandmessenger.h | 69 +-- src/config.h | 2 + src/mobiflight.cpp | 65 ++- 67 files changed, 334 insertions(+), 2489 deletions(-) delete mode 100644 _Boards/Atmel/Board_Mega/MFBoards.h delete mode 100644 _Boards/Atmel/Board_Mega/arduino_mega.board.json delete mode 100644 _Boards/Atmel/Board_Mega/reset.arduino_mega_1_0_2.hex delete mode 100644 _Boards/Atmel/Board_Nano/MFBoards.h delete mode 100644 _Boards/Atmel/Board_Nano/arduino_nano.board.json delete mode 100644 _Boards/Atmel/Board_Nano/reset.arduino_uno_1_0_2.hex delete mode 100644 _Boards/Atmel/Board_ProMicro/MFBoards.h delete mode 100644 _Boards/Atmel/Board_ProMicro/arduino_micro.board.json delete mode 100644 _Boards/Atmel/Board_ProMicro/reset.arduino_promicro_1_0_2.hex delete mode 100644 _Boards/Atmel/Board_Uno/MFBoards.h delete mode 100644 _Boards/Atmel/Board_Uno/arduino_uno.board.json delete mode 100644 _Boards/Atmel/Board_Uno/reset.arduino_uno_1_0_2.hex delete mode 100644 _Boards/RaspberryPi/Pico/MFBoards.h delete mode 100644 _Boards/RaspberryPi/Pico/raspberrypi_pico.board.json delete mode 100644 _Boards/RaspberryPi/Pico/reset.raspberry_pico_flash_nuke.uf2 diff --git a/.vscode/settings.json b/.vscode/settings.json index b870cb12..899adfcc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { - "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Linux, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false, AlignConsecutiveAssignments: Consecutive, AlignConsecutiveBitFields: Consecutive, AlignConsecutiveDeclarations: Consecutive, AlignConsecutiveMacros: Consecutive, AlignTrailingComments: true, AllowShortBlocksOnASingleLine: Empty, AllowShortEnumsOnASingleLine: true, AllowShortFunctionsOnASingleLine: Inline, AllowShortIfStatementsOnASingleLine: WithoutElse, BreakInheritanceList: BeforeColon, EmptyLineBeforeAccessModifier: LogicalBlock, SortIncludes: Never }", + "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Linux, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false, AlignConsecutiveAssignments: Consecutive, AlignConsecutiveBitFields: Consecutive, AlignConsecutiveDeclarations: Consecutive, AlignConsecutiveMacros: Consecutive, AlignTrailingComments: true, AllowShortBlocksOnASingleLine: Empty, AllowShortEnumsOnASingleLine: true, AllowShortFunctionsOnASingleLine: Inline, AllowShortIfStatementsOnASingleLine: WithoutElse, BreakInheritanceList: BeforeColon, EmptyLineBeforeAccessModifier: LogicalBlock, SortIncludes: Never }", "[cpp]": { "editor.defaultFormatter": "ms-vscode.cpptools", "editor.formatOnSave": true diff --git a/_Boards/Atmel/Board_Mega/MFBoards.h b/_Boards/Atmel/Board_Mega/MFBoards.h deleted file mode 100644 index ba5114df..00000000 --- a/_Boards/Atmel/Board_Mega/MFBoards.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// MFBoards.h (Arduino Mega) -// -// (C) MobiFlight Project 2022 -// - -#ifndef MFBoardMega_h -#define MFBoardMega_h - -#ifndef MF_SEGMENT_SUPPORT -#define MF_SEGMENT_SUPPORT 1 -#endif -#ifndef MF_LCD_SUPPORT -#define MF_LCD_SUPPORT 1 -#endif -#ifndef MF_STEPPER_SUPPORT -#define MF_STEPPER_SUPPORT 1 -#endif -#ifndef MF_SERVO_SUPPORT -#define MF_SERVO_SUPPORT 1 -#endif -#ifndef MF_ANALOG_SUPPORT -#define MF_ANALOG_SUPPORT 1 -#endif -#ifndef MF_OUTPUT_SHIFTER_SUPPORT -#define MF_OUTPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_INPUT_SHIFTER_SUPPORT -#define MF_INPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#endif -#ifndef MF_DIGIN_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#define MF_DIGIN_MUX_SUPPORT 1 -#endif - -#ifndef MOBIFLIGHT_TYPE -#define MOBIFLIGHT_TYPE "MobiFlight Mega" -#endif -#ifndef MOBIFLIGHT_NAME -#define MOBIFLIGHT_NAME "MobiFlight Mega" -#endif -#ifndef MEMLEN_CONFIG -#define MEMLEN_CONFIG 1496 // max. size for config which wil be stored in EEPROM -#endif -#ifndef MEMLEN_NAMES_BUFFER -#define MEMLEN_NAMES_BUFFER 1000 // max. size for configBuffer, contains only names from inputs -#endif -#ifndef MF_MAX_DEVICEMEM -#define MF_MAX_DEVICEMEM 1600 // max. memory size for devices -#endif - -#endif - -// MFBoards.h \ No newline at end of file diff --git a/_Boards/Atmel/Board_Mega/arduino_mega.board.json b/_Boards/Atmel/Board_Mega/arduino_mega.board.json deleted file mode 100644 index f192375c..00000000 --- a/_Boards/Atmel/Board_Mega/arduino_mega.board.json +++ /dev/null @@ -1,485 +0,0 @@ -{ - "$schema": "./mfboard.schema.json", - "AvrDudeSettings": { - "Device": "atmega2560", - "BaudRates": ["115200"], - "Programmer": "wiring", - "Timeout": 15000 - }, - "Connection": { - "ConnectionDelay": 2000, - "ExtraConnectionRetry": false, - "ForceResetOnFirmwareUpdate": false, - "DelayAfterFirmwareUpdate": 0, - "DtrEnable": true, - "MessageSize": 90, - "EEPROMSize": 1496 - }, - "HardwareIds": [ - "^VID_2341&PID_0010", - "^VID_2341&PID_0042", - "^VID_8087&PID_0024", - "^VID_1A86&PID_7523", - "^VID_2A03&PID_0042", - "^VID_0403&PID_6001", - "^VID_0403\\+PID_6001\\+.+", - "^VID_2A03&PID_0010", - "^VID_2341&PID_0210", - "^VID_2341&PID_0242", - "^VID_10C4&PID_EA60", - "^VID_2341&PID_0044", - "^VID_3343&PID_0042", - "^VID_04D9&PID_B534" - ], - "Info": { - "CanInstallFirmware": true, - "CanResetBoard": true, - "DelayAfterFirmwareUpdate": 0, - "FirmwareBaseName": "mobiflight_mega", - "FirmwareExtension": "hex", - "LatestFirmwareVersion": "2.5.2", - "FriendlyName": "Arduino Mega 2560", - "MobiFlightType": "MobiFlight Mega", - "ResetFirmwareFile": "reset.arduino_mega_1_0_2.hex" - }, - "ModuleLimits": { - "MaxAnalogInputs": 16, - "MaxInputShifters": 6, - "MaxButtons": 68, - "MaxEncoders": 20, - "MaxLcdI2C": 2, - "MaxLedSegments": 6, - "MaxOutputs": 68, - "MaxServos": 12, - "MaxShifters": 6, - "MaxSteppers": 10, - "MaxInputMultiplexer": 6, - "MaxCustomDevices" : 0 - }, - "Pins": [ - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 2 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 3 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 4 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 5 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 6 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 7 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 8 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 9 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 10 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 11 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 12 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 13 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 14 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 15 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 16 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 17 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 18 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 19 - }, - { - "isAnalog": false, - "isPWM": false, - "isI2C": true, - "Pin": 20 - }, - { - "isAnalog": false, - "isPWM": false, - "isI2C": true, - "Pin": 21 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 22 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 23 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 24 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 25 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 26 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 27 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 28 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 29 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 30 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 31 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 32 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 33 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 34 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 35 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 36 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 37 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 38 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 39 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 40 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 41 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 42 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 43 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 44 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 45 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 46 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 47 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 48 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 49 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 50 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 51 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 52 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 53 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 54, - "Name": "A0" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 55, - "Name": "A1" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 56, - "Name": "A2" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 57, - "Name": "A3" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 58, - "Name": "A4" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 59, - "Name": "A5" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 60, - "Name": "A6" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 61, - "Name": "A7" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 62, - "Name": "A8" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 63, - "Name": "A9" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 64, - "Name": "A10" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 65, - "Name": "A11" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 66, - "Name": "A12" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 67, - "Name": "A13" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 68, - "Name": "A14" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 69, - "Name": "A15" - } - ] -} diff --git a/_Boards/Atmel/Board_Mega/reset.arduino_mega_1_0_2.hex b/_Boards/Atmel/Board_Mega/reset.arduino_mega_1_0_2.hex deleted file mode 100644 index f2578bfa..00000000 --- a/_Boards/Atmel/Board_Mega/reset.arduino_mega_1_0_2.hex +++ /dev/null @@ -1,179 +0,0 @@ -:100000000C9428010C9459010C9459010C94590139 -:100010000C9459010C9459010C9459010C945901F8 -:100020000C9459010C9459010C9459010C945901E8 -:100030000C9459010C9459010C9459010C945901D8 -:100040000C9459010C9459010C9459010C945901C8 -:100050000C9459010C9459010C9459010C9472039D -:100060000C9459010C94E6030C94BC030C945901B4 -:100070000C9459010C9459010C9459010C94590198 -:100080000C9459010C9459010C9459010C94590188 -:100090000C9459010C9459010C9459010C94590178 -:1000A0000C9459010C9459010C9459010C94590168 -:1000B0000C9459010C9459010C9459010C94590158 -:1000C0000C9459010C9459010C9459010C94590148 -:1000D0000C9459010C9459010C9459010C94590138 -:1000E0000C9459010C94CF010C94BD010C941C0488 -:1000F0000C9487010C94D4020C94B7010C94AD01BC -:100100000C94D9010C94C1010C947A020C94CB018B -:100110000C94C5010C949E010C943E020C94210396 -:100120000C94A6010C94DD010C94AA010C94A2017C -:100130000C948E020C94D3010C948C010C94B3019A -:100140000C946B020C949C020000210024002700F8 -:100150002A002D00300033000101000004010701D6 -:100160000A0100002200250028002B002E0031008B -:10017000340002010000050108010B010505050519 -:10018000070508080808020202020A0A080804040F -:10019000040401010101010101010303030303033D -:1001A0000303040707070C0C0C0C0C0C0C0C0202CC -:1001B000020206060606060606060B0B0B0B0B0BC9 -:1001C0000B0B010210202008081020401020408056 -:1001D000020102010804020101020408102040800B -:1001E0008040201008040201800402018040201099 -:1001F00008040201080402010102040810204080E2 -:10020000010204081020408000000A0B02090C0DB6 -:100210000E080703040100000000000000000000B9 -:1002200000000000000000000000000000000000CE -:10023000000000001211100000000000000000008B -:1002400000000000000000000000000000001C048E -:1002500011241FBECFEFD1E2DEBFCDBF00E00CBF47 -:1002600012E0A0E0B2E0E6EFFAE000E00BBF02C06F -:1002700007900D92A231B107D9F722E0A2E1B2E0D6 -:1002800001C01D92AA3BB207E1F711E0C8E2D1E03C -:1002900000E006C021970109802FFE010E94710530 -:1002A000C732D10780E00807A9F70E944D040C94DB -:1002B00079050C940000382FE5E1F2E08491EFEC31 -:1002C000F1E02491E9E8F1E09491992309F435C033 -:1002D000882311F181508231F8F4E82FF0E088276B -:1002E000EB58FE4F8F4F0C947105A601AA018701B0 -:1002F0009E01A2018C01AD01B301B701BD01C10195 -:10030000C501CB01CF018C01D301D901DD01809161 -:1003100080008F7780938000E92FF0E0EE0FFF1FC1 -:10032000EE59FE4FA591B4918FB7F894EC9131112D -:1003300048C020952E232C938FBF08958091800074 -:100340008F7DE8CF80918000877FE4CF84B58F7761 -:1003500084BDE2CF84B58F7DFBCF8091B0008F77D5 -:100360008093B000D9CF8091B0008F7DF9CF80917C -:1003700090008F7780939000CFCF809190008F7DF9 -:10038000F9CF80919000877FF5CF8091A0008F7783 -:100390008093A000C1CF8091A0008F7DF9CF809184 -:1003A000A000877FF5CF809120018F778093200177 -:1003B000B3CF809120018F7DF9CF80912001877F7D -:1003C000F5CF2E2BB8CF3FB7F894809117029091BC -:1003D0001802A0911902B0911A0226B5A89B05C077 -:1003E0002F3F19F00196A11DB11D3FBFBA2FA92FB4 -:1003F000982F8827BC01CD01620F711D811D911DB1 -:1004000042E0660F771F881F991F4A95D1F708951C -:100410008F929F92AF92BF92CF92DF92EF92FF9214 -:100420000E94E3014B015C0188EEC82E83E0D82EC8 -:10043000E12CF12C0E94E301681979098A099B09D2 -:10044000683E734081059105A8F321E0C21AD108E6 -:10045000E108F10888EE880E83E0981EA11CB11C0B -:10046000C114D104E104F10429F7FF90EF90DF906B -:10047000CF90BF90AF909F908F900895AF92BF9212 -:10048000CF92DF92EF92FF920F931F93CF93DF9360 -:100490006C017B018B01040F151FEB015E01AE188F -:1004A000BF08C017D10759F06991D601ED91FC91B1 -:1004B0000190F081E02DC6011995892B79F7C501CE -:1004C000DF91CF911F910F91FF90EF90DF90CF9030 -:1004D000BF90AF900895FC01538D448D252F30E0DF -:1004E000842F90E0821B930B541710F0CF96089541 -:1004F00001970895FC01918D828D981761F0A28D6E -:10050000AE0FBF2FB11D5D968C91928D9F5F9F7333 -:10051000928F90E008958FEF9FEF0895FC01918DE9 -:10052000828D981731F0828DE80FF11D858D90E056 -:1005300008958FEF9FEF0895FC01918D228D892FF3 -:1005400090E0805C9F4F821B91098F7399270895DB -:100550008BE192E00E949C0221E0892B09F420E0CB -:10056000822F0895FC01A48DA80FB92FB11DA35AA5 -:10057000BF4F2C91848D90E001968F739927848FC3 -:10058000A689B7892C93A089B1898C9183708064E6 -:100590008C93938D848D981306C00288F389E02D87 -:1005A00080818F7D80830895EF92FF920F931F9338 -:1005B000CF93DF93EC0181E0888F9B8D8C8D981316 -:1005C0001AC0E889F989808185FF15C09FB7F89422 -:1005D000EE89FF896083E889F9898081837080646E -:1005E00080839FBF81E090E0DF91CF911F910F91B9 -:1005F000FF90EF900895F62E0B8D10E00F5F1F4FC8 -:100600000F731127E02E8C8D8E110CC00FB607FCD6 -:10061000FACFE889F989808185FFF5CFCE010E9464 -:10062000B202F1CFEB8DEC0FFD2FF11DE35AFF4F1E -:10063000F0829FB7F8940B8FEA89FB8980818062F2 -:10064000CFCFCF93DF93EC01888D8823B9F0AA89AF -:10065000BB89E889F9898C9185FD03C0808186FD7D -:100660000DC00FB607FCF7CF8C9185FFF2CF8081CC -:1006700085FFEDCFCE010E94B202E9CFDF91CF918D -:10068000089580E090E0892B29F00E94A802811152 -:100690000E94000080E090E0892B49F080E090E02B -:1006A000892B29F00E94000081110E94000080E047 -:1006B00090E0892B49F080E090E0892B29F00E949E -:1006C000000081110E94000080E090E0892B49F039 -:1006D00080E090E0892B29F00E94000081110C94A9 -:1006E000000008951F920F920FB60F9211242F93BE -:1006F0003F938F939F93AF93BF93809113029091F9 -:100700001402A0911502B09116023091120223E05A -:10071000230F2D3758F50196A11DB11D209312020C -:100720008093130290931402A0931502B0931602C3 -:100730008091170290911802A0911902B0911A02AB -:100740000196A11DB11D8093170290931802A093EA -:100750001902B0931A02BF91AF919F918F913F916F -:100760002F910F900FBE0F901F90189526E8230F22 -:100770000296A11DB11DD2CF1F920F920FB60F92FC -:1007800011240BB60F922F933F934F935F936F9368 -:100790007F938F939F93AF93BF93EF93FF938BE1DF -:1007A00092E00E94B202FF91EF91BF91AF919F91B1 -:1007B0008F917F916F915F914F913F912F910F900A -:1007C0000BBE0F900FBE0F901F9018951F920F92A7 -:1007D0000FB60F9211240BB60F922F938F939F9306 -:1007E000EF93FF93E0912B02F0912C028081E09136 -:1007F0003102F091320282FD1DC09081809134025D -:100800008F5F8F7320913502821741F0E09134029F -:10081000F0E0E55EFD4F958F80933402FF91EF91FC -:100820009F918F912F910F900BBE0F900FBE0F9045 -:100830001F9018958081F2CFEBE1F2E013821282D3 -:1008400088EE93E0A0E0B0E084839583A683B7832D -:1008500084E092E09183808385EC90E095878487A3 -:1008600084EC90E09787868780EC90E0918B808B7A -:1008700081EC90E0938B828B82EC90E0958B848B63 -:1008800086EC90E0978B868B118E128E138E148ED1 -:100890001092B9021092B8020895CF93DF93CDB7AA -:1008A000DEB7789484B5826084BD84B5816084BDF0 -:1008B00085B5826085BD85B5816085BD80916E00FE -:1008C000816080936E00109281008091810082602F -:1008D000809381008091810081608093810080916C -:1008E00080008160809380008091B100846080935B -:1008F000B1008091B00081608093B0008091910040 -:10090000826080939100809191008160809391003A -:10091000809190008160809390008091A10082601E -:100920008093A1008091A10081608093A1008091BB -:10093000A00081608093A00080912101826080935B -:10094000210180912101816080932101809120010A -:1009500081608093200180917A00846080937A0086 -:1009600080917A00826080937A0080917A00816021 -:1009700080937A0080917A00806880937A00109248 -:10098000C1000DB71EB780E090E19093B90280934B -:10099000B8028DB79EB790510FB6F8949EBF0FBEA8 -:1009A0008DBFEDB7FEB731966F01EFECF1E04491EA -:1009B000E9E8F1E08491882399F090E0880F991F8D -:1009C000FC01E85BFE4FA591B491FC01EE59FE4F8E -:1009D000859194918FB7F894EC91E42BEC938FBFB1 -:1009E000E0912B02F0912C0282E08083E0912702BB -:1009F000F09128021082E0912902F0912A0280E110 -:100A0000808310923302E0912F02F091300286E051 -:100A10008083E0912D02F0912E028081806180839D -:100A2000E0912D02F0912E02808188608083E09118 -:100A30002D02F0912E02808180688083E0912D024A -:100A4000F0912E0280818F7D8083C601905FF60138 -:100A50002FEF21938E179F07E1F78091B8029091B5 -:100A6000B90281159041A8F0F12CE12CF601B1906A -:100A70006F01C7010E945B05B81621F06B2DC701FD -:100A80000E946305FFEFEF1AFF0AE11420E1F2066E -:100A900069F70FB6F8941EBF0FBE0DBF81E00E942C -:100AA0005B010E94080280E00E945B010E94080234 -:100AB0000E944103F3CFF999FECF92BD81BDF89A10 -:100AC000992780B50895262FF999FECF1FBA92BDB8 -:100AD00081BD20BD0FB6F894FA9AF99A0FBE01961F -:100AE0000895EE0FFF1F881F8BBF0790F691E02D32 -:060AF0001994F894FFCFF9 -:100AF60000000000D4023E026B0221039C027A022F -:020B06008E025D -:00000001FF diff --git a/_Boards/Atmel/Board_Nano/MFBoards.h b/_Boards/Atmel/Board_Nano/MFBoards.h deleted file mode 100644 index aa2afeb8..00000000 --- a/_Boards/Atmel/Board_Nano/MFBoards.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// MFBoards.h (Arduino Uno/Nano) -// -// (C) MobiFlight Project 2022 -// - -#ifndef MFBoardUno_h -#define MFBoardUno_h - -#ifndef MF_SEGMENT_SUPPORT -#define MF_SEGMENT_SUPPORT 1 -#endif -#ifndef MF_LCD_SUPPORT -#define MF_LCD_SUPPORT 1 -#endif -#ifndef MF_STEPPER_SUPPORT -#define MF_STEPPER_SUPPORT 1 -#endif -#ifndef MF_SERVO_SUPPORT -#define MF_SERVO_SUPPORT 1 -#endif -#ifndef MF_ANALOG_SUPPORT -#define MF_ANALOG_SUPPORT 1 -#endif -#ifndef MF_OUTPUT_SHIFTER_SUPPORT -#define MF_OUTPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_INPUT_SHIFTER_SUPPORT -#define MF_INPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#endif -#ifndef MF_DIGIN_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#define MF_DIGIN_MUX_SUPPORT 1 -#endif - -#ifndef MOBIFLIGHT_TYPE -#define MOBIFLIGHT_TYPE "MobiFlight Nano" -#endif -#ifndef MOBIFLIGHT_NAME -#define MOBIFLIGHT_NAME "MobiFlight Nano" -#endif -#ifndef MEMLEN_CONFIG -#define MEMLEN_CONFIG 286 // max. size for config which wil be stored in EEPROM -#endif -#ifndef MEMLEN_NAMES_BUFFER -#define MEMLEN_NAMES_BUFFER 220 // max. size for configBuffer, contains only names from inputs -#endif -#ifndef MF_MAX_DEVICEMEM -#define MF_MAX_DEVICEMEM 420 // max. memory size for devices -#endif -#endif - -// MFBoards.h \ No newline at end of file diff --git a/_Boards/Atmel/Board_Nano/arduino_nano.board.json b/_Boards/Atmel/Board_Nano/arduino_nano.board.json deleted file mode 100644 index 496df8dd..00000000 --- a/_Boards/Atmel/Board_Nano/arduino_nano.board.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "$schema": "./mfboard.schema.json", - "AvrDudeSettings": { - "Attempts": 1, - "Device": "atmega328p", - "BaudRates": ["115200", "57600"], - "Programmer": "arduino", - "Timeout": 20000 - }, - "Connection": { - "ConnectionDelay": 1750, - "DelayAfterFirmwareUpdate": 0, - "DtrEnable": true, - "EEPROMSize": 286, - "ExtraConnectionRetry": true, - "ForceResetOnFirmwareUpdate": false, - "MessageSize": 64, - "TimeoutForFirmwareUpdate": 60000 - }, - "HardwareIds": [ - "^VID_2341&PID_0043", - "^VID_2A03&PID_0043", - "^VID_2341&PID_0243", - "^VID_2341&PID_0001", - "^VID_1A86&PID_7523", - "^VID_0403&PID_6001", - "^VID_067B&PID_2303", - "^VID_0403\\+PID_6001\\+.+" - ], - "Info": { - "CanInstallFirmware": true, - "CanResetBoard": true, - "FirmwareBaseName": "mobiflight_nano", - "FirmwareExtension": "hex", - "FriendlyName": "Arduino Nano", - "LatestFirmwareVersion": "2.5.2", - "MobiFlightType": "MobiFlight Nano", - "ResetFirmwareFile": "reset.arduino_uno_1_0_2.hex" - }, - "ModuleLimits": { - "MaxAnalogInputs": 8, - "MaxButtons": 18, - "MaxEncoders": 9, - "MaxInputShifters": 6, - "MaxLcdI2C": 2, - "MaxLedSegments": 6, - "MaxOutputs": 18, - "MaxServos": 8, - "MaxShifters": 6, - "MaxSteppers": 4, - "MaxInputMultiplexer": 6, - "MaxCustomDevices": 0 - }, - "Pins": [ - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 2 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 3 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 4 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 5 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 6 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 7 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 8 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 9 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 10 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 11 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 12 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 13 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A0", - "Pin": 14 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A1", - "Pin": 15 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A2", - "Pin": 16 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A3", - "Pin": 17 - }, - { - "isAnalog": true, - "isI2C": true, - "isPWM": false, - "Name": "A4", - "Pin": 18 - }, - { - "isAnalog": true, - "isI2C": true, - "isPWM": false, - "Name": "A5", - "Pin": 19 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A6", - "Pin": 20 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A7", - "Pin": 21 - } - ] -} diff --git a/_Boards/Atmel/Board_Nano/reset.arduino_uno_1_0_2.hex b/_Boards/Atmel/Board_Nano/reset.arduino_uno_1_0_2.hex deleted file mode 100644 index 86408120..00000000 --- a/_Boards/Atmel/Board_Nano/reset.arduino_uno_1_0_2.hex +++ /dev/null @@ -1,134 +0,0 @@ -:100000000C945D000C9485000C9485000C94850084 -:100010000C9485000C9485000C9485000C9485004C -:100020000C9485000C9485000C9485000C9485003C -:100030000C9485000C9485000C9485000C9485002C -:100040000C9437020C9485000C94A7020C94810246 -:100050000C9485000C9485000C9485000C9485000C -:100060000C9485000C9485000000000024002700FB -:100070002A0000000000250028002B0004040404CE -:100080000404040402020202020203030303030342 -:10009000010204081020408001020408102001021F -:1000A00004081020000000080002010000030407FB -:1000B0000000000000000000D90211241FBECFEF95 -:1000C000D8E0DEBFCDBF11E0A0E0B1E0E4E2F8E0AF -:1000D00002C005900D92A231B107D9F721E0A2E14B -:1000E000B1E001C01D92AA3BB207E1F710E0CDE5F7 -:1000F000D0E004C02197FE010E940A04CC35D1074C -:10010000C9F70E940A030C9410040C940000E1EB60 -:10011000F0E02491EDE9F0E09491E9E8F0E0E49179 -:10012000EE23C9F0222339F0233001F1A8F4213065 -:1001300019F1223029F1F0E0EE0FFF1FEE58FF4FCA -:10014000A591B4912FB7F894EC91811126C09095A8 -:100150009E239C932FBF08952730A9F02830C9F023 -:10016000243049F7209180002F7D03C0209180002A -:100170002F7720938000DFCF24B52F7724BDDBCFEE -:1001800024B52F7DFBCF2091B0002F772093B000B6 -:10019000D2CF2091B0002F7DF9CF9E2BDACF3FB781 -:1001A000F8948091170190911801A0911901B091D4 -:1001B0001A0126B5A89B05C02F3F19F00196A11D75 -:1001C000B11D3FBFBA2FA92F982F8827BC01CD01A1 -:1001D000620F711D811D911D42E0660F771F881F00 -:1001E000991F4A95D1F708958F929F92AF92BF922F -:1001F000CF92DF92EF92FF920E94CF004B015C0101 -:1002000088EEC82E83E0D82EE12CF12C0E94CF007E -:10021000681979098A099B09683E7340810591052F -:10022000A8F321E0C21AD108E108F10888EE880E8F -:1002300083E0981EA11CB11CC114D104E104F10497 -:1002400029F7FF90EF90DF90CF90BF90AF909F90F5 -:100250008F900895AF92BF92CF92DF92EF92FF926C -:100260000F931F93CF93DF936C017B018B01040FDE -:10027000151FEB015E01AE18BF08C017D10759F07A -:100280006991D601ED91FC910190F081E02DC601BC -:100290000995892B79F7C501DF91CF911F910F91B6 -:1002A000FF90EF90DF90CF90BF90AF900895FC014A -:1002B000538D448D252F30E0842F90E0821B930BCB -:1002C000541710F0CF96089501970895FC01918D71 -:1002D000828D981761F0A28DAE0FBF2FB11D5D9674 -:1002E0008C91928D9F5F9F73928F90E008958FEF16 -:1002F0009FEF0895FC01918D828D981731F0828DCA -:10030000E80FF11D858D90E008958FEF9FEF089520 -:10031000FC01918D228D892F90E0805C9F4F821B84 -:1003200091098F73992708958BE191E00E948801CC -:1003300021E0892B09F420E0822F089580E090E0ED -:10034000892B29F00E94940181110C9400000895DA -:10035000FC01A48DA80FB92FB11DA35ABF4F2C913A -:10036000848D90E001968F739927848FA689B78931 -:100370002C93A089B1898C91837080648C93938D28 -:10038000848D981306C00288F389E02D80818F7DCB -:1003900080830895EF92FF920F931F93CF93DF9383 -:1003A000EC0181E0888F9B8D8C8D98131AC0E889B1 -:1003B000F989808185FF15C09FB7F894EE89FF8980 -:1003C0006083E889F98980818370806480839FBF1E -:1003D00081E090E0DF91CF911F910F91FF90EF901E -:1003E0000895F62E0B8D10E00F5F1F4F0F7311272E -:1003F000E02E8C8D8E110CC00FB607FCFACFE88969 -:10040000F989808185FFF5CFCE010E94A801F1CF47 -:10041000EB8DEC0FFD2FF11DE35AFF4FF0829FB7DC -:10042000F8940B8FEA89FB8980818062CFCFCF93CC -:10043000DF93EC01888D8823B9F0AA89BB89E8890C -:10044000F9898C9185FD03C0808186FD0DC00FB6B2 -:1004500007FCF7CF8C9185FFF2CF808185FFEDCF30 -:10046000CE010E94A801E9CFDF91CF9108951F929C -:100470000F920FB60F9211242F933F938F939F9358 -:10048000AF93BF938091130190911401A091150136 -:10049000B09116013091120123E0230F2D3758F54A -:1004A0000196A11DB11D2093120180931301909319 -:1004B0001401A0931501B09316018091170190913A -:1004C0001801A0911901B0911A010196A11DB11D49 -:1004D0008093170190931801A0931901B0931A010A -:1004E000BF91AF919F918F913F912F910F900FBE30 -:1004F0000F901F90189526E8230F0296A11DB11D9D -:10050000D2CF1F920F920FB60F9211242F933F93C9 -:100510004F935F936F937F938F939F93AF93BF930B -:10052000EF93FF938BE191E00E94A801FF91EF917F -:10053000BF91AF919F918F917F916F915F914F91FB -:100540003F912F910F900FBE0F901F9018951F9203 -:100550000F920FB60F9211242F938F939F93EF93C7 -:10056000FF93E0912B01F0912C018081E09131010A -:10057000F091320182FD1BC09081809134018F5F28 -:100580008F7320913501821741F0E0913401F0E042 -:10059000E55EFE4F958F80933401FF91EF919F911F -:1005A0008F912F910F900FBE0F901F901895808103 -:1005B000F4CFEBE1F1E01382128288EE93E0A0E049 -:1005C000B0E084839583A683B78384E091E0918330 -:1005D000808385EC90E09587848784EC90E0978712 -:1005E000868780EC90E0918B808B81EC90E0938B00 -:1005F000828B82EC90E0958B848B86EC90E0978BDD -:10060000868B118E128E138E148E1092B901109259 -:10061000B8010895CF93DF93CDB7DEB7789484B552 -:10062000826084BD84B5816084BD85B5826085BDEE -:1006300085B5816085BD80916E00816080936E007C -:10064000109281008091810082608093810080916E -:10065000810081608093810080918000816080931F -:1006600080008091B10084608093B1008091B000DF -:1006700081608093B00080917A00846080937A00DA -:1006800080917A00826080937A0080917A00816004 -:1006900080937A0080917A00806880937A0010922B -:1006A000C1000DB71EB780E094E09093B90180932C -:1006B000B8018DB79EB794500FB6F8949EBF0FBE89 -:1006C0008DBFEDB7FEB731966F01EDE9F0E04491D3 -:1006D000E9E8F0E08491882399F090E0880F991F71 -:1006E000FC01E859FF4FA591B491FC01EE58FF4F72 -:1006F000859194918FB7F894EC91E42BEC938FBF94 -:10070000E0912B01F0912C0182E08083E0912701A0 -:10071000F09128011082E0912901F0912A0180E1F5 -:10072000808310923301E0912F01F091300186E037 -:100730008083E0912D01F0912E0180818061808382 -:10074000E0912D01F0912E01808188608083E091FD -:100750002D01F0912E01808180688083E0912D0130 -:10076000F0912E0180818F7D8083C6019C5FF60110 -:100770002FEF21938E179F07E1F78091B801909199 -:10078000B90181159440A8F0F12CE12CF601B1904B -:100790006F01C7010E94F403B81621F06B2DC70149 -:1007A0000E94FC03FFEFEF1AFF0AE11424E0F206B7 -:1007B00069F70FB6F8941EBF0FBE0DBF00E010E042 -:1007C00081E00E9487000E94F40080E00E94870080 -:1007D0000E94F4000115110599F30E9494018823E9 -:1007E00079F30E940000ECCFF999FECF92BD81BD54 -:1007F000F89A992780B50895262FF999FECF1FBA48 -:1008000092BD81BD20BD0FB6F894FA9AF99A0FBE39 -:1008100001960895EE0FFF1F0590F491E02D0994C5 -:04082000F894FFCF7A -:1008240000000000CA012A0157011702880166016D -:020834007A0147 -:00000001FF diff --git a/_Boards/Atmel/Board_ProMicro/MFBoards.h b/_Boards/Atmel/Board_ProMicro/MFBoards.h deleted file mode 100644 index d114f358..00000000 --- a/_Boards/Atmel/Board_ProMicro/MFBoards.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// MFBoards.h (Arduino ProMicro) -// -// (C) MobiFlight Project 2022 -// - -#ifndef MFBoardMicro_h -#define MFBoardMicro_h - -#ifndef MF_SEGMENT_SUPPORT -#define MF_SEGMENT_SUPPORT 1 -#endif -#ifndef MF_LCD_SUPPORT -#define MF_LCD_SUPPORT 1 -#endif -#ifndef MF_STEPPER_SUPPORT -#define MF_STEPPER_SUPPORT 1 -#endif -#ifndef MF_SERVO_SUPPORT -#define MF_SERVO_SUPPORT 1 -#endif -#ifndef MF_ANALOG_SUPPORT -#define MF_ANALOG_SUPPORT 1 -#endif -#ifndef MF_OUTPUT_SHIFTER_SUPPORT -#define MF_OUTPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_INPUT_SHIFTER_SUPPORT -#define MF_INPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#endif -#ifndef MF_DIGIN_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#define MF_DIGIN_MUX_SUPPORT 1 -#endif - -#ifndef MOBIFLIGHT_TYPE -#define MOBIFLIGHT_TYPE "MobiFlight Micro" -#endif -#ifndef MOBIFLIGHT_NAME -#define MOBIFLIGHT_NAME "MobiFlight Micro" -#endif -#ifndef MEMLEN_CONFIG -#define MEMLEN_CONFIG 440 // max. size for config which wil be stored in EEPROM -#endif -#ifndef MEMLEN_NAMES_BUFFER -#define MEMLEN_NAMES_BUFFER 350 // max. size for configBuffer, contains only names from inputs -#endif -#ifndef MF_MAX_DEVICEMEM -#define MF_MAX_DEVICEMEM 470 // max. memory size for devices -#endif - -#endif - -// MFBoards.h diff --git a/_Boards/Atmel/Board_ProMicro/arduino_micro.board.json b/_Boards/Atmel/Board_ProMicro/arduino_micro.board.json deleted file mode 100644 index 8ee31bc3..00000000 --- a/_Boards/Atmel/Board_ProMicro/arduino_micro.board.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "$schema": "./mfboard.schema.json", - "AvrDudeSettings": { - "Attempts": 1, - "BaudRates": [ "57600" ], - "Device": "atmega32u4", - "Programmer": "avr109", - "Timeout": 15000 - }, - "Connection": { - "ConnectionDelay": 1250, - "DelayAfterFirmwareUpdate": 1250, - "DtrEnable": true, - "EEPROMSize": 440, - "ExtraConnectionRetry": false, - "ForceResetOnFirmwareUpdate": true, - "MessageSize": 64 - }, - "HardwareIds": [ - "^VID_1B4F&PID_9206", - "^VID_2341&PID_8036", - "^VID_2341&PID_8037" - ], - "Info": { - "CanInstallFirmware": true, - "CanResetBoard": true, - "FirmwareBaseName": "mobiflight_micro", - "FirmwareExtension": "hex", - "FriendlyName": "Arduino Pro Micro", - "LatestFirmwareVersion": "2.5.2", - "MobiFlightType": "MobiFlight Micro", - "ResetFirmwareFile": "reset.arduino_promicro_1_0_2.hex" - }, - "ModuleLimits": { - "MaxAnalogInputs": 9, - "MaxButtons": 18, - "MaxEncoders": 9, - "MaxInputShifters": 6, - "MaxLcdI2C": 2, - "MaxLedSegments": 6, - "MaxOutputs": 18, - "MaxServos": 8, - "MaxShifters": 6, - "MaxSteppers": 4, - "MaxInputMultiplexer": 6, - "MaxCustomDevices": 0 - }, - "Pins": [ - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 0 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 1 - }, - { - "isAnalog": false, - "isI2C": true, - "isPWM": false, - "Pin": 2 - }, - { - "isAnalog": false, - "isI2C": true, - "isPWM": true, - "Pin": 3 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 4 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 5 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": true, - "Pin": 6 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 7 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 8 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": true, - "Pin": 9 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": true, - "Pin": 10 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 14 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 15 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 16 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 18, - "Name": "A0" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 19, - "Name": "A1" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 20, - "Name": "A2" - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Pin": 21, - "Name": "A3" - } - ] -} \ No newline at end of file diff --git a/_Boards/Atmel/Board_ProMicro/reset.arduino_promicro_1_0_2.hex b/_Boards/Atmel/Board_ProMicro/reset.arduino_promicro_1_0_2.hex deleted file mode 100644 index 635a616a..00000000 --- a/_Boards/Atmel/Board_ProMicro/reset.arduino_promicro_1_0_2.hex +++ /dev/null @@ -1,262 +0,0 @@ -:100000000C94CD000C94F5000C94F5000C94F500C4 -:100010000C94F5000C94F5000C94F5000C94F5008C -:100020000C94F5000C94F5000C941E040C948D04B3 -:100030000C94F5000C94F5000C94F5000C94F5006C -:100040000C94F5000C94F5000C94F5000C94F5005C -:100050000C94F5000C94F5000C94F5000C94D4036A -:100060000C94F5000C94F5000C94F5000C94F5003C -:100070000C94F5000C94F5000C94F5000C94F5002C -:100080000C94F5000C94F5000C94F5000C94F5001C -:100090000C94F5000C94F5000C94F5000C94F5000C -:1000A0000C94F5000C94F5000C94F500080B00027C -:1000B0000202000009040000010202000005240001 -:1000C0001001052401010104240206052406000193 -:1000D0000705810310004009040100020A00000026 -:1000E00007050202400000070583024000000403E8 -:1000F000090412010002EF02014041233780000190 -:100100000102030141726475696E6F204C4C43001B -:1001100041726475696E6F204D6963726F000000F3 -:100120000000240027002A002D00300000000000FD -:10013000250028002B002E003100040404040403D1 -:100140000405020202020403020202020606060677 -:10015000060604040202020404040802011040809E -:10016000401020408040800802040180402010029E -:1001700001108010204040200000000200090F0004 -:1001800000030401000C000000000000000000005B -:100190000000000000000000BF0611241FBECFEFCA -:1001A000DAE0DEBFCDBF11E0A0E0B1E0E4E1F0E1D4 -:1001B00002C005900D92A632B107D9F721E0A6E260 -:1001C000B1E001C01D92A739B207E1F710E0CDEC14 -:1001D000D0E004C02197FE010E940208CC3CD10768 -:1001E000C9F70E94D8060C9408080C940000E5E8B2 -:1001F000F1E02491E6E6F1E03491E7E4F1E0949156 -:10020000992309F430C02223E9F021502F30D0F493 -:10021000E22FF0E0E25FFE4F0C9402083C01400147 -:100220001D0134013801220122012201430149014B -:100230004D015101570122015B01209180002F7770 -:1002400020938000E92FF0E0EE0FFF1FE45DFE4FEA -:10025000A591B4919FB7F894EC91811132C030957B -:100260003E233C939FBF0895209180002F7DE8CFCF -:1002700020918000277FE4CF24B52F7724BDE2CFE3 -:1002800024B52F7DFBCF209190002F7720939000F5 -:10029000D9CF209190002F7DF9CF20919000277F1A -:1002A000F5CF2091C0002F772093C000CBCF2091B5 -:1002B000C0002F7DF9CF2091C200277F2093C2007C -:1002C000C1CF3E2BCECFFC0180914401882311F198 -:1002D0003FB7F89482E08093E9002091F200822FEA -:1002E00090E01816190614F481E090E0882339F0A4 -:1002F000289A44E6409343014091F1004083222331 -:1003000039F02091F200211103C02BE62093E80080 -:100310003FBF08958FEF9FEF08952FB7F89483E0C4 -:100320008093E9009091E800892F807295FF04C0C6 -:100330009091F20080E4891B2FBF089580913B01CA -:1003400081110DC082E08093370184E080933801F1 -:1003500010923A011092390181E080933B0187E3CA -:1003600091E008953FB7F894809133019091340162 -:10037000A0913501B091360126B5A89B05C02F3F4D -:1003800019F00196A11DB11D3FBFBA2FA92F982FBB -:100390008827BC01CD01620F711D811D911D42E0B6 -:1003A000660F771F881F991F4A95D1F708958F927E -:1003B0009F92AF92BF92CF92DF92EF92FF924B014A -:1003C0005C010E94B2016B017C010E94B2016C19B8 -:1003D0007D098E099F09683E734081059105A8F348 -:1003E00021E0821A9108A108B10888EEC80E83E0C6 -:1003F000D81EE11CF11C81149104A104B10429F759 -:10040000FF90EF90DF90CF90BF90AF909F908F9034 -:1004100008954091280150912901209126013091A1 -:10042000270142175307B4F49091E8009570E1F367 -:100430009091E80092FD19C08093F100809128010D -:100440009091290101968F739927892B19F48EEFCA -:100450008093E80080912801909129010196909362 -:1004600029018093280181E0089580E00895EF92AA -:10047000FF920F931F93CF93DF93F82E192FE62E41 -:10048000042F81E0860F880F0E94090283E00E94FA -:100490000902CF2DD12FEC0EFD2EF11CCE15DF055C -:1004A000B9F007FF13C0FE0184910E940902182FC2 -:1004B00080E00E940902812321968111EFCFDF9114 -:1004C000CF911F910F91FF90EF9008958881EDCF0C -:1004D00081E0F5CFDF92EF92FF920F931F93CF93BE -:1004E000DF93D82E8A01EB017B01E40EF51ECE15B9 -:1004F000DF0559F0D7FE12C0FE0184910E94090267 -:1005000021968111F4CF0FEF1FEFC801DF91CF913A -:100510001F910F91FF90EF90DF9008958881EECFAB -:100520000F931F93CF93DF931F92CDB7DEB782E077 -:10053000898342E450E06CEA70E080E80E946A023D -:100540000E949E01DC0112960D911C91011511056E -:1005500089F0D801ED91FC910280F381E02DBE017C -:100560006F5F7F4FC801099597FD04C0F8010085B2 -:100570001185ECCF89810F90DF91CF911F910F9161 -:100580000895615030F02091F100FC012083019624 -:10059000F8CF289A84E68093430108958F929F9222 -:1005A000AF92BF92CF92DF92EF92FF920F931F9381 -:1005B000CF93DF936C017B018A0180910B0188232B -:1005C00009F45CC080914401882309F457C08091EC -:1005D0002C0180FF05C08091E00082608093E000E4 -:1005E000E801B12C8AEFA82E93E0892E2AE3922EFF -:1005F000209711F4BB20D9F10E948D0181110AC00E -:10060000AA94AA20D9F161E070E080E090E00E9415 -:10061000D701EECF8C171D0611F00CF08C2F9FB771 -:10062000F8948092E9002091E80025FD02C09FBF68 -:10063000DFCF282F30E0C21BD30BF701815020F011 -:1006400041914093F100FACFE20EF31EBB2021F05E -:100650009092E800B12CEBCF8091E80085FDE7CFC8 -:100660009092E800BB24B394209709F3F3CF5D9AEE -:1006700084E680932B01101611063CF081E090E097 -:10068000F6019383828310E000E0C801DF91CF91EF -:100690001F910F91FF90EF90DF90CF90BF90AF90A0 -:1006A0009F908F900895CF93DF931F92CDB7DEB7C1 -:1006B0006983DC01ED91FC910280F381E02D41E042 -:1006C00050E0BE016F5F7F4F09950F90DF91CF9192 -:1006D000089583E08093E9008091F200882319F067 -:1006E0008AE38093E80008950E948D0190E00895C8 -:1006F000CF93DF931F92CDB7DEB7FC01848595853C -:1007000097FD08C02FEF3FEF358724870F90DF91CB -:10071000CF910895CE0101960E946301019719F4CB -:10072000898190E0F3CF8FEF9FEFF0CF0F931F936E -:10073000CF93DF931F92CDB7DEB78C01FC01848588 -:10074000958597FF0BC0CE0101960E94630101972A -:1007500071F4898190E0F80195878487F801848598 -:1007600095850F90DF91CF911F910F9108958FEF95 -:100770009FEFF1CFFC018485958597FD0BC09FB756 -:10078000F89482E08093E9008091F2009FBF90E0AE -:10079000019608959FB7F89482E08093E9008091D4 -:1007A000F2009FBF90E008951F920F920FB60F9234 -:1007B00011242F933F938F939F93AF93BF93809177 -:1007C0002F0190913001A0913101B091320130910F -:1007D0002E0123E0230F2D3758F50196A11DB11DE1 -:1007E00020932E0180932F0190933001A09331012B -:1007F000B09332018091330190913401A091350181 -:10080000B09136010196A11DB11D809333019093E3 -:100810003401A0933501B0933601BF91AF919F9100 -:100820008F913F912F910F900FBE0F901F901895B1 -:1008300026E8230F0296A11DB11DD2CF1F920F9261 -:100840000FB60F9211248F939F938091E1009091A6 -:10085000E100937F9093E10083FF0FC01092E900C5 -:1008600091E09093EB001092EC0092E39093ED00F6 -:100870001092440198E09093F00082FF22C093E030 -:100880009093E9009091F200992319F09AE39093E4 -:10089000E80090912B01992341F090912B01915008 -:1008A00090932B01911101C05D9890914301992380 -:1008B00041F090914301915090934301911101C0F7 -:1008C000289884FF18C08091E2008E7E816080931A -:1008D000E2008091E1008F7E8093E10080912C0105 -:1008E0008E7E806180932C019F918F910F900FBE1F -:1008F0000F901F90189580FFF7CF8091E2008E7EB9 -:1009000080618093E2008091E1008E7E8093E1001F -:1009100080912C018E7E8160E5CF1F920F920FB6E1 -:100920000F921124CF92DF92EF92FF920F931F93B9 -:100930002F933F934F935F936F937F938F939F93E7 -:10094000AF93BF93EF93FF93CF93DF93CDB7DEB712 -:100950006C97DEBFCDBF1092E9008091E80083FF65 -:1009600025C068E0CE0145960E94C10282EF8093C7 -:10097000E8008D8987FF39C09091E80090FFFCCF97 -:10098000982F907609F034C19E894F89588D2F8910 -:10099000F88C911131C0803861F580912D018093E0 -:1009A000F1001092F1008EEF8093E8006C960FB684 -:1009B000F894DEBF0FBECDBFDF91CF91FF91EF91D5 -:1009C000BF91AF919F918F917F916F915F914F9167 -:1009D0003F912F911F910F91FF90EF90DF90CF905B -:1009E0000F900FBE0F901F9018959EEF9093E80008 -:1009F000C7CF1092F100D5CF913059F48111D3CFE8 -:100A00004130510581F680912D018D7F80932D011C -:100A1000CACF933049F48111C6CF4130510519F640 -:100A200080912D018260F2CF953041F48091E800F1 -:100A300080FFFCCF20682093E300B5CF963009F00B -:100A4000A9C00B8D1C8D22E01092E90010922901A3 -:100A500010922801F2122EC0109227011092260146 -:100A60000E9490021F8299E09983FA8291E09E830E -:100A700090EA98879AEF998720912801309129016F -:100A8000275F3F4F3C832B838D831092E9001092A8 -:100A9000290110922801109327010093260149E0B3 -:100AA00050E0BE016F5F7F4F80E00E946A020E94AB -:100AB000900279CF10932701009326010E949E0196 -:100AC000DC0112960D911C910115110509F451C11B -:100AD000D801ED91FC910480F581E02DBE016B5EA3 -:100AE0007F4FC8010995009709F03EC1F8010085C4 -:100AF0001185EACFF3E0FF120EC08F89882309F435 -:100B000040C0823061F440E86DE080E191E00E94F5 -:100B10003702811148CF81E28093EB0047CF8130CB -:100B200029F440E86BE084E091E0F1CF833099F75D -:100B30000E949E01DC011296ED90FC908E010F5FE9 -:100B40001F4F6801E114F10479F0D701ED91FC9198 -:100B50000680F781E02DB801C7010995080F111D26 -:100B6000F701E084F184EECFD8011C92F6010190E8 -:100B70000020E9F73197BF016C197D0940E0C601FB -:100B8000C6CF6EEE70E0FB01449150E080E80E9419 -:100B90006A0209CF973009F4BECF983021F481E082 -:100BA0008093F10000CF993009F0FDCE837009F0F9 -:100BB000B2CFEDE0F1E081E031E096E32191222334 -:100BC00071F08093E9003093EB00DF0111972C91D5 -:100BD0002093EC009093ED008F5F873079F78EE7DC -:100BE0008093EA001092EA008F8980934401DBCE63 -:100BF0008B8D9C8D1092E900109229011092280192 -:100C00009093270180932601898D811192C08E894E -:100C10009D89913A49F4813209F07DCF47E050E057 -:100C200064E071E080E0B3CF913209F074CF833299 -:100C300069F48F89988DB0E0A0E0809300019093D3 -:100C40000101A0930201B0930301ADCE803269F49B -:100C50008091E80082FFFCCF67E084E091E00E9491 -:100C6000C1028BEF8093E8009ECE823209F09BCECA -:100C70008F8980930B01EEEFFFE7859194918B3F75 -:100C80009C4D51F1E0E0F8E0809104019091050164 -:100C9000A0910601B0910701803B9440A105B105E8 -:100CA000F1F480910B0180FD1AC0EE3F8AE0F80755 -:100CB00089F587E797E7918380838091600080932F -:100CC0002A0188E19BE00FB6F894A8958093600014 -:100CD0000FBE9093600067CEEEEFFAE0D5CF808133 -:100CE00091818737974709F05ECEA8958091600083 -:100CF00088618093600080912A0180936000EE3FBC -:100D00002AE0F20789F08091FE0A9091FF0A918310 -:100D1000808349CE808191818737980751F29093E3 -:100D2000FF0A8093FE0AC5CF1092FF0A1092FE0AB6 -:100D30003ACE0E949E01DC0112960D911C91011584 -:100D4000110509F4E8CED801ED91FC910190F081F4 -:100D5000E02DBE016B5E7F4FC8010995811123CE46 -:100D6000F80100851185EBCF181619060CF41BCE7F -:100D7000D2CEF1E0FF12BECE62EF70E004CFE5E428 -:100D8000F1E01382128288EE93E0A0E0B0E0848369 -:100D90009583A683B78387E191E0918380838FEF6A -:100DA0009FEF958784871092960110929501089580 -:100DB000CF93DF93CDB7DEB7789484B5826084BDDE -:100DC00084B5816084BD85B5826085BD85B581604F -:100DD00085BD80916E00816080936E0010928100CD -:100DE0008091810082608093810080918100816088 -:100DF0008093810080918000816080938000809149 -:100E00009100826080939100809191008160809335 -:100E10009100809190008160809390008091C1004A -:100E200084608093C1008091C10082608093C10082 -:100E30008091C10081608093C1008091C300816076 -:100E40008093C3008091C00082608093C000809135 -:100E5000C20081608093C20080917A008460809398 -:100E60007A0080917A00826080937A0080917A0083 -:100E7000816080937A0080917A00806880937A0004 -:100E80001092440110922D0110922C018091D700F4 -:100E900081608093D70080EA8093D80089B5806113 -:100EA00089BD89B5826089BD09B400FEFDCF61E0CE -:100EB00070E080E090E00E94D7018091D8008F7CA4 -:100EC00080618093D8008091E000807F8093E00073 -:100ED0008091E1008E7E8093E1008DE08093E200BE -:100EE000559A209A5D9828980DB71EB780E094E037 -:100EF00090939601809395018DB79EB794500FB64D -:100F0000F8949EBF0FBE8DBFEDB7FEB731966F014F -:100F1000E6E6F1E04491E7E4F1E08491882399F07A -:100F200090E0880F991FFC01E25EFE4FA591B491FD -:100F3000FC01E45DFE4F859194918FB7F894EC919C -:100F4000E42BEC938FBF8FEF9FEF90935201809330 -:100F50005101C6019C5FF6012FEF21938E179F0769 -:100F6000E1F7809195019091960181159440A8F048 -:100F7000F12CE12CF601B1906F01C7010E94EC0742 -:100F8000B81621F06B2DC7010E94F407FFEFEF1A8E -:100F9000FF0AE11424E0F20669F70FB6F8941EBFC9 -:100FA0000FBE0DBF00E010E081E00E94F70068EE88 -:100FB00073E080E090E00E94D70180E00E94F7009B -:100FC00068EE73E080E090E00E94D7010115110502 -:100FD00059F30E940000E8CFF999FECF92BD81BD80 -:100FE000F89A992780B50895262FF999FECF1FBA50 -:100FF00092BD81BD20BD0FB6F894FA9AF99A0FBE42 -:1010000001960895EE0FFF1F0590F491E02D0994CD -:04101000F894FFCF82 -:10101400FFFFFFFF00E100000000000000C180812D -:10102400000000000000005303CE0274036903BAF9 -:061034000378039603009F -:00000001FF diff --git a/_Boards/Atmel/Board_Uno/MFBoards.h b/_Boards/Atmel/Board_Uno/MFBoards.h deleted file mode 100644 index 71a37786..00000000 --- a/_Boards/Atmel/Board_Uno/MFBoards.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// MFBoards.h (Arduino Uno/Nano) -// -// (C) MobiFlight Project 2022 -// - -#ifndef MFBoardUno_h -#define MFBoardUno_h - -#ifndef MF_SEGMENT_SUPPORT -#define MF_SEGMENT_SUPPORT 1 -#endif -#ifndef MF_LCD_SUPPORT -#define MF_LCD_SUPPORT 1 -#endif -#ifndef MF_STEPPER_SUPPORT -#define MF_STEPPER_SUPPORT 1 -#endif -#ifndef MF_SERVO_SUPPORT -#define MF_SERVO_SUPPORT 1 -#endif -#ifndef MF_ANALOG_SUPPORT -#define MF_ANALOG_SUPPORT 1 -#endif -#ifndef MF_OUTPUT_SHIFTER_SUPPORT -#define MF_OUTPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_INPUT_SHIFTER_SUPPORT -#define MF_INPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#endif -#ifndef MF_DIGIN_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#define MF_DIGIN_MUX_SUPPORT 1 -#endif - -#ifndef MOBIFLIGHT_TYPE -#define MOBIFLIGHT_TYPE "MobiFlight Uno" -#endif -#ifndef MOBIFLIGHT_NAME -#define MOBIFLIGHT_NAME "MobiFlight Uno" -#endif -#ifndef MEMLEN_CONFIG -#define MEMLEN_CONFIG 286 // max. size for config which wil be stored in EEPROM -#endif -#ifndef MEMLEN_NAMES_BUFFER -#define MEMLEN_NAMES_BUFFER 220 // max. size for configBuffer, contains only names from inputs -#endif -#ifndef MF_MAX_DEVICEMEM -#define MF_MAX_DEVICEMEM 420 // max. memory size for devices -#endif - -#endif - -// MFBoards.h \ No newline at end of file diff --git a/_Boards/Atmel/Board_Uno/arduino_uno.board.json b/_Boards/Atmel/Board_Uno/arduino_uno.board.json deleted file mode 100644 index 26b096db..00000000 --- a/_Boards/Atmel/Board_Uno/arduino_uno.board.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "$schema": "./mfboard.schema.json", - "AvrDudeSettings": { - "Attempts": 1, - "Device": "atmega328p", - "BaudRates": ["115200"], - "Programmer": "arduino", - "Timeout": 15000 - }, - "Connection": { - "ConnectionDelay": 1750, - "DelayAfterFirmwareUpdate": 0, - "DtrEnable": true, - "EEPROMSize": 286, - "ExtraConnectionRetry": true, - "ForceResetOnFirmwareUpdate": false, - "MessageSize": 64 - }, - "HardwareIds": [ - "^VID_10C4&PID_EA60", - "^VID_2341&PID_0043", - "^VID_2A03&PID_0043", - "^VID_2341&PID_0243", - "^VID_2341&PID_0001", - "^VID_1A86&PID_7523", - "^VID_0403&PID_6001", - "^VID_0403\\+PID_6001\\+.+" - ], - "Info": { - "CanInstallFirmware": true, - "CanResetBoard": true, - "FriendlyName": "Arduino Uno", - "FirmwareBaseName": "mobiflight_uno", - "FirmwareExtension": "hex", - "LatestFirmwareVersion": "2.5.2", - "MobiFlightType": "MobiFlight Uno", - "ResetFirmwareFile": "reset.arduino_uno_1_0_2.hex" - }, - "ModuleLimits": { - "MaxAnalogInputs": 6, - "MaxButtons": 18, - "MaxEncoders": 9, - "MaxInputShifters": 6, - "MaxLcdI2C": 2, - "MaxLedSegments": 6, - "MaxOutputs": 18, - "MaxServos": 8, - "MaxShifters": 6, - "MaxSteppers": 4, - "MaxInputMultiplexer": 6, - "MaxCustomDevices": 0 - }, - "Pins": [ - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 2 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 3 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 4 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 5 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 6 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 7 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 8 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 9 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 10 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 11 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 12 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 13 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A0", - "Pin": 14 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A1", - "Pin": 15 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A2", - "Pin": 16 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A3", - "Pin": 17 - }, - { - "isAnalog": true, - "isI2C": true, - "isPWM": false, - "Name": "A4", - "Pin": 18 - }, - { - "isAnalog": true, - "isI2C": true, - "isPWM": false, - "Name": "A5", - "Pin": 19 - } - ] -} diff --git a/_Boards/Atmel/Board_Uno/reset.arduino_uno_1_0_2.hex b/_Boards/Atmel/Board_Uno/reset.arduino_uno_1_0_2.hex deleted file mode 100644 index 86408120..00000000 --- a/_Boards/Atmel/Board_Uno/reset.arduino_uno_1_0_2.hex +++ /dev/null @@ -1,134 +0,0 @@ -:100000000C945D000C9485000C9485000C94850084 -:100010000C9485000C9485000C9485000C9485004C -:100020000C9485000C9485000C9485000C9485003C -:100030000C9485000C9485000C9485000C9485002C -:100040000C9437020C9485000C94A7020C94810246 -:100050000C9485000C9485000C9485000C9485000C -:100060000C9485000C9485000000000024002700FB -:100070002A0000000000250028002B0004040404CE -:100080000404040402020202020203030303030342 -:10009000010204081020408001020408102001021F -:1000A00004081020000000080002010000030407FB -:1000B0000000000000000000D90211241FBECFEF95 -:1000C000D8E0DEBFCDBF11E0A0E0B1E0E4E2F8E0AF -:1000D00002C005900D92A231B107D9F721E0A2E14B -:1000E000B1E001C01D92AA3BB207E1F710E0CDE5F7 -:1000F000D0E004C02197FE010E940A04CC35D1074C -:10010000C9F70E940A030C9410040C940000E1EB60 -:10011000F0E02491EDE9F0E09491E9E8F0E0E49179 -:10012000EE23C9F0222339F0233001F1A8F4213065 -:1001300019F1223029F1F0E0EE0FFF1FEE58FF4FCA -:10014000A591B4912FB7F894EC91811126C09095A8 -:100150009E239C932FBF08952730A9F02830C9F023 -:10016000243049F7209180002F7D03C0209180002A -:100170002F7720938000DFCF24B52F7724BDDBCFEE -:1001800024B52F7DFBCF2091B0002F772093B000B6 -:10019000D2CF2091B0002F7DF9CF9E2BDACF3FB781 -:1001A000F8948091170190911801A0911901B091D4 -:1001B0001A0126B5A89B05C02F3F19F00196A11D75 -:1001C000B11D3FBFBA2FA92F982F8827BC01CD01A1 -:1001D000620F711D811D911D42E0660F771F881F00 -:1001E000991F4A95D1F708958F929F92AF92BF922F -:1001F000CF92DF92EF92FF920E94CF004B015C0101 -:1002000088EEC82E83E0D82EE12CF12C0E94CF007E -:10021000681979098A099B09683E7340810591052F -:10022000A8F321E0C21AD108E108F10888EE880E8F -:1002300083E0981EA11CB11CC114D104E104F10497 -:1002400029F7FF90EF90DF90CF90BF90AF909F90F5 -:100250008F900895AF92BF92CF92DF92EF92FF926C -:100260000F931F93CF93DF936C017B018B01040FDE -:10027000151FEB015E01AE18BF08C017D10759F07A -:100280006991D601ED91FC910190F081E02DC601BC -:100290000995892B79F7C501DF91CF911F910F91B6 -:1002A000FF90EF90DF90CF90BF90AF900895FC014A -:1002B000538D448D252F30E0842F90E0821B930BCB -:1002C000541710F0CF96089501970895FC01918D71 -:1002D000828D981761F0A28DAE0FBF2FB11D5D9674 -:1002E0008C91928D9F5F9F73928F90E008958FEF16 -:1002F0009FEF0895FC01918D828D981731F0828DCA -:10030000E80FF11D858D90E008958FEF9FEF089520 -:10031000FC01918D228D892F90E0805C9F4F821B84 -:1003200091098F73992708958BE191E00E948801CC -:1003300021E0892B09F420E0822F089580E090E0ED -:10034000892B29F00E94940181110C9400000895DA -:10035000FC01A48DA80FB92FB11DA35ABF4F2C913A -:10036000848D90E001968F739927848FA689B78931 -:100370002C93A089B1898C91837080648C93938D28 -:10038000848D981306C00288F389E02D80818F7DCB -:1003900080830895EF92FF920F931F93CF93DF9383 -:1003A000EC0181E0888F9B8D8C8D98131AC0E889B1 -:1003B000F989808185FF15C09FB7F894EE89FF8980 -:1003C0006083E889F98980818370806480839FBF1E -:1003D00081E090E0DF91CF911F910F91FF90EF901E -:1003E0000895F62E0B8D10E00F5F1F4F0F7311272E -:1003F000E02E8C8D8E110CC00FB607FCFACFE88969 -:10040000F989808185FFF5CFCE010E94A801F1CF47 -:10041000EB8DEC0FFD2FF11DE35AFF4FF0829FB7DC -:10042000F8940B8FEA89FB8980818062CFCFCF93CC -:10043000DF93EC01888D8823B9F0AA89BB89E8890C -:10044000F9898C9185FD03C0808186FD0DC00FB6B2 -:1004500007FCF7CF8C9185FFF2CF808185FFEDCF30 -:10046000CE010E94A801E9CFDF91CF9108951F929C -:100470000F920FB60F9211242F933F938F939F9358 -:10048000AF93BF938091130190911401A091150136 -:10049000B09116013091120123E0230F2D3758F54A -:1004A0000196A11DB11D2093120180931301909319 -:1004B0001401A0931501B09316018091170190913A -:1004C0001801A0911901B0911A010196A11DB11D49 -:1004D0008093170190931801A0931901B0931A010A -:1004E000BF91AF919F918F913F912F910F900FBE30 -:1004F0000F901F90189526E8230F0296A11DB11D9D -:10050000D2CF1F920F920FB60F9211242F933F93C9 -:100510004F935F936F937F938F939F93AF93BF930B -:10052000EF93FF938BE191E00E94A801FF91EF917F -:10053000BF91AF919F918F917F916F915F914F91FB -:100540003F912F910F900FBE0F901F9018951F9203 -:100550000F920FB60F9211242F938F939F93EF93C7 -:10056000FF93E0912B01F0912C018081E09131010A -:10057000F091320182FD1BC09081809134018F5F28 -:100580008F7320913501821741F0E0913401F0E042 -:10059000E55EFE4F958F80933401FF91EF919F911F -:1005A0008F912F910F900FBE0F901F901895808103 -:1005B000F4CFEBE1F1E01382128288EE93E0A0E049 -:1005C000B0E084839583A683B78384E091E0918330 -:1005D000808385EC90E09587848784EC90E0978712 -:1005E000868780EC90E0918B808B81EC90E0938B00 -:1005F000828B82EC90E0958B848B86EC90E0978BDD -:10060000868B118E128E138E148E1092B901109259 -:10061000B8010895CF93DF93CDB7DEB7789484B552 -:10062000826084BD84B5816084BD85B5826085BDEE -:1006300085B5816085BD80916E00816080936E007C -:10064000109281008091810082608093810080916E -:10065000810081608093810080918000816080931F -:1006600080008091B10084608093B1008091B000DF -:1006700081608093B00080917A00846080937A00DA -:1006800080917A00826080937A0080917A00816004 -:1006900080937A0080917A00806880937A0010922B -:1006A000C1000DB71EB780E094E09093B90180932C -:1006B000B8018DB79EB794500FB6F8949EBF0FBE89 -:1006C0008DBFEDB7FEB731966F01EDE9F0E04491D3 -:1006D000E9E8F0E08491882399F090E0880F991F71 -:1006E000FC01E859FF4FA591B491FC01EE58FF4F72 -:1006F000859194918FB7F894EC91E42BEC938FBF94 -:10070000E0912B01F0912C0182E08083E0912701A0 -:10071000F09128011082E0912901F0912A0180E1F5 -:10072000808310923301E0912F01F091300186E037 -:100730008083E0912D01F0912E0180818061808382 -:10074000E0912D01F0912E01808188608083E091FD -:100750002D01F0912E01808180688083E0912D0130 -:10076000F0912E0180818F7D8083C6019C5FF60110 -:100770002FEF21938E179F07E1F78091B801909199 -:10078000B90181159440A8F0F12CE12CF601B1904B -:100790006F01C7010E94F403B81621F06B2DC70149 -:1007A0000E94FC03FFEFEF1AFF0AE11424E0F206B7 -:1007B00069F70FB6F8941EBF0FBE0DBF00E010E042 -:1007C00081E00E9487000E94F40080E00E94870080 -:1007D0000E94F4000115110599F30E9494018823E9 -:1007E00079F30E940000ECCFF999FECF92BD81BD54 -:1007F000F89A992780B50895262FF999FECF1FBA48 -:1008000092BD81BD20BD0FB6F894FA9AF99A0FBE39 -:1008100001960895EE0FFF1F0590F491E02D0994C5 -:04082000F894FFCF7A -:1008240000000000CA012A0157011702880166016D -:020834007A0147 -:00000001FF diff --git a/_Boards/RaspberryPi/Pico/MFBoards.h b/_Boards/RaspberryPi/Pico/MFBoards.h deleted file mode 100644 index c60cd6ec..00000000 --- a/_Boards/RaspberryPi/Pico/MFBoards.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef MFBoardMicro_h -#define MFBoardMicro_h - -#ifndef MF_SEGMENT_SUPPORT -#define MF_SEGMENT_SUPPORT 1 -#endif -#ifndef MF_LCD_SUPPORT -#define MF_LCD_SUPPORT 1 -#endif -#ifndef MF_STEPPER_SUPPORT -#define MF_STEPPER_SUPPORT 1 -#endif -#ifndef MF_SERVO_SUPPORT -#define MF_SERVO_SUPPORT 1 -#endif -#ifndef MF_ANALOG_SUPPORT -#define MF_ANALOG_SUPPORT 1 -#endif -#ifndef MF_OUTPUT_SHIFTER_SUPPORT -#define MF_OUTPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_INPUT_SHIFTER_SUPPORT -#define MF_INPUT_SHIFTER_SUPPORT 1 -#endif -#ifndef MF_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#endif -#ifndef MF_DIGIN_MUX_SUPPORT -#define MF_MUX_SUPPORT 1 -#define MF_DIGIN_MUX_SUPPORT 1 -#endif - -#ifndef MOBIFLIGHT_TYPE -#define MOBIFLIGHT_TYPE "MobiFlight RaspiPico" -#endif -#ifndef MOBIFLIGHT_NAME -#define MOBIFLIGHT_NAME "MobiFlight RaspiPico" -#endif -#ifndef MEMLEN_CONFIG -#define MEMLEN_CONFIG 1496 // MUST be less than EEPROM_SIZE!! MEM_OFFSET_CONFIG + MEM_LEN_CONFIG <= EEPROM_SIZE, see: eeprom_write_block (MEM_OFFSET_CONFIG, configBuffer, MEM_LEN_CONFIG); -#endif -#ifndef MEMLEN_NAMES_BUFFER -#define MEMLEN_NAMES_BUFFER 1000 // max. size for configBuffer, contains only names from inputs -#endif -#ifndef MF_MAX_DEVICEMEM -#define MF_MAX_DEVICEMEM 1000 // max. memory size for devices -#endif - -#endif diff --git a/_Boards/RaspberryPi/Pico/raspberrypi_pico.board.json b/_Boards/RaspberryPi/Pico/raspberrypi_pico.board.json deleted file mode 100644 index a4c541df..00000000 --- a/_Boards/RaspberryPi/Pico/raspberrypi_pico.board.json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "$schema": "./mfboard.schema.json", - "UsbDriveSettings": { - "VolumeLabel": "RPI-RP2", - "VerificationFileName": "INFO_UF2.TXT" - }, - "Connection": { - "ConnectionDelay": 1250, - "DelayAfterFirmwareUpdate": 1250, - "DtrEnable": true, - "EEPROMSize": 1496, - "ExtraConnectionRetry": false, - "ForceResetOnFirmwareUpdate": true, - "MessageSize": 64 - }, - "HardwareIds": ["^VID_2E8A&PID_000A"], - "Info": { - "CanInstallFirmware": true, - "CanResetBoard": true, - "FirmwareBaseName": "mobiflight_raspberrypico", - "FirmwareExtension": "uf2", - "FriendlyName": "Raspberry Pico", - "LatestFirmwareVersion": "2.5.2", - "MobiFlightType": "MobiFlight RaspiPico", - "ResetFirmwareFile": "reset.raspberry_pico_flash_nuke.uf2" - }, - "ModuleLimits": { - "MaxAnalogInputs": 3, - "MaxInputShifters": 6, - "MaxButtons": 26, - "MaxEncoders": 13, - "MaxLcdI2C": 2, - "MaxLedSegments": 6, - "MaxOutputs": 26, - "MaxServos": 8, - "MaxShifters": 6, - "MaxSteppers": 6, - "MaxInputMultiplexer": 6, - "MaxCustomDevices": 0 - }, - "Pins": [ - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 0 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 1 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 2 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 3 - }, - { - "isAnalog": false, - "isI2C": true, - "isPWM": true, - "Pin": 4 - }, - { - "isAnalog": false, - "isI2C": true, - "isPWM": true, - "Pin": 5 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 6 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 7 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 8 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 9 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 10 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 11 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 12 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 13 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 14 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": true, - "Pin": 15 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 16 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 17 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 18 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 19 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 20 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 21 - }, - { - "isAnalog": false, - "isI2C": false, - "isPWM": false, - "Pin": 22 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A0", - "Pin": 26 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A1", - "Pin": 27 - }, - { - "isAnalog": true, - "isI2C": false, - "isPWM": false, - "Name": "A2", - "Pin": 28 - } - ] -} diff --git a/_Boards/RaspberryPi/Pico/reset.raspberry_pico_flash_nuke.uf2 b/_Boards/RaspberryPi/Pico/reset.raspberry_pico_flash_nuke.uf2 deleted file mode 100644 index 31291e64cbc94f58b3f1e2b3ce822cf0518be383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25600 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 b37j{)64w@}aSnI_oyYu-?f #include "config.h" #include "commandmessenger.h" #include "allocateMem.h" -#include "MFBoards.h" #include "MFEEPROM.h" #include "Button.h" #include "Encoder.h" @@ -17,37 +15,37 @@ #include "ArduinoUniqueID.h" #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) #include "Analog.h" #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) #include "InputShifter.h" #endif -#if MF_SEGMENT_SUPPORT == 1 +#if defined(MF_SEGMENT_SUPPORT) #include "LedSegment.h" #endif -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) #include "Stepper.h" #endif -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) #include "Servos.h" #endif -#if MF_LCD_SUPPORT == 1 +#if defined(MF_LCD_SUPPORT) #include "LCDDisplay.h" #endif -#if MF_OUTPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_OUTPUT_SHIFTER_SUPPORT) #include "OutputShifter.h" #endif -#if MF_MUX_SUPPORT == 1 +#if defined(MF_MUX_SUPPORT) #include "MFMuxDriver.h" #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) #include "DigInMux.h" #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) #include "CustomDevice.h" #endif -#ifdef HAS_CONFIG_IN_FLASH +#if defined(HAS_CONFIG_IN_FLASH) #include "MFCustomDevicesConfig.h" #else const char CustomDeviceConfig[] PROGMEM = {}; @@ -122,7 +120,7 @@ bool readconfigLengthEEPROM() void loadConfig() { -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Load config")); #endif readconfigLengthEEPROM(); @@ -132,7 +130,7 @@ void loadConfig() void OnSetConfig() { -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Setting config start")); #endif // A config can be in flash or in EEPROM, but only one option must be used @@ -155,7 +153,7 @@ void OnSetConfig() // connector does not check for status = -1 cmdMessenger.sendCmd(kStatus, -1); } -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Setting config end")); #endif } else { @@ -169,13 +167,13 @@ void resetConfig() Button::Clear(); Encoder::Clear(); Output::Clear(); -#if MF_SEGMENT_SUPPORT == 1 +#if defined(MF_SEGMENT_SUPPORT) LedSegment::Clear(); #endif -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) Servos::Clear(); #endif -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) #if defined(STEPPER_ON_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) Stepper::stopUpdate2ndCore(true); #endif @@ -184,22 +182,22 @@ void resetConfig() Stepper::stopUpdate2ndCore(false); #endif #endif -#if MF_LCD_SUPPORT == 1 +#if defined(MF_LCD_SUPPORT) LCDDisplay::Clear(); #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) Analog::Clear(); #endif -#if MF_OUTPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_OUTPUT_SHIFTER_SUPPORT) OutputShifter::Clear(); #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) InputShifter::Clear(); #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) DigInMux::Clear(); #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) #if defined(USE_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) CustomDevice::stopUpdate2ndCore(true); #endif @@ -342,41 +340,41 @@ void InitArrays(uint8_t *numberDevices) sendFailureMessage("Button"); if (!Output::setupArray(numberDevices[kTypeOutput])) sendFailureMessage("Output"); -#if MF_SEGMENT_SUPPORT == 1 +#if defined(MF_SEGMENT_SUPPORT) if (!LedSegment::setupArray(numberDevices[kTypeLedSegmentDeprecated] + numberDevices[kTypeLedSegmentMulti])) sendFailureMessage("7Segment"); #endif -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) if (!Stepper::setupArray(numberDevices[kTypeStepper] + numberDevices[kTypeStepperDeprecated1] + numberDevices[kTypeStepperDeprecated2])) sendFailureMessage("Stepper"); #endif -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) if (!Servos::setupArray(numberDevices[kTypeServo])) sendFailureMessage("Servo"); #endif if (!Encoder::setupArray(numberDevices[kTypeEncoder] + numberDevices[kTypeEncoderSingleDetent])) sendFailureMessage("Encoders"); -#if MF_LCD_SUPPORT == 1 +#if defined(MF_LCD_SUPPORT) if (!LCDDisplay::setupArray(numberDevices[kTypeLcdDisplayI2C])) sendFailureMessage("LCD"); #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) if (!Analog::setupArray(numberDevices[kTypeAnalogInput])) sendFailureMessage("AnalogIn"); #endif -#if MF_OUTPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_OUTPUT_SHIFTER_SUPPORT) if (!OutputShifter::setupArray(numberDevices[kTypeOutputShifter])) sendFailureMessage("OutputShifter"); #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) if (!InputShifter::setupArray(numberDevices[kTypeInputShifter])) sendFailureMessage("InputShifter"); #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) if (!DigInMux::setupArray(numberDevices[kTypeDigInMux])) sendFailureMessage("DigInMux"); #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) if (!CustomDevice::setupArray(numberDevices[kTypeCustomDevice])) sendFailureMessage("CustomDevice"); #endif @@ -429,7 +427,7 @@ void readConfigFromMemory(bool configFromFlash) copy_success = readEndCommand(&addrMem, ':', configFromFlash); // check EEPROM until end of name break; -#if MF_SEGMENT_SUPPORT == 1 +#if defined(MF_SEGMENT_SUPPORT) // this is for backwards compatibility case kTypeLedSegmentDeprecated: // this is the new type @@ -448,7 +446,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) case kTypeStepperDeprecated1: case kTypeStepperDeprecated2: case kTypeStepper: @@ -480,7 +478,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) case kTypeServo: params[0] = readUint(&addrMem, configFromFlash); // Pin number Servos::Add(params[0]); @@ -501,7 +499,7 @@ void readConfigFromMemory(bool configFromFlash) copy_success = readName(&addrMem, nameBuffer, &pNameBuffer, configFromFlash); // copy the NULL terminated name to nameBuffer and set to next free memory location break; -#if MF_LCD_SUPPORT == 1 +#if defined(MF_LCD_SUPPORT) case kTypeLcdDisplayI2C: params[0] = readUint(&addrMem, configFromFlash); // address params[1] = readUint(&addrMem, configFromFlash); // columns @@ -511,7 +509,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) case kTypeAnalogInput: params[0] = readUint(&addrMem, configFromFlash); // pin number params[1] = readUint(&addrMem, configFromFlash); // sensitivity @@ -521,7 +519,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_OUTPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_OUTPUT_SHIFTER_SUPPORT) case kTypeOutputShifter: params[0] = readUint(&addrMem, configFromFlash); // latch Pin params[1] = readUint(&addrMem, configFromFlash); // clock Pin @@ -532,7 +530,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) case kTypeInputShifter: params[0] = readUint(&addrMem, configFromFlash); // latch Pin params[1] = readUint(&addrMem, configFromFlash); // clock Pin @@ -544,7 +542,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) case kTypeDigInMux: params[0] = readUint(&addrMem, configFromFlash); // data pin // Mux driver section @@ -561,7 +559,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) case kTypeCustomDevice: { uint16_t adrType = addrMem; // first location of custom Type in EEPROM copy_success = readEndCommand(&addrMem, '.', configFromFlash); @@ -663,7 +661,7 @@ void generateRandomSerial() randomSerial >>= 4; } MFeeprom.write_block(MEM_OFFSET_SERIAL, serial, MEM_LEN_SERIAL); -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Serial number generated")); #endif } diff --git a/src/MF_Analog/Analog.cpp b/src/MF_Analog/Analog.cpp index a71592c0..b75a69eb 100644 --- a/src/MF_Analog/Analog.cpp +++ b/src/MF_Analog/Analog.cpp @@ -4,14 +4,12 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFAnalog.h" #include "Analog.h" -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) namespace Analog { MFAnalog *analog; @@ -44,7 +42,7 @@ namespace Analog analog[analogRegistered].attach(pin, name, sensitivity); MFAnalog::attachHandler(handlerOnAnalogChange); analogRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added analog device ")); #endif } @@ -52,7 +50,7 @@ namespace Analog void Clear(void) { analogRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared analog devices")); #endif } diff --git a/src/MF_Analog/Analog.h b/src/MF_Analog/Analog.h index 4c4b7099..67d1fa5c 100644 --- a/src/MF_Analog/Analog.h +++ b/src/MF_Analog/Analog.h @@ -6,7 +6,8 @@ #pragma once -#include +#include + namespace Analog { bool setupArray(uint16_t count); diff --git a/src/MF_Analog/MFAnalog.cpp b/src/MF_Analog/MFAnalog.cpp index 72c34953..c40901f9 100644 --- a/src/MF_Analog/MFAnalog.cpp +++ b/src/MF_Analog/MFAnalog.cpp @@ -33,7 +33,7 @@ void MFAnalog::attach(uint8_t pin, const char *name, uint8_t sensitivity) readBuffer(); } // and set initial value from buffers - _lastValue = ADC_Average_Total >> ADC_MAX_AVERAGE_LOG2; + _lastValue = ADC_Average_Total >> ADC_MAX_AVERAGE_LOG2; _initialized = true; } @@ -68,9 +68,9 @@ void MFAnalog::retrigger() } void MFAnalog::readBuffer() -{ +{ if (!_initialized) - return; // read ADC and calculate floating average, call it every ~10ms + return; // read ADC and calculate floating average, call it every ~10ms ADC_Average_Total -= ADC_Buffer[(ADC_Average_Pointer)]; // subtract oldest value to save the newest value ADC_Buffer[ADC_Average_Pointer] = analogRead(_pin); // store read in, must be subtracted in next loop ADC_Average_Total += ADC_Buffer[ADC_Average_Pointer]; // add read in for floating average diff --git a/src/MF_Button/Button.cpp b/src/MF_Button/Button.cpp index 6655da0a..b59e7038 100644 --- a/src/MF_Button/Button.cpp +++ b/src/MF_Button/Button.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFButton.h" @@ -42,7 +40,7 @@ namespace Button buttons[buttonsRegistered].attach(pin, name); MFButton::attachHandler(handlerButtonOnChange); buttonsRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added button ") /* + name */); #endif } @@ -53,7 +51,7 @@ namespace Button buttons[i].detach(); } buttonsRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared buttons")); #endif } diff --git a/src/MF_Button/Button.h b/src/MF_Button/Button.h index 5dd41673..7403315b 100644 --- a/src/MF_Button/Button.h +++ b/src/MF_Button/Button.h @@ -6,7 +6,7 @@ #pragma once -#include +#include namespace Button { diff --git a/src/MF_CustomDevice/CustomDevice.cpp b/src/MF_CustomDevice/CustomDevice.cpp index 429c8606..f1f2efb6 100644 --- a/src/MF_CustomDevice/CustomDevice.cpp +++ b/src/MF_CustomDevice/CustomDevice.cpp @@ -4,12 +4,9 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "commandmessenger.h" -#include "allocateMem.h" #include "CustomDevice.h" #include "MFCustomDevice.h" #if defined(USE_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) @@ -48,7 +45,7 @@ namespace CustomDevice customDevice[customDeviceRegistered] = MFCustomDevice(); customDevice[customDeviceRegistered].attach(adrPin, adrType, adrConfig, configFromFlash); customDeviceRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kStatus, F("Added CustomDevice")); #endif } @@ -64,7 +61,7 @@ namespace CustomDevice customDevice[i].detach(); } customDeviceRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kStatus, F("Cleared CustomDevice")); #endif } @@ -172,12 +169,12 @@ void loop1() int16_t messageID; char *payload; bool stopUpdating = false; -#ifdef MF_CUSTOMDEVICE_POLL_MS +#if defined(DEBUG2CMDMESSENGER) uint32_t lastMillis = 0; #endif while (1) { -#ifdef MF_CUSTOMDEVICE_POLL_MS +#if defined(DEBUG2CMDMESSENGER) if (millis() - lastMillis >= MF_CUSTOMDEVICE_POLL_MS) { #endif #if defined(MF_CUSTOMDEVICE_HAS_UPDATE) @@ -185,7 +182,7 @@ void loop1() CustomDevice::customDevice[i].update(); } #endif -#ifdef MF_CUSTOMDEVICE_POLL_MS +#if defined(DEBUG2CMDMESSENGER) lastMillis = millis(); } #endif diff --git a/src/MF_CustomDevice/CustomDevice.h b/src/MF_CustomDevice/CustomDevice.h index 82fe0f51..5cb78a23 100644 --- a/src/MF_CustomDevice/CustomDevice.h +++ b/src/MF_CustomDevice/CustomDevice.h @@ -1,8 +1,16 @@ +// +// CustomDevice.h +// +// (C) MobiFlight Project 2022 +// + #pragma once +#include + namespace CustomDevice { - #define START_STOP_2ND_CORE -1 +#define START_STOP_2ND_CORE -1 bool setupArray(uint16_t count); void Add(uint16_t adrPin, uint16_t adrType, uint16_t adrConfig, bool configFromFlash); diff --git a/src/MF_DigInMux/DigInMux.cpp b/src/MF_DigInMux/DigInMux.cpp index 40016a57..e5a03312 100644 --- a/src/MF_DigInMux/DigInMux.cpp +++ b/src/MF_DigInMux/DigInMux.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFDigInMux.h" @@ -46,7 +44,7 @@ namespace DigInMux MFDigInMux::attachHandler(handlerOnDigInMux); digInMuxRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added digital input MUX")); #endif } @@ -57,7 +55,7 @@ namespace DigInMux digInMux[i].detach(); } digInMuxRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared dig. input Muxes")); #endif } diff --git a/src/MF_DigInMux/DigInMux.h b/src/MF_DigInMux/DigInMux.h index 11409d22..0e1c1be9 100644 --- a/src/MF_DigInMux/DigInMux.h +++ b/src/MF_DigInMux/DigInMux.h @@ -4,9 +4,10 @@ // (C) MobiFlight Project 2022 // + #pragma once -#include -#include "MFDigInMux.h" + +#include namespace DigInMux { diff --git a/src/MF_DigInMux/MFDigInMux.cpp b/src/MF_DigInMux/MFDigInMux.cpp index 01496e65..c36fb51b 100644 --- a/src/MF_DigInMux/MFDigInMux.cpp +++ b/src/MF_DigInMux/MFDigInMux.cpp @@ -4,7 +4,6 @@ // (C) MobiFlight Project 2022 // -#include #include "MFDigInMux.h" #include "MFMuxDriver.h" diff --git a/src/MF_DigInMux/MFDigInMux.h b/src/MF_DigInMux/MFDigInMux.h index 19896674..a1418dfa 100644 --- a/src/MF_DigInMux/MFDigInMux.h +++ b/src/MF_DigInMux/MFDigInMux.h @@ -4,11 +4,11 @@ // (C) MobiFlight Project 2022 // -#pragma once - #include #include "MFMuxDriver.h" +#pragma once + extern "C" { typedef void (*MuxDigInEvent)(byte, uint8_t, const char *); }; diff --git a/src/MF_Encoder/Encoder.cpp b/src/MF_Encoder/Encoder.cpp index e3da3cab..9cab8993 100644 --- a/src/MF_Encoder/Encoder.cpp +++ b/src/MF_Encoder/Encoder.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFEncoder.h" @@ -17,7 +15,7 @@ namespace Encoder uint8_t encodersRegistered = 0; uint8_t maxEncoders = 0; - void handlerOnEncoder(uint8_t eventId, const char *name) + void handlerOnEncoder(uint8_t eventId, const char *name) { cmdMessenger.sendCmdStart(kEncoderChange); cmdMessenger.sendCmdArg(name); @@ -42,7 +40,7 @@ namespace Encoder encoders[encodersRegistered].attach(pin1, pin2, encoder_type, name); MFEncoder::attachHandler(handlerOnEncoder); encodersRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added encoder")); #endif } @@ -50,7 +48,7 @@ namespace Encoder void Clear() { encodersRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared encoders")); #endif } diff --git a/src/MF_Encoder/Encoder.h b/src/MF_Encoder/Encoder.h index 52b54894..bdcaba41 100644 --- a/src/MF_Encoder/Encoder.h +++ b/src/MF_Encoder/Encoder.h @@ -4,8 +4,9 @@ // (C) MobiFlight Project 2022 // +#include + #pragma once -#include namespace Encoder { diff --git a/src/MF_Encoder/MFEncoder.h b/src/MF_Encoder/MFEncoder.h index 6ad8a80b..c30853dc 100644 --- a/src/MF_Encoder/MFEncoder.h +++ b/src/MF_Encoder/MFEncoder.h @@ -38,7 +38,7 @@ enum { typedef struct { // Detent positions in the quadrature (by value, not position) - bool detents[4]; + bool detents[4]; // Bit shift to apply given the detent resolution of this encoder. // @@ -56,11 +56,11 @@ class MFEncoder void attach(uint8_t pin1, uint8_t pin2, uint8_t TypeEncoder, const char *name = "Encoder"); void update(); // call this function every some milliseconds or by using an interrupt for handling state changes of the rotary encoder. - void tick(void); + void tick(void); // retrieve the current position - int16_t getPosition(); + int16_t getPosition(); // adjust the current position - void setPosition(int16_t newPosition); + void setPosition(int16_t newPosition); private: static encoderEvent _handler; diff --git a/src/MF_InputShifter/InputShifter.cpp b/src/MF_InputShifter/InputShifter.cpp index 9dd9dc99..fef29cf8 100644 --- a/src/MF_InputShifter/InputShifter.cpp +++ b/src/MF_InputShifter/InputShifter.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFInputShifter.h" @@ -46,7 +44,7 @@ namespace InputShifter } MFInputShifter::attachHandler(handlerInputShifterOnChange); inputShifterRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added input shifter")); #endif } @@ -57,7 +55,7 @@ namespace InputShifter inputShifter[i].detach(); } inputShifterRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared input shifter")); #endif } diff --git a/src/MF_InputShifter/InputShifter.h b/src/MF_InputShifter/InputShifter.h index 0efb1c7c..b88cbc28 100644 --- a/src/MF_InputShifter/InputShifter.h +++ b/src/MF_InputShifter/InputShifter.h @@ -6,6 +6,8 @@ #pragma once +#include + namespace InputShifter { bool setupArray(uint16_t count); diff --git a/src/MF_LCDDisplay/LCDDisplay.cpp b/src/MF_LCDDisplay/LCDDisplay.cpp index 68efb468..9234802d 100644 --- a/src/MF_LCDDisplay/LCDDisplay.cpp +++ b/src/MF_LCDDisplay/LCDDisplay.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFLCDDisplay.h" @@ -33,7 +31,7 @@ namespace LCDDisplay lcd_I2C[lcd_12cRegistered] = MFLCDDisplay(); lcd_I2C[lcd_12cRegistered].attach(address, cols, lines); lcd_12cRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added lcdDisplay")); #endif } @@ -44,7 +42,7 @@ namespace LCDDisplay lcd_I2C[i].detach(); } lcd_12cRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared lcdDisplays")); #endif } diff --git a/src/MF_LCDDisplay/LCDDisplay.h b/src/MF_LCDDisplay/LCDDisplay.h index 6d8ba5e9..3e31ee5b 100644 --- a/src/MF_LCDDisplay/LCDDisplay.h +++ b/src/MF_LCDDisplay/LCDDisplay.h @@ -5,7 +5,8 @@ // #pragma once -#include + +#include namespace LCDDisplay { diff --git a/src/MF_LCDDisplay/MFLCDDisplay.cpp b/src/MF_LCDDisplay/MFLCDDisplay.cpp index 1e45531c..bc760931 100644 --- a/src/MF_LCDDisplay/MFLCDDisplay.cpp +++ b/src/MF_LCDDisplay/MFLCDDisplay.cpp @@ -45,8 +45,7 @@ void MFLCDDisplay::powerSavingMode(bool state) if (state) { _lcdDisplay.noBacklight(); _lcdDisplay.noDisplay(); - } - else { + } else { _lcdDisplay.backlight(); _lcdDisplay.display(); } diff --git a/src/MF_LCDDisplay/MFLCDDisplay.h b/src/MF_LCDDisplay/MFLCDDisplay.h index 2084fa94..eb7ae819 100644 --- a/src/MF_LCDDisplay/MFLCDDisplay.h +++ b/src/MF_LCDDisplay/MFLCDDisplay.h @@ -26,7 +26,7 @@ class MFLCDDisplay byte _cols; byte _lines; - void _printCentered(const char *str, uint8_t line); + void _printCentered(const char *str, uint8_t line); }; // MFLCDDisplay.h \ No newline at end of file diff --git a/src/MF_Modules/MFEEPROM.cpp b/src/MF_Modules/MFEEPROM.cpp index 3bf8808a..1fad7d09 100644 --- a/src/MF_Modules/MFEEPROM.cpp +++ b/src/MF_Modules/MFEEPROM.cpp @@ -4,9 +4,7 @@ // (C) MobiFlight Project 2022 // -#include #include "MFEEPROM.h" -#include "MFBoards.h" MFEEPROM::MFEEPROM() {} diff --git a/src/MF_Modules/MFEEPROM.h b/src/MF_Modules/MFEEPROM.h index af298f07..a4b00b39 100644 --- a/src/MF_Modules/MFEEPROM.h +++ b/src/MF_Modules/MFEEPROM.h @@ -6,6 +6,7 @@ #pragma once +#include #include class MFEEPROM @@ -17,9 +18,10 @@ class MFEEPROM MFEEPROM(); void init(void); uint16_t get_length(void); - uint8_t read_byte(uint16_t adr); - bool write_byte(uint16_t adr, const uint8_t data); - void commit() { + uint8_t read_byte(uint16_t adr); + bool write_byte(uint16_t adr, const uint8_t data); + void commit() + { #if !defined(ARDUINO_ARCH_AVR) EEPROM.commit(); #endif @@ -37,7 +39,7 @@ class MFEEPROM bool read_block(uint16_t adr, T &t, uint16_t len) { if (adr + len > _eepromLength) return false; - uint8_t *ptr = (uint8_t*) &t; + uint8_t *ptr = (uint8_t *)&t; for (uint16_t i = 0; i < len; i++) { *ptr++ = EEPROM.read(adr + i); } diff --git a/src/MF_Modules/MFMuxDriver.cpp b/src/MF_Modules/MFMuxDriver.cpp index 9a2d04a7..dc12ca45 100644 --- a/src/MF_Modules/MFMuxDriver.cpp +++ b/src/MF_Modules/MFMuxDriver.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFMuxDriver.h" diff --git a/src/MF_Modules/MFMuxDriver.h b/src/MF_Modules/MFMuxDriver.h index 4cd39971..327329e0 100644 --- a/src/MF_Modules/MFMuxDriver.h +++ b/src/MF_Modules/MFMuxDriver.h @@ -16,8 +16,8 @@ class MFMuxDriver { public: MFMuxDriver(void); - void attach(uint8_t Sel0Pin, uint8_t Sel1Pin, uint8_t Sel2Pin, uint8_t Sel3Pin); - void detach(); + void attach(uint8_t Sel0Pin, uint8_t Sel1Pin, uint8_t Sel2Pin, uint8_t Sel3Pin); + void detach(); // void setChannelOpt(uint8_t mode); void setChannel(uint8_t value); diff --git a/src/MF_Output/MFOutput.cpp b/src/MF_Output/MFOutput.cpp index 6dbd3203..ecc90fff 100644 --- a/src/MF_Output/MFOutput.cpp +++ b/src/MF_Output/MFOutput.cpp @@ -13,7 +13,7 @@ MFOutput::MFOutput() void MFOutput::attach(uint8_t pin) { - _pin = pin; + _pin = pin; #if defined(ARDUINO_ARCH_RP2040) pinMode(_pin, OUTPUT_12MA); #else diff --git a/src/MF_Output/MFOutput.h b/src/MF_Output/MFOutput.h index ac386b06..c3416603 100644 --- a/src/MF_Output/MFOutput.h +++ b/src/MF_Output/MFOutput.h @@ -8,12 +8,12 @@ #include -#ifdef REVERSED_OUTPUT_OUTPUT - #define MF_HIGH LOW - #define MF_LOW HIGH +#if defined(REVERSED_OUTPUT_OUTPUT) +#define MF_HIGH LOW +#define MF_LOW HIGH #else - #define MF_HIGH HIGH - #define MF_LOW LOW +#define MF_HIGH HIGH +#define MF_LOW LOW #endif class MFOutput { diff --git a/src/MF_Output/Output.cpp b/src/MF_Output/Output.cpp index 944e9731..9f565a47 100644 --- a/src/MF_Output/Output.cpp +++ b/src/MF_Output/Output.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFOutput.h" @@ -33,7 +31,7 @@ namespace Output outputs[outputsRegistered] = MFOutput(); outputs[outputsRegistered].attach(pin); outputsRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added output")); #endif } @@ -41,7 +39,7 @@ namespace Output void Clear() { outputsRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared outputs")); #endif } @@ -51,7 +49,7 @@ namespace Output // Read led state argument, interpret string as boolean int pin = cmdMessenger.readInt16Arg(); int state = cmdMessenger.readInt16Arg(); - + // Set led if (state == 0xFF) digitalWrite(pin, MF_HIGH); diff --git a/src/MF_Output/Output.h b/src/MF_Output/Output.h index 813ebe30..a53ac83f 100644 --- a/src/MF_Output/Output.h +++ b/src/MF_Output/Output.h @@ -6,6 +6,8 @@ #pragma once +#include + namespace Output { bool setupArray(uint16_t count); diff --git a/src/MF_OutputShifter/MFOutputShifter.h b/src/MF_OutputShifter/MFOutputShifter.h index 1720a416..e0748bb5 100644 --- a/src/MF_OutputShifter/MFOutputShifter.h +++ b/src/MF_OutputShifter/MFOutputShifter.h @@ -8,12 +8,12 @@ #include -#ifdef REVERSED_OUTPUT_OUTPUTSHIFTER - #define MF_HIGH LOW - #define MF_LOW HIGH +#if defined(REVERSED_OUTPUT_OUTPUTSHIFTER) +#define MF_HIGH LOW +#define MF_LOW HIGH #else - #define MF_HIGH HIGH - #define MF_LOW LOW +#define MF_HIGH HIGH +#define MF_LOW LOW #endif class MFOutputShifter @@ -29,12 +29,12 @@ class MFOutputShifter void powerSavingMode(bool state); private: - uint8_t _latchPin; // Latch pin - uint8_t _clockPin; // Clock pin - uint8_t _dataPin; // Data/SI pin - uint8_t _moduleCount; // Number of 8 bit modules in series. For a shift register with 16 bit one needs to select 2 modules a 8...... + uint8_t _latchPin; // Latch pin + uint8_t _clockPin; // Clock pin + uint8_t _dataPin; // Data/SI pin + uint8_t _moduleCount; // Number of 8 bit modules in series. For a shift register with 16 bit one needs to select 2 modules a 8...... uint8_t *_lastState; - bool _initialized = false; + bool _initialized = false; }; // MFOutputShifter.h diff --git a/src/MF_OutputShifter/OutputShifter.cpp b/src/MF_OutputShifter/OutputShifter.cpp index e7fe7b8f..4117d871 100644 --- a/src/MF_OutputShifter/OutputShifter.cpp +++ b/src/MF_OutputShifter/OutputShifter.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFOutputShifter.h" @@ -21,7 +19,7 @@ namespace OutputShifter { if (!FitInMemory(sizeof(MFOutputShifter) * count)) return false; - outputShifter = new (allocateMemory(sizeof(MFOutputShifter) * count)) MFOutputShifter; + outputShifter = new (allocateMemory(sizeof(MFOutputShifter) * count)) MFOutputShifter; maxOutputShifter = count; return true; } @@ -31,14 +29,13 @@ namespace OutputShifter if (outputShifterRegistered == maxOutputShifter) return; outputShifter[outputShifterRegistered] = MFOutputShifter(); - if (!outputShifter[outputShifterRegistered].attach(latchPin, clockPin, dataPin, modules)) - { + if (!outputShifter[outputShifterRegistered].attach(latchPin, clockPin, dataPin, modules)) { cmdMessenger.sendCmd(kStatus, F("OutputShifter array does not fit into Memory")); return; } outputShifterRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added Output Shifter")); #endif } @@ -50,7 +47,7 @@ namespace OutputShifter } outputShifterRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared Output Shifter")); #endif } diff --git a/src/MF_OutputShifter/OutputShifter.h b/src/MF_OutputShifter/OutputShifter.h index b3917029..d2f8df08 100644 --- a/src/MF_OutputShifter/OutputShifter.h +++ b/src/MF_OutputShifter/OutputShifter.h @@ -6,6 +6,8 @@ #pragma once +#include + namespace OutputShifter { bool setupArray(uint16_t count); diff --git a/src/MF_Segment/LedControl_dual.cpp b/src/MF_Segment/LedControl_dual.cpp index 269f5110..52464447 100644 --- a/src/MF_Segment/LedControl_dual.cpp +++ b/src/MF_Segment/LedControl_dual.cpp @@ -73,7 +73,7 @@ enum { OP_DISPLAYTEST = 15 }; -#ifdef LEDCONTROL_NO_BUF +#if defined(LEDCONTROL_NO_BUF) uint8_t *LedControl::rawdata; #endif @@ -151,7 +151,7 @@ bool LedControl::begin(uint8_t type, uint8_t dataPin, uint8_t clkPin, uint8_t cs if (!FitInMemory(sizeof(uint8_t) * numDevices * 8)) return false; digitBuffer = new (allocateMemory(sizeof(uint8_t) * numDevices * 8)) uint8_t; - maxUnits = numDevices; + maxUnits = numDevices; pinMode(_dataPin, OUTPUT); pinMode(_clkPin, OUTPUT); pinMode(_csPin, OUTPUT); @@ -221,7 +221,7 @@ void LedControl::clearDisplay(uint8_t addr) spiTransfer(addr, i + 1, 0); } } else { -#ifdef LEDCONTROL_NO_BUF +#if defined(LEDCONTROL_NO_BUF) for (uint8_t i = 0; i < 8; i++) { writeOneDigit(i, 0); } @@ -252,15 +252,15 @@ void LedControl::setChar(uint8_t addr, uint8_t digit, char value, bool dp, bool void LedControl::setSingleSegment(uint8_t subModule, uint8_t segment, uint8_t value, bool sendNow) { - uint8_t digit = segment >> 3; + uint8_t digit = segment >> 3; uint8_t bitPosition = segment % 8; - uint8_t offset = subModule * 8; + uint8_t offset = subModule * 8; if (isMAX()) { if (subModule >= maxUnits) return; if (segment > 63) return; if (value) { - digitBuffer[offset + digit] |= (1 << bitPosition); + digitBuffer[offset + digit] |= (1 << bitPosition); } else { digitBuffer[offset + digit] &= ~(1 << bitPosition); } @@ -275,7 +275,7 @@ void LedControl::setSingleSegment(uint8_t subModule, uint8_t segment, uint8_t va if (bitPosition == 8) bitPosition = 0; if (value) { - rawdata[(maxUnits - 1) - digit] |= (1 << bitPosition); + rawdata[(maxUnits - 1) - digit] |= (1 << bitPosition); } else { rawdata[(maxUnits - 1) - digit] &= ~(1 << bitPosition); } @@ -300,7 +300,7 @@ void LedControl::setPattern(uint8_t addr, uint8_t digit, uint8_t value, bool sen // and then just transmit them reversed (from LSb to MSb) v <<= 1; if (value & 0x80) v |= 0x01; -#ifdef LEDCONTROL_NO_BUF +#if defined(LEDCONTROL_NO_BUF) writeOneDigit(digit, v); #else rawdata[(maxUnits - 1) - digit] = v; // Change only the individual affected digit in static buffer @@ -398,7 +398,7 @@ bool LedControl::writeByte(uint8_t data, bool rvs) return ack; } -#ifdef LEDCONTROL_NO_BUF +#if defined(LEDCONTROL_NO_BUF) void LedControl::writeOneDigit(uint8_t ndigit, uint8_t pattern) { @@ -452,7 +452,7 @@ void LedControl::writeDigits(uint8_t startd, uint8_t len) #endif -#ifdef LEDCONTROL_EXTENDED +#if defined(LEDCONTROL_EXTENDED) void LedControl::showNumber(uint8_t addr, int32_t num, bool isHex, uint8_t dots, bool leading_zero, uint8_t roffset) { diff --git a/src/MF_Segment/LedControl_dual.h b/src/MF_Segment/LedControl_dual.h index 4f9734e9..94b9345c 100644 --- a/src/MF_Segment/LedControl_dual.h +++ b/src/MF_Segment/LedControl_dual.h @@ -22,8 +22,7 @@ // non-relevant arguments (particularly: for TM's) are ignored. // A few methods (mostly for internal use) have been added. -#ifndef __LEDCONTROL_DUAL__H__ -#define __LEDCONTROL_DUAL__H__ +#pragma once // This constant reduces buffer usage: a single (static) 16-byte buffer // is used for all objects. However, for TM1637s, data is written @@ -34,12 +33,10 @@ // (as opposite to writing individual chars). #define LEDCONTROL_EXTENDED -#include -// #include #include #include -#ifdef __AVR__ +#if defined(__AVR__) #include #elif defined(ESP8266) || defined(ESP32) #include @@ -66,7 +63,7 @@ class LedControl uint8_t _dataPin = TYPE_UNDEFINED; uint8_t _clkPin = TYPE_UNDEFINED; uint8_t _csPin = TYPE_UNDEFINED; -#ifdef LEDCONTROL_NO_BUF +#if defined(LEDCONTROL_NO_BUF) // For TM, buffer can't be static (= shared): either we are building // the extended version (which adds a per-unit buffer instead of the static one) // or we are forced to resort to digit-by-digit output @@ -80,9 +77,9 @@ class LedControl void setPattern(uint8_t addr, uint8_t digit, uint8_t value, bool sendNow = true); // MAX-specific - uint8_t *digitBuffer; // each digit must be stored in a buffer to be able to set single segments - void setScanLimit(uint8_t addr, uint8_t limit); - void spiTransfer(uint8_t addr, uint8_t opcode, uint8_t data); + uint8_t *digitBuffer; // each digit must be stored in a buffer to be able to set single segments + void setScanLimit(uint8_t addr, uint8_t limit); + void spiTransfer(uint8_t addr, uint8_t opcode, uint8_t data); // TM-specific // uint8_t dpSet = 0; @@ -91,7 +88,7 @@ class LedControl void stop(void); bool writeByte(uint8_t data, bool rvs = false); -#ifdef LEDCONTROL_NO_BUF +#if defined(LEDCONTROL_NO_BUF) void writeOneDigit(uint8_t ndigit, uint8_t val); #else // Has buffer available @@ -100,7 +97,7 @@ class LedControl #endif public: - LedControl(){}; + LedControl() {}; bool begin(uint8_t type, uint8_t dataPin, uint8_t clkPin, uint8_t csPin, uint8_t numDevices = 1); @@ -153,7 +150,7 @@ class LedControl void sendAll(void) { writeBuffer(); }; #endif -#ifdef LEDCONTROL_EXTENDED +#if defined(LEDCONTROL_EXTENDED) // Display a decimal number, with dot control // // Display the given argument as a decimal number. The dots between the digits @@ -185,5 +182,3 @@ class LedControl #endif }; - -#endif //!__LEDCONTROL_DUAL__H__ diff --git a/src/MF_Segment/LedSegment.cpp b/src/MF_Segment/LedSegment.cpp index 62bac560..d29e327a 100644 --- a/src/MF_Segment/LedSegment.cpp +++ b/src/MF_Segment/LedSegment.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFSegments.h" @@ -33,14 +31,13 @@ namespace LedSegment ledSegments[ledSegmentsRegistered] = MFSegments(); - if (!ledSegments[ledSegmentsRegistered].attach(type, dataPin, csPin, clkPin, numDevices, brightness)) - { + if (!ledSegments[ledSegmentsRegistered].attach(type, dataPin, csPin, clkPin, numDevices, brightness)) { cmdMessenger.sendCmd(kStatus, F("Led Segment array does not fit into Memory")); return; } ledSegmentsRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added Led Segment")); #endif } @@ -51,7 +48,7 @@ namespace LedSegment ledSegments[i].detach(); } ledSegmentsRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared segments")); #endif } @@ -91,10 +88,10 @@ namespace LedSegment void OnSetModuleSingleSegment() { - uint8_t module = (uint8_t)cmdMessenger.readInt16Arg(); - uint8_t subModule = (uint8_t)cmdMessenger.readInt16Arg(); - char *segment = cmdMessenger.readStringArg(); // 0 to 63, multiple segments deliminited by '|' - uint8_t on_off = (uint8_t)cmdMessenger.readInt16Arg(); // 0 or 1 + uint8_t module = (uint8_t)cmdMessenger.readInt16Arg(); + uint8_t subModule = (uint8_t)cmdMessenger.readInt16Arg(); + char *segment = cmdMessenger.readStringArg(); // 0 to 63, multiple segments deliminited by '|' + uint8_t on_off = (uint8_t)cmdMessenger.readInt16Arg(); // 0 or 1 char *pinTokens = strtok(segment, "|"); while (pinTokens != 0) { @@ -103,7 +100,7 @@ namespace LedSegment pinTokens = strtok(0, "|"); } } - + } // namespace // LedSegment.cpp diff --git a/src/MF_Segment/LedSegment.h b/src/MF_Segment/LedSegment.h index 914ef0c6..5c8add58 100644 --- a/src/MF_Segment/LedSegment.h +++ b/src/MF_Segment/LedSegment.h @@ -6,8 +6,10 @@ #pragma once +#include + namespace LedSegment -{ +{ enum { TYPE_MAX72XX = 0, TYPE_TM1637_4DIGITS = 0xFD, diff --git a/src/MF_Segment/MFSegments.cpp b/src/MF_Segment/MFSegments.cpp index a3351465..a7d4771e 100644 --- a/src/MF_Segment/MFSegments.cpp +++ b/src/MF_Segment/MFSegments.cpp @@ -31,9 +31,8 @@ void MFSegments::setSingleSegment(uint8_t module, uint8_t segment, uint8_t on_of { if (_moduleCount == 0) return; - - _ledControl.setSingleSegment(module, segment, on_off); + _ledControl.setSingleSegment(module, segment, on_off); } void MFSegments::setBrightness(uint8_t module, uint8_t value) diff --git a/src/MF_Segment/MFSegments.h b/src/MF_Segment/MFSegments.h index a33c5a47..9b87c746 100644 --- a/src/MF_Segment/MFSegments.h +++ b/src/MF_Segment/MFSegments.h @@ -23,7 +23,7 @@ class MFSegments private: LedControl _ledControl; - uint8_t _moduleCount; + uint8_t _moduleCount; }; // MFSegments.h diff --git a/src/MF_Servo/Servos.cpp b/src/MF_Servo/Servos.cpp index 3f71409b..b321e00b 100644 --- a/src/MF_Servo/Servos.cpp +++ b/src/MF_Servo/Servos.cpp @@ -4,8 +4,6 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFServo.h" @@ -33,7 +31,7 @@ namespace Servos servos[servosRegistered] = MFServo(); servos[servosRegistered].attach(pin, true); servosRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added servos")); #endif } @@ -44,7 +42,7 @@ namespace Servos servos[i].detach(); } servosRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared servos")); #endif } diff --git a/src/MF_Servo/Servos.h b/src/MF_Servo/Servos.h index fc1de28b..c5b6c68a 100644 --- a/src/MF_Servo/Servos.h +++ b/src/MF_Servo/Servos.h @@ -6,6 +6,8 @@ #pragma once +#include + namespace Servos { bool setupArray(uint16_t count); diff --git a/src/MF_Stepper/MFStepper.cpp b/src/MF_Stepper/MFStepper.cpp index 87d11c3c..bd5bb910 100644 --- a/src/MF_Stepper/MFStepper.cpp +++ b/src/MF_Stepper/MFStepper.cpp @@ -98,7 +98,7 @@ void MFStepper::moveTo(long newPosition) _inMove = MOVE_CCW; if (_inMove == MOVE_CCW && newPosition > currentPosition && newPosition > _targetPos) _inMove = MOVE_CW; - + _stepper->moveTo(newPosition + _backlash * _inMove); _targetPos = newPosition; } diff --git a/src/MF_Stepper/MFStepper.h b/src/MF_Stepper/MFStepper.h index 02f44ec1..702a7b6c 100644 --- a/src/MF_Stepper/MFStepper.h +++ b/src/MF_Stepper/MFStepper.h @@ -16,15 +16,15 @@ class MFStepper public: MFStepper(); - void attach(uint8_t pin1, uint8_t pin2, uint8_t pin3, uint8_t pin4, uint8_t btnPin1, uint8_t mode, int8_t backlash, bool deactivateOutput); - void detach(); - void update(); - void reset(); - void moveTo(long absolute); - void setMaxSpeed(uint16_t speed); - void setAcceleration(uint16_t acceleration); - void setZero(); - void powerSavingMode(bool state); + void attach(uint8_t pin1, uint8_t pin2, uint8_t pin3, uint8_t pin4, uint8_t btnPin1, uint8_t mode, int8_t backlash, bool deactivateOutput); + void detach(); + void update(); + void reset(); + void moveTo(long absolute); + void setMaxSpeed(uint16_t speed); + void setAcceleration(uint16_t acceleration); + void setZero(); + void powerSavingMode(bool state); private: bool _initialized; diff --git a/src/MF_Stepper/Stepper.cpp b/src/MF_Stepper/Stepper.cpp index 7d742902..ca8eca1a 100644 --- a/src/MF_Stepper/Stepper.cpp +++ b/src/MF_Stepper/Stepper.cpp @@ -4,8 +4,7 @@ // (C) MobiFlight Project 2022 // -#include -#include "MFBoards.h" + #include "commandmessenger.h" #include "allocateMem.h" #include "MFStepper.h" @@ -52,7 +51,7 @@ namespace Stepper // all set steppersRegistered++; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Added stepper")); #endif } @@ -63,7 +62,7 @@ namespace Stepper steppers[i].detach(); } steppersRegistered = 0; -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmd(kDebug, F("Cleared steppers")); #endif } diff --git a/src/MF_Stepper/Stepper.h b/src/MF_Stepper/Stepper.h index 59da4822..3058a260 100644 --- a/src/MF_Stepper/Stepper.h +++ b/src/MF_Stepper/Stepper.h @@ -6,6 +6,8 @@ #pragma once +#include + namespace Stepper { bool setupArray(uint16_t count); diff --git a/src/allocateMem.cpp b/src/allocateMem.cpp index d41e9d07..39e2ed97 100644 --- a/src/allocateMem.cpp +++ b/src/allocateMem.cpp @@ -5,21 +5,20 @@ // #include "allocateMem.h" -#include "MFBoards.h" #include "commandmessenger.h" -#if defined (ARDUINO_ARCH_AVR) -uint8_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; +#if defined(ARDUINO_ARCH_AVR) +uint8_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; #else -std::size_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; +std::size_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; #endif -uint16_t nextPointer = 0; +uint16_t nextPointer = 0; -#if defined (ARDUINO_ARCH_AVR) -uint8_t *allocateMemory(uint16_t size) +#if defined(ARDUINO_ARCH_AVR) +uint8_t *allocateMemory(uint16_t size) #else -std::size_t *allocateMemory(uint16_t size) +std::size_t *allocateMemory(uint16_t size) #endif { uint16_t actualPointer = nextPointer; @@ -28,7 +27,7 @@ std::size_t *allocateMemory(uint16_t size) cmdMessenger.sendCmd(kStatus, F("DeviceBuffer Overflow!")); return nullptr; } -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) cmdMessenger.sendCmdStart(kDebug); cmdMessenger.sendCmdArg(F("Bytes added")); cmdMessenger.sendCmdArg(size); diff --git a/src/allocateMem.h b/src/allocateMem.h index 7068d503..a052549a 100644 --- a/src/allocateMem.h +++ b/src/allocateMem.h @@ -9,14 +9,14 @@ #include #include -#if defined (ARDUINO_ARCH_AVR) -uint8_t *allocateMemory(uint16_t size); +#if defined(ARDUINO_ARCH_AVR) +uint8_t *allocateMemory(uint16_t size); #else -std::size_t *allocateMemory(uint16_t size); +std::size_t *allocateMemory(uint16_t size); #endif -void ClearMemory(); -uint16_t GetAvailableMemory(); -bool FitInMemory(uint16_t size); +void ClearMemory(); +uint16_t GetAvailableMemory(); +bool FitInMemory(uint16_t size); // allocatemem.h diff --git a/src/commandmessenger.h b/src/commandmessenger.h index adfcc6ca..98282784 100644 --- a/src/commandmessenger.h +++ b/src/commandmessenger.h @@ -6,47 +6,48 @@ #pragma once +#include #include // This is the list of recognized commands. These can be commands that can either be sent or received. // In order to receive, attach a callback function to these events enum { - kInitModule, // 0 - kSetModule, // 1 - kSetPin, // 2 - kSetStepper, // 3 - kSetServo, // 4 - kStatus, // 5, Command to report status - kEncoderChange, // 6 - kButtonChange, // 7 - kStepperChange, // 8 - kGetInfo, // 9 - kInfo, // 10 - kSetConfig, // 11 - kGetConfig, // 12 - kResetConfig, // 13 - kSaveConfig, // 14 - kConfigSaved, // 15 - kActivateConfig, // 16 - kConfigActivated, // 17 - kSetPowerSavingMode, // 18 - kSetName, // 19 - kGenNewSerial, // 20 - kResetStepper, // 21 - kSetZeroStepper, // 22 - kTrigger, // 23 - kResetBoard, // 24 - kSetLcdDisplayI2C, // 25 - kSetModuleBrightness, // 26 - kSetShiftRegisterPins, // 27 - kAnalogChange, // 28 - kInputShifterChange, // 29 - kDigInMuxChange, // 30 - kSetStepperSpeedAccel, // 31 - kSetCustomDevice, // 32 + kInitModule, // 0 + kSetModule, // 1 + kSetPin, // 2 + kSetStepper, // 3 + kSetServo, // 4 + kStatus, // 5, Command to report status + kEncoderChange, // 6 + kButtonChange, // 7 + kStepperChange, // 8 + kGetInfo, // 9 + kInfo, // 10 + kSetConfig, // 11 + kGetConfig, // 12 + kResetConfig, // 13 + kSaveConfig, // 14 + kConfigSaved, // 15 + kActivateConfig, // 16 + kConfigActivated, // 17 + kSetPowerSavingMode, // 18 + kSetName, // 19 + kGenNewSerial, // 20 + kResetStepper, // 21 + kSetZeroStepper, // 22 + kTrigger, // 23 + kResetBoard, // 24 + kSetLcdDisplayI2C, // 25 + kSetModuleBrightness, // 26 + kSetShiftRegisterPins, // 27 + kAnalogChange, // 28 + kInputShifterChange, // 29 + kDigInMuxChange, // 30 + kSetStepperSpeedAccel, // 31 + kSetCustomDevice, // 32 kSetModuleSingleSegment, // 33 - kDebug = 0xFF // 255 + kDebug = 0xFF // 255 }; void attachCommandCallbacks(); diff --git a/src/config.h b/src/config.h index d0de7d82..02a083f8 100644 --- a/src/config.h +++ b/src/config.h @@ -6,6 +6,8 @@ #pragma once +#include + enum { kTypeNotSet, // 0 kTypeButton, // 1 diff --git a/src/mobiflight.cpp b/src/mobiflight.cpp index 9f3fed47..fb6f6913 100644 --- a/src/mobiflight.cpp +++ b/src/mobiflight.cpp @@ -4,41 +4,40 @@ // (C) MobiFlight Project 2022 // - #include -#include "MFBoards.h" #include "config.h" #include "allocateMem.h" #include "commandmessenger.h" #include "Button.h" #include "Encoder.h" #include "MFEEPROM.h" -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) #include "Analog.h" #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) #include "InputShifter.h" #endif #include "Output.h" -#if MF_SEGMENT_SUPPORT == 1 +#if defined(MF_SEGMENT_SUPPORT) #include "LedSegment.h" #endif -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) #include "Stepper.h" #endif -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) #include "Servos.h" #endif -#if MF_LCD_SUPPORT == 1 +#if defined(MF_LCD_SUPPORT) #include "LCDDisplay.h" #endif -#if MF_OUTPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_OUTPUT_SHIFTER_SUPPORT) #include "OutputShifter.h" #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) #include "DigInMux.h" +#include "MFDigInMux.h" #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) #include "CustomDevice.h" #endif @@ -63,20 +62,20 @@ MFMuxDriver MUX; typedef struct { uint32_t Buttons = 0; uint32_t Encoders = 0; -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) uint32_t Servos = 0; #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) uint32_t AnalogAverage = 0; uint32_t Analog = 0; #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) uint32_t InputShifters = 0; #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) uint32_t DigInMux = 0; #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) uint32_t CustomDevice = 0; #endif } lastUpdate_t; @@ -90,17 +89,17 @@ void initPollIntervals(void) // Init Time Gap between Inputs, do not read at the same loop lastUpdate.Buttons = millis(); lastUpdate.Encoders = millis(); -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) lastUpdate.Servos = millis() + 2; #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) lastUpdate.AnalogAverage = millis() + 4; lastUpdate.Analog = millis() + 4; #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) lastUpdate.InputShifters = millis() + 6; #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) lastUpdate.DigInMux = millis() + 8; #endif } @@ -121,23 +120,23 @@ void SetPowerSavingMode(bool state) // disable the lights ;) powerSavingMode = state; Output::PowerSave(state); -#if MF_SEGMENT_SUPPORT == 1 +#if defined(MF_SEGMENT_SUPPORT) LedSegment::PowerSave(state); #endif -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) Stepper::PowerSave(state); #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 +#if defined(MF_CUSTOMDEVICE_SUPPORT) CustomDevice::PowerSave(state); #endif -#if MF_OUTPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_OUTPUT_SHIFTER_SUPPORT) OutputShifter::PowerSave(state); #endif -#if MF_LCD_SUPPORT == 1 +#if defined(MF_LCD_SUPPORT) LCDDisplay::PowerSave(state); #endif -#ifdef DEBUG2CMDMESSENGER +#if defined(DEBUG2CMDMESSENGER) if (state) cmdMessenger.sendCmd(kDebug, F("Power saving mode on")); else @@ -196,29 +195,29 @@ void loop() timedUpdate(Encoder::read, &lastUpdate.Encoders, MF_ENCODER_DEBOUNCE_MS); -#if MF_STEPPER_SUPPORT == 1 +#if defined(MF_STEPPER_SUPPORT) Stepper::update(); #endif -#if MF_SERVO_SUPPORT == 1 +#if defined(MF_SERVO_SUPPORT) timedUpdate(Servos::update, &lastUpdate.Servos, MF_SERVO_DELAY_MS); #endif -#if MF_ANALOG_SUPPORT == 1 +#if defined(MF_ANALOG_SUPPORT) timedUpdate(Analog::read, &lastUpdate.Analog, MF_ANALOGREAD_DELAY_MS); timedUpdate(Analog::readAverage, &lastUpdate.AnalogAverage, MF_ANALOGAVERAGE_DELAY_MS); #endif -#if MF_INPUT_SHIFTER_SUPPORT == 1 +#if defined(MF_INPUT_SHIFTER_SUPPORT) timedUpdate(InputShifter::read, &lastUpdate.InputShifters, MF_INSHIFTER_POLL_MS); #endif -#if MF_DIGIN_MUX_SUPPORT == 1 +#if defined(MF_DIGIN_MUX_SUPPORT) timedUpdate(DigInMux::read, &lastUpdate.DigInMux, MF_INMUX_POLL_MS); #endif -#if MF_CUSTOMDEVICE_SUPPORT == 1 && defined(MF_CUSTOMDEVICE_HAS_UPDATE) -#ifdef MF_CUSTOMDEVICE_POLL_MS +#if defined(MF_CUSTOMDEVICE_SUPPORT) && defined(MF_CUSTOMDEVICE_HAS_UPDATE) +#if defined(MF_CUSTOMDEVICE_POLL_MS) timedUpdate(CustomDevice::update, &lastUpdate.CustomDevice, MF_CUSTOMDEVICE_POLL_MS); #else CustomDevice::update(); From a5b1fbdca2ce87ad28fc6e3f5e1c0e20ccc060b2 Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:21:47 +0100 Subject: [PATCH 3/8] include path for board definition not required anymore --- platformio.ini | 3 --- 1 file changed, 3 deletions(-) diff --git a/platformio.ini b/platformio.ini index 052a555d..805fcde2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -77,7 +77,6 @@ build_flags = -DMEMLEN_CONFIG=1496 ; max. size for config which wil be stored in EEPROM -DMEMLEN_NAMES_BUFFER=1000 ; max. size for configBuffer, contains only names from inputs -DMF_MAX_DEVICEMEM=1600 ; max. memory size for devices - -I./_Boards/Atmel/Board_Mega build_unflags = ;-DMF_STEPPER_SUPPORT ; this is just an example how to deactivate a device build_src_filter = @@ -101,7 +100,6 @@ build_flags = -DMEMLEN_CONFIG=440 ; max. size for config which wil be stored in EEPROM -DMEMLEN_NAMES_BUFFER=350 ; max. size for configBuffer, contains only names from inputs -DMF_MAX_DEVICEMEM=470 ; max. memory size for devices - -I./_Boards/Atmel/Board_ProMicro build_unflags = ;-DMF_STEPPER_SUPPORT ; this is just an example how to deactivate a device build_src_filter = @@ -126,7 +124,6 @@ build_flags = -DMEMLEN_CONFIG=286 ; max. size for config which wil be stored in EEPROM -DMEMLEN_NAMES_BUFFER=220 ; max. size for configBuffer, contains only names from inputs -DMF_MAX_DEVICEMEM=420 ; max. memory size for devices - -I./_Boards/Atmel/Board_Uno build_unflags = ;-DMF_STEPPER_SUPPORT ; this is just an example how to deactivate a device build_src_filter = From 3447b81f625d90d64995206d76b48626d04d5814 Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:39:43 +0100 Subject: [PATCH 4/8] restore json and reset.hex files, adapt copy FW files --- CustomDevices | 0 _Boards/arduino_mega.board.json | 485 ++++++++++++++++++++ _Boards/arduino_micro.board.json | 162 +++++++ _Boards/arduino_nano.board.json | 184 ++++++++ _Boards/arduino_uno.board.json | 169 +++++++ _Boards/raspberrypi_pico.board.json | 202 ++++++++ _Boards/reset.arduino_mega_1_0_2.hex | 179 ++++++++ _Boards/reset.arduino_promicro_1_0_2.hex | 262 +++++++++++ _Boards/reset.arduino_uno_1_0_2.hex | 134 ++++++ _Boards/reset.raspberry_pico_flash_nuke.uf2 | Bin 0 -> 25600 bytes copy_fw_files.py | 2 +- src/MF_DigInMux/MFDigInMux.h | 4 +- 12 files changed, 1780 insertions(+), 3 deletions(-) delete mode 100644 CustomDevices create mode 100644 _Boards/arduino_mega.board.json create mode 100644 _Boards/arduino_micro.board.json create mode 100644 _Boards/arduino_nano.board.json create mode 100644 _Boards/arduino_uno.board.json create mode 100644 _Boards/raspberrypi_pico.board.json create mode 100644 _Boards/reset.arduino_mega_1_0_2.hex create mode 100644 _Boards/reset.arduino_promicro_1_0_2.hex create mode 100644 _Boards/reset.arduino_uno_1_0_2.hex create mode 100644 _Boards/reset.raspberry_pico_flash_nuke.uf2 diff --git a/CustomDevices b/CustomDevices deleted file mode 100644 index e69de29b..00000000 diff --git a/_Boards/arduino_mega.board.json b/_Boards/arduino_mega.board.json new file mode 100644 index 00000000..f192375c --- /dev/null +++ b/_Boards/arduino_mega.board.json @@ -0,0 +1,485 @@ +{ + "$schema": "./mfboard.schema.json", + "AvrDudeSettings": { + "Device": "atmega2560", + "BaudRates": ["115200"], + "Programmer": "wiring", + "Timeout": 15000 + }, + "Connection": { + "ConnectionDelay": 2000, + "ExtraConnectionRetry": false, + "ForceResetOnFirmwareUpdate": false, + "DelayAfterFirmwareUpdate": 0, + "DtrEnable": true, + "MessageSize": 90, + "EEPROMSize": 1496 + }, + "HardwareIds": [ + "^VID_2341&PID_0010", + "^VID_2341&PID_0042", + "^VID_8087&PID_0024", + "^VID_1A86&PID_7523", + "^VID_2A03&PID_0042", + "^VID_0403&PID_6001", + "^VID_0403\\+PID_6001\\+.+", + "^VID_2A03&PID_0010", + "^VID_2341&PID_0210", + "^VID_2341&PID_0242", + "^VID_10C4&PID_EA60", + "^VID_2341&PID_0044", + "^VID_3343&PID_0042", + "^VID_04D9&PID_B534" + ], + "Info": { + "CanInstallFirmware": true, + "CanResetBoard": true, + "DelayAfterFirmwareUpdate": 0, + "FirmwareBaseName": "mobiflight_mega", + "FirmwareExtension": "hex", + "LatestFirmwareVersion": "2.5.2", + "FriendlyName": "Arduino Mega 2560", + "MobiFlightType": "MobiFlight Mega", + "ResetFirmwareFile": "reset.arduino_mega_1_0_2.hex" + }, + "ModuleLimits": { + "MaxAnalogInputs": 16, + "MaxInputShifters": 6, + "MaxButtons": 68, + "MaxEncoders": 20, + "MaxLcdI2C": 2, + "MaxLedSegments": 6, + "MaxOutputs": 68, + "MaxServos": 12, + "MaxShifters": 6, + "MaxSteppers": 10, + "MaxInputMultiplexer": 6, + "MaxCustomDevices" : 0 + }, + "Pins": [ + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 2 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 3 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 4 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 5 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 6 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 7 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 8 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 9 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 10 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 11 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 12 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 13 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 14 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 15 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 16 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 17 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 18 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 19 + }, + { + "isAnalog": false, + "isPWM": false, + "isI2C": true, + "Pin": 20 + }, + { + "isAnalog": false, + "isPWM": false, + "isI2C": true, + "Pin": 21 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 22 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 23 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 24 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 25 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 26 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 27 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 28 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 29 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 30 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 31 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 32 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 33 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 34 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 35 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 36 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 37 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 38 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 39 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 40 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 41 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 42 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 43 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 44 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 45 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 46 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 47 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 48 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 49 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 50 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 51 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 52 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 53 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 54, + "Name": "A0" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 55, + "Name": "A1" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 56, + "Name": "A2" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 57, + "Name": "A3" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 58, + "Name": "A4" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 59, + "Name": "A5" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 60, + "Name": "A6" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 61, + "Name": "A7" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 62, + "Name": "A8" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 63, + "Name": "A9" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 64, + "Name": "A10" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 65, + "Name": "A11" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 66, + "Name": "A12" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 67, + "Name": "A13" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 68, + "Name": "A14" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 69, + "Name": "A15" + } + ] +} diff --git a/_Boards/arduino_micro.board.json b/_Boards/arduino_micro.board.json new file mode 100644 index 00000000..8ee31bc3 --- /dev/null +++ b/_Boards/arduino_micro.board.json @@ -0,0 +1,162 @@ +{ + "$schema": "./mfboard.schema.json", + "AvrDudeSettings": { + "Attempts": 1, + "BaudRates": [ "57600" ], + "Device": "atmega32u4", + "Programmer": "avr109", + "Timeout": 15000 + }, + "Connection": { + "ConnectionDelay": 1250, + "DelayAfterFirmwareUpdate": 1250, + "DtrEnable": true, + "EEPROMSize": 440, + "ExtraConnectionRetry": false, + "ForceResetOnFirmwareUpdate": true, + "MessageSize": 64 + }, + "HardwareIds": [ + "^VID_1B4F&PID_9206", + "^VID_2341&PID_8036", + "^VID_2341&PID_8037" + ], + "Info": { + "CanInstallFirmware": true, + "CanResetBoard": true, + "FirmwareBaseName": "mobiflight_micro", + "FirmwareExtension": "hex", + "FriendlyName": "Arduino Pro Micro", + "LatestFirmwareVersion": "2.5.2", + "MobiFlightType": "MobiFlight Micro", + "ResetFirmwareFile": "reset.arduino_promicro_1_0_2.hex" + }, + "ModuleLimits": { + "MaxAnalogInputs": 9, + "MaxButtons": 18, + "MaxEncoders": 9, + "MaxInputShifters": 6, + "MaxLcdI2C": 2, + "MaxLedSegments": 6, + "MaxOutputs": 18, + "MaxServos": 8, + "MaxShifters": 6, + "MaxSteppers": 4, + "MaxInputMultiplexer": 6, + "MaxCustomDevices": 0 + }, + "Pins": [ + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 0 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 1 + }, + { + "isAnalog": false, + "isI2C": true, + "isPWM": false, + "Pin": 2 + }, + { + "isAnalog": false, + "isI2C": true, + "isPWM": true, + "Pin": 3 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 4 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 5 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": true, + "Pin": 6 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 7 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 8 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": true, + "Pin": 9 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": true, + "Pin": 10 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 14 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 15 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 16 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 18, + "Name": "A0" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 19, + "Name": "A1" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 20, + "Name": "A2" + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Pin": 21, + "Name": "A3" + } + ] +} \ No newline at end of file diff --git a/_Boards/arduino_nano.board.json b/_Boards/arduino_nano.board.json new file mode 100644 index 00000000..496df8dd --- /dev/null +++ b/_Boards/arduino_nano.board.json @@ -0,0 +1,184 @@ +{ + "$schema": "./mfboard.schema.json", + "AvrDudeSettings": { + "Attempts": 1, + "Device": "atmega328p", + "BaudRates": ["115200", "57600"], + "Programmer": "arduino", + "Timeout": 20000 + }, + "Connection": { + "ConnectionDelay": 1750, + "DelayAfterFirmwareUpdate": 0, + "DtrEnable": true, + "EEPROMSize": 286, + "ExtraConnectionRetry": true, + "ForceResetOnFirmwareUpdate": false, + "MessageSize": 64, + "TimeoutForFirmwareUpdate": 60000 + }, + "HardwareIds": [ + "^VID_2341&PID_0043", + "^VID_2A03&PID_0043", + "^VID_2341&PID_0243", + "^VID_2341&PID_0001", + "^VID_1A86&PID_7523", + "^VID_0403&PID_6001", + "^VID_067B&PID_2303", + "^VID_0403\\+PID_6001\\+.+" + ], + "Info": { + "CanInstallFirmware": true, + "CanResetBoard": true, + "FirmwareBaseName": "mobiflight_nano", + "FirmwareExtension": "hex", + "FriendlyName": "Arduino Nano", + "LatestFirmwareVersion": "2.5.2", + "MobiFlightType": "MobiFlight Nano", + "ResetFirmwareFile": "reset.arduino_uno_1_0_2.hex" + }, + "ModuleLimits": { + "MaxAnalogInputs": 8, + "MaxButtons": 18, + "MaxEncoders": 9, + "MaxInputShifters": 6, + "MaxLcdI2C": 2, + "MaxLedSegments": 6, + "MaxOutputs": 18, + "MaxServos": 8, + "MaxShifters": 6, + "MaxSteppers": 4, + "MaxInputMultiplexer": 6, + "MaxCustomDevices": 0 + }, + "Pins": [ + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 2 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 3 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 4 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 5 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 6 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 7 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 8 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 9 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 10 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 11 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 12 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 13 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A0", + "Pin": 14 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A1", + "Pin": 15 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A2", + "Pin": 16 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A3", + "Pin": 17 + }, + { + "isAnalog": true, + "isI2C": true, + "isPWM": false, + "Name": "A4", + "Pin": 18 + }, + { + "isAnalog": true, + "isI2C": true, + "isPWM": false, + "Name": "A5", + "Pin": 19 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A6", + "Pin": 20 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A7", + "Pin": 21 + } + ] +} diff --git a/_Boards/arduino_uno.board.json b/_Boards/arduino_uno.board.json new file mode 100644 index 00000000..26b096db --- /dev/null +++ b/_Boards/arduino_uno.board.json @@ -0,0 +1,169 @@ +{ + "$schema": "./mfboard.schema.json", + "AvrDudeSettings": { + "Attempts": 1, + "Device": "atmega328p", + "BaudRates": ["115200"], + "Programmer": "arduino", + "Timeout": 15000 + }, + "Connection": { + "ConnectionDelay": 1750, + "DelayAfterFirmwareUpdate": 0, + "DtrEnable": true, + "EEPROMSize": 286, + "ExtraConnectionRetry": true, + "ForceResetOnFirmwareUpdate": false, + "MessageSize": 64 + }, + "HardwareIds": [ + "^VID_10C4&PID_EA60", + "^VID_2341&PID_0043", + "^VID_2A03&PID_0043", + "^VID_2341&PID_0243", + "^VID_2341&PID_0001", + "^VID_1A86&PID_7523", + "^VID_0403&PID_6001", + "^VID_0403\\+PID_6001\\+.+" + ], + "Info": { + "CanInstallFirmware": true, + "CanResetBoard": true, + "FriendlyName": "Arduino Uno", + "FirmwareBaseName": "mobiflight_uno", + "FirmwareExtension": "hex", + "LatestFirmwareVersion": "2.5.2", + "MobiFlightType": "MobiFlight Uno", + "ResetFirmwareFile": "reset.arduino_uno_1_0_2.hex" + }, + "ModuleLimits": { + "MaxAnalogInputs": 6, + "MaxButtons": 18, + "MaxEncoders": 9, + "MaxInputShifters": 6, + "MaxLcdI2C": 2, + "MaxLedSegments": 6, + "MaxOutputs": 18, + "MaxServos": 8, + "MaxShifters": 6, + "MaxSteppers": 4, + "MaxInputMultiplexer": 6, + "MaxCustomDevices": 0 + }, + "Pins": [ + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 2 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 3 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 4 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 5 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 6 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 7 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 8 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 9 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 10 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 11 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 12 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 13 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A0", + "Pin": 14 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A1", + "Pin": 15 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A2", + "Pin": 16 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A3", + "Pin": 17 + }, + { + "isAnalog": true, + "isI2C": true, + "isPWM": false, + "Name": "A4", + "Pin": 18 + }, + { + "isAnalog": true, + "isI2C": true, + "isPWM": false, + "Name": "A5", + "Pin": 19 + } + ] +} diff --git a/_Boards/raspberrypi_pico.board.json b/_Boards/raspberrypi_pico.board.json new file mode 100644 index 00000000..a4c541df --- /dev/null +++ b/_Boards/raspberrypi_pico.board.json @@ -0,0 +1,202 @@ +{ + "$schema": "./mfboard.schema.json", + "UsbDriveSettings": { + "VolumeLabel": "RPI-RP2", + "VerificationFileName": "INFO_UF2.TXT" + }, + "Connection": { + "ConnectionDelay": 1250, + "DelayAfterFirmwareUpdate": 1250, + "DtrEnable": true, + "EEPROMSize": 1496, + "ExtraConnectionRetry": false, + "ForceResetOnFirmwareUpdate": true, + "MessageSize": 64 + }, + "HardwareIds": ["^VID_2E8A&PID_000A"], + "Info": { + "CanInstallFirmware": true, + "CanResetBoard": true, + "FirmwareBaseName": "mobiflight_raspberrypico", + "FirmwareExtension": "uf2", + "FriendlyName": "Raspberry Pico", + "LatestFirmwareVersion": "2.5.2", + "MobiFlightType": "MobiFlight RaspiPico", + "ResetFirmwareFile": "reset.raspberry_pico_flash_nuke.uf2" + }, + "ModuleLimits": { + "MaxAnalogInputs": 3, + "MaxInputShifters": 6, + "MaxButtons": 26, + "MaxEncoders": 13, + "MaxLcdI2C": 2, + "MaxLedSegments": 6, + "MaxOutputs": 26, + "MaxServos": 8, + "MaxShifters": 6, + "MaxSteppers": 6, + "MaxInputMultiplexer": 6, + "MaxCustomDevices": 0 + }, + "Pins": [ + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 0 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 1 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 2 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 3 + }, + { + "isAnalog": false, + "isI2C": true, + "isPWM": true, + "Pin": 4 + }, + { + "isAnalog": false, + "isI2C": true, + "isPWM": true, + "Pin": 5 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 6 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 7 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 8 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 9 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 10 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 11 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 12 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 13 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 14 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": true, + "Pin": 15 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 16 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 17 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 18 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 19 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 20 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 21 + }, + { + "isAnalog": false, + "isI2C": false, + "isPWM": false, + "Pin": 22 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A0", + "Pin": 26 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A1", + "Pin": 27 + }, + { + "isAnalog": true, + "isI2C": false, + "isPWM": false, + "Name": "A2", + "Pin": 28 + } + ] +} diff --git a/_Boards/reset.arduino_mega_1_0_2.hex b/_Boards/reset.arduino_mega_1_0_2.hex new file mode 100644 index 00000000..f2578bfa --- /dev/null +++ b/_Boards/reset.arduino_mega_1_0_2.hex @@ -0,0 +1,179 @@ +:100000000C9428010C9459010C9459010C94590139 +:100010000C9459010C9459010C9459010C945901F8 +:100020000C9459010C9459010C9459010C945901E8 +:100030000C9459010C9459010C9459010C945901D8 +:100040000C9459010C9459010C9459010C945901C8 +:100050000C9459010C9459010C9459010C9472039D +:100060000C9459010C94E6030C94BC030C945901B4 +:100070000C9459010C9459010C9459010C94590198 +:100080000C9459010C9459010C9459010C94590188 +:100090000C9459010C9459010C9459010C94590178 +:1000A0000C9459010C9459010C9459010C94590168 +:1000B0000C9459010C9459010C9459010C94590158 +:1000C0000C9459010C9459010C9459010C94590148 +:1000D0000C9459010C9459010C9459010C94590138 +:1000E0000C9459010C94CF010C94BD010C941C0488 +:1000F0000C9487010C94D4020C94B7010C94AD01BC +:100100000C94D9010C94C1010C947A020C94CB018B +:100110000C94C5010C949E010C943E020C94210396 +:100120000C94A6010C94DD010C94AA010C94A2017C +:100130000C948E020C94D3010C948C010C94B3019A +:100140000C946B020C949C020000210024002700F8 +:100150002A002D00300033000101000004010701D6 +:100160000A0100002200250028002B002E0031008B +:10017000340002010000050108010B010505050519 +:10018000070508080808020202020A0A080804040F +:10019000040401010101010101010303030303033D +:1001A0000303040707070C0C0C0C0C0C0C0C0202CC +:1001B000020206060606060606060B0B0B0B0B0BC9 +:1001C0000B0B010210202008081020401020408056 +:1001D000020102010804020101020408102040800B +:1001E0008040201008040201800402018040201099 +:1001F00008040201080402010102040810204080E2 +:10020000010204081020408000000A0B02090C0DB6 +:100210000E080703040100000000000000000000B9 +:1002200000000000000000000000000000000000CE +:10023000000000001211100000000000000000008B +:1002400000000000000000000000000000001C048E +:1002500011241FBECFEFD1E2DEBFCDBF00E00CBF47 +:1002600012E0A0E0B2E0E6EFFAE000E00BBF02C06F +:1002700007900D92A231B107D9F722E0A2E1B2E0D6 +:1002800001C01D92AA3BB207E1F711E0C8E2D1E03C +:1002900000E006C021970109802FFE010E94710530 +:1002A000C732D10780E00807A9F70E944D040C94DB +:1002B00079050C940000382FE5E1F2E08491EFEC31 +:1002C000F1E02491E9E8F1E09491992309F435C033 +:1002D000882311F181508231F8F4E82FF0E088276B +:1002E000EB58FE4F8F4F0C947105A601AA018701B0 +:1002F0009E01A2018C01AD01B301B701BD01C10195 +:10030000C501CB01CF018C01D301D901DD01809161 +:1003100080008F7780938000E92FF0E0EE0FFF1FC1 +:10032000EE59FE4FA591B4918FB7F894EC9131112D +:1003300048C020952E232C938FBF08958091800074 +:100340008F7DE8CF80918000877FE4CF84B58F7761 +:1003500084BDE2CF84B58F7DFBCF8091B0008F77D5 +:100360008093B000D9CF8091B0008F7DF9CF80917C +:1003700090008F7780939000CFCF809190008F7DF9 +:10038000F9CF80919000877FF5CF8091A0008F7783 +:100390008093A000C1CF8091A0008F7DF9CF809184 +:1003A000A000877FF5CF809120018F778093200177 +:1003B000B3CF809120018F7DF9CF80912001877F7D +:1003C000F5CF2E2BB8CF3FB7F894809117029091BC +:1003D0001802A0911902B0911A0226B5A89B05C077 +:1003E0002F3F19F00196A11DB11D3FBFBA2FA92FB4 +:1003F000982F8827BC01CD01620F711D811D911DB1 +:1004000042E0660F771F881F991F4A95D1F708951C +:100410008F929F92AF92BF92CF92DF92EF92FF9214 +:100420000E94E3014B015C0188EEC82E83E0D82EC8 +:10043000E12CF12C0E94E301681979098A099B09D2 +:10044000683E734081059105A8F321E0C21AD108E6 +:10045000E108F10888EE880E83E0981EA11CB11C0B +:10046000C114D104E104F10429F7FF90EF90DF906B +:10047000CF90BF90AF909F908F900895AF92BF9212 +:10048000CF92DF92EF92FF920F931F93CF93DF9360 +:100490006C017B018B01040F151FEB015E01AE188F +:1004A000BF08C017D10759F06991D601ED91FC91B1 +:1004B0000190F081E02DC6011995892B79F7C501CE +:1004C000DF91CF911F910F91FF90EF90DF90CF9030 +:1004D000BF90AF900895FC01538D448D252F30E0DF +:1004E000842F90E0821B930B541710F0CF96089541 +:1004F00001970895FC01918D828D981761F0A28D6E +:10050000AE0FBF2FB11D5D968C91928D9F5F9F7333 +:10051000928F90E008958FEF9FEF0895FC01918DE9 +:10052000828D981731F0828DE80FF11D858D90E056 +:1005300008958FEF9FEF0895FC01918D228D892FF3 +:1005400090E0805C9F4F821B91098F7399270895DB +:100550008BE192E00E949C0221E0892B09F420E0CB +:10056000822F0895FC01A48DA80FB92FB11DA35AA5 +:10057000BF4F2C91848D90E001968F739927848FC3 +:10058000A689B7892C93A089B1898C9183708064E6 +:100590008C93938D848D981306C00288F389E02D87 +:1005A00080818F7D80830895EF92FF920F931F9338 +:1005B000CF93DF93EC0181E0888F9B8D8C8D981316 +:1005C0001AC0E889F989808185FF15C09FB7F89422 +:1005D000EE89FF896083E889F9898081837080646E +:1005E00080839FBF81E090E0DF91CF911F910F91B9 +:1005F000FF90EF900895F62E0B8D10E00F5F1F4FC8 +:100600000F731127E02E8C8D8E110CC00FB607FCD6 +:10061000FACFE889F989808185FFF5CFCE010E9464 +:10062000B202F1CFEB8DEC0FFD2FF11DE35AFF4F1E +:10063000F0829FB7F8940B8FEA89FB8980818062F2 +:10064000CFCFCF93DF93EC01888D8823B9F0AA89AF +:10065000BB89E889F9898C9185FD03C0808186FD7D +:100660000DC00FB607FCF7CF8C9185FFF2CF8081CC +:1006700085FFEDCFCE010E94B202E9CFDF91CF918D +:10068000089580E090E0892B29F00E94A802811152 +:100690000E94000080E090E0892B49F080E090E02B +:1006A000892B29F00E94000081110E94000080E047 +:1006B00090E0892B49F080E090E0892B29F00E949E +:1006C000000081110E94000080E090E0892B49F039 +:1006D00080E090E0892B29F00E94000081110C94A9 +:1006E000000008951F920F920FB60F9211242F93BE +:1006F0003F938F939F93AF93BF93809113029091F9 +:100700001402A0911502B09116023091120223E05A +:10071000230F2D3758F50196A11DB11D209312020C +:100720008093130290931402A0931502B0931602C3 +:100730008091170290911802A0911902B0911A02AB +:100740000196A11DB11D8093170290931802A093EA +:100750001902B0931A02BF91AF919F918F913F916F +:100760002F910F900FBE0F901F90189526E8230F22 +:100770000296A11DB11DD2CF1F920F920FB60F92FC +:1007800011240BB60F922F933F934F935F936F9368 +:100790007F938F939F93AF93BF93EF93FF938BE1DF +:1007A00092E00E94B202FF91EF91BF91AF919F91B1 +:1007B0008F917F916F915F914F913F912F910F900A +:1007C0000BBE0F900FBE0F901F9018951F920F92A7 +:1007D0000FB60F9211240BB60F922F938F939F9306 +:1007E000EF93FF93E0912B02F0912C028081E09136 +:1007F0003102F091320282FD1DC09081809134025D +:100800008F5F8F7320913502821741F0E09134029F +:10081000F0E0E55EFD4F958F80933402FF91EF91FC +:100820009F918F912F910F900BBE0F900FBE0F9045 +:100830001F9018958081F2CFEBE1F2E013821282D3 +:1008400088EE93E0A0E0B0E084839583A683B7832D +:1008500084E092E09183808385EC90E095878487A3 +:1008600084EC90E09787868780EC90E0918B808B7A +:1008700081EC90E0938B828B82EC90E0958B848B63 +:1008800086EC90E0978B868B118E128E138E148ED1 +:100890001092B9021092B8020895CF93DF93CDB7AA +:1008A000DEB7789484B5826084BD84B5816084BDF0 +:1008B00085B5826085BD85B5816085BD80916E00FE +:1008C000816080936E00109281008091810082602F +:1008D000809381008091810081608093810080916C +:1008E00080008160809380008091B100846080935B +:1008F000B1008091B00081608093B0008091910040 +:10090000826080939100809191008160809391003A +:10091000809190008160809390008091A10082601E +:100920008093A1008091A10081608093A1008091BB +:10093000A00081608093A00080912101826080935B +:10094000210180912101816080932101809120010A +:1009500081608093200180917A00846080937A0086 +:1009600080917A00826080937A0080917A00816021 +:1009700080937A0080917A00806880937A00109248 +:10098000C1000DB71EB780E090E19093B90280934B +:10099000B8028DB79EB790510FB6F8949EBF0FBEA8 +:1009A0008DBFEDB7FEB731966F01EFECF1E04491EA +:1009B000E9E8F1E08491882399F090E0880F991F8D +:1009C000FC01E85BFE4FA591B491FC01EE59FE4F8E +:1009D000859194918FB7F894EC91E42BEC938FBFB1 +:1009E000E0912B02F0912C0282E08083E0912702BB +:1009F000F09128021082E0912902F0912A0280E110 +:100A0000808310923302E0912F02F091300286E051 +:100A10008083E0912D02F0912E028081806180839D +:100A2000E0912D02F0912E02808188608083E09118 +:100A30002D02F0912E02808180688083E0912D024A +:100A4000F0912E0280818F7D8083C601905FF60138 +:100A50002FEF21938E179F07E1F78091B8029091B5 +:100A6000B90281159041A8F0F12CE12CF601B1906A +:100A70006F01C7010E945B05B81621F06B2DC701FD +:100A80000E946305FFEFEF1AFF0AE11420E1F2066E +:100A900069F70FB6F8941EBF0FBE0DBF81E00E942C +:100AA0005B010E94080280E00E945B010E94080234 +:100AB0000E944103F3CFF999FECF92BD81BDF89A10 +:100AC000992780B50895262FF999FECF1FBA92BDB8 +:100AD00081BD20BD0FB6F894FA9AF99A0FBE01961F +:100AE0000895EE0FFF1F881F8BBF0790F691E02D32 +:060AF0001994F894FFCFF9 +:100AF60000000000D4023E026B0221039C027A022F +:020B06008E025D +:00000001FF diff --git a/_Boards/reset.arduino_promicro_1_0_2.hex b/_Boards/reset.arduino_promicro_1_0_2.hex new file mode 100644 index 00000000..635a616a --- /dev/null +++ b/_Boards/reset.arduino_promicro_1_0_2.hex @@ -0,0 +1,262 @@ +:100000000C94CD000C94F5000C94F5000C94F500C4 +:100010000C94F5000C94F5000C94F5000C94F5008C +:100020000C94F5000C94F5000C941E040C948D04B3 +:100030000C94F5000C94F5000C94F5000C94F5006C +:100040000C94F5000C94F5000C94F5000C94F5005C +:100050000C94F5000C94F5000C94F5000C94D4036A +:100060000C94F5000C94F5000C94F5000C94F5003C +:100070000C94F5000C94F5000C94F5000C94F5002C +:100080000C94F5000C94F5000C94F5000C94F5001C +:100090000C94F5000C94F5000C94F5000C94F5000C +:1000A0000C94F5000C94F5000C94F500080B00027C +:1000B0000202000009040000010202000005240001 +:1000C0001001052401010104240206052406000193 +:1000D0000705810310004009040100020A00000026 +:1000E00007050202400000070583024000000403E8 +:1000F000090412010002EF02014041233780000190 +:100100000102030141726475696E6F204C4C43001B +:1001100041726475696E6F204D6963726F000000F3 +:100120000000240027002A002D00300000000000FD +:10013000250028002B002E003100040404040403D1 +:100140000405020202020403020202020606060677 +:10015000060604040202020404040802011040809E +:10016000401020408040800802040180402010029E +:1001700001108010204040200000000200090F0004 +:1001800000030401000C000000000000000000005B +:100190000000000000000000BF0611241FBECFEFCA +:1001A000DAE0DEBFCDBF11E0A0E0B1E0E4E1F0E1D4 +:1001B00002C005900D92A632B107D9F721E0A6E260 +:1001C000B1E001C01D92A739B207E1F710E0CDEC14 +:1001D000D0E004C02197FE010E940208CC3CD10768 +:1001E000C9F70E94D8060C9408080C940000E5E8B2 +:1001F000F1E02491E6E6F1E03491E7E4F1E0949156 +:10020000992309F430C02223E9F021502F30D0F493 +:10021000E22FF0E0E25FFE4F0C9402083C01400147 +:100220001D0134013801220122012201430149014B +:100230004D015101570122015B01209180002F7770 +:1002400020938000E92FF0E0EE0FFF1FE45DFE4FEA +:10025000A591B4919FB7F894EC91811132C030957B +:100260003E233C939FBF0895209180002F7DE8CFCF +:1002700020918000277FE4CF24B52F7724BDE2CFE3 +:1002800024B52F7DFBCF209190002F7720939000F5 +:10029000D9CF209190002F7DF9CF20919000277F1A +:1002A000F5CF2091C0002F772093C000CBCF2091B5 +:1002B000C0002F7DF9CF2091C200277F2093C2007C +:1002C000C1CF3E2BCECFFC0180914401882311F198 +:1002D0003FB7F89482E08093E9002091F200822FEA +:1002E00090E01816190614F481E090E0882339F0A4 +:1002F000289A44E6409343014091F1004083222331 +:1003000039F02091F200211103C02BE62093E80080 +:100310003FBF08958FEF9FEF08952FB7F89483E0C4 +:100320008093E9009091E800892F807295FF04C0C6 +:100330009091F20080E4891B2FBF089580913B01CA +:1003400081110DC082E08093370184E080933801F1 +:1003500010923A011092390181E080933B0187E3CA +:1003600091E008953FB7F894809133019091340162 +:10037000A0913501B091360126B5A89B05C02F3F4D +:1003800019F00196A11DB11D3FBFBA2FA92F982FBB +:100390008827BC01CD01620F711D811D911D42E0B6 +:1003A000660F771F881F991F4A95D1F708958F927E +:1003B0009F92AF92BF92CF92DF92EF92FF924B014A +:1003C0005C010E94B2016B017C010E94B2016C19B8 +:1003D0007D098E099F09683E734081059105A8F348 +:1003E00021E0821A9108A108B10888EEC80E83E0C6 +:1003F000D81EE11CF11C81149104A104B10429F759 +:10040000FF90EF90DF90CF90BF90AF909F908F9034 +:1004100008954091280150912901209126013091A1 +:10042000270142175307B4F49091E8009570E1F367 +:100430009091E80092FD19C08093F100809128010D +:100440009091290101968F739927892B19F48EEFCA +:100450008093E80080912801909129010196909362 +:1004600029018093280181E0089580E00895EF92AA +:10047000FF920F931F93CF93DF93F82E192FE62E41 +:10048000042F81E0860F880F0E94090283E00E94FA +:100490000902CF2DD12FEC0EFD2EF11CCE15DF055C +:1004A000B9F007FF13C0FE0184910E940902182FC2 +:1004B00080E00E940902812321968111EFCFDF9114 +:1004C000CF911F910F91FF90EF9008958881EDCF0C +:1004D00081E0F5CFDF92EF92FF920F931F93CF93BE +:1004E000DF93D82E8A01EB017B01E40EF51ECE15B9 +:1004F000DF0559F0D7FE12C0FE0184910E94090267 +:1005000021968111F4CF0FEF1FEFC801DF91CF913A +:100510001F910F91FF90EF90DF9008958881EECFAB +:100520000F931F93CF93DF931F92CDB7DEB782E077 +:10053000898342E450E06CEA70E080E80E946A023D +:100540000E949E01DC0112960D911C91011511056E +:1005500089F0D801ED91FC910280F381E02DBE017C +:100560006F5F7F4FC801099597FD04C0F8010085B2 +:100570001185ECCF89810F90DF91CF911F910F9161 +:100580000895615030F02091F100FC012083019624 +:10059000F8CF289A84E68093430108958F929F9222 +:1005A000AF92BF92CF92DF92EF92FF920F931F9381 +:1005B000CF93DF936C017B018A0180910B0188232B +:1005C00009F45CC080914401882309F457C08091EC +:1005D0002C0180FF05C08091E00082608093E000E4 +:1005E000E801B12C8AEFA82E93E0892E2AE3922EFF +:1005F000209711F4BB20D9F10E948D0181110AC00E +:10060000AA94AA20D9F161E070E080E090E00E9415 +:10061000D701EECF8C171D0611F00CF08C2F9FB771 +:10062000F8948092E9002091E80025FD02C09FBF68 +:10063000DFCF282F30E0C21BD30BF701815020F011 +:1006400041914093F100FACFE20EF31EBB2021F05E +:100650009092E800B12CEBCF8091E80085FDE7CFC8 +:100660009092E800BB24B394209709F3F3CF5D9AEE +:1006700084E680932B01101611063CF081E090E097 +:10068000F6019383828310E000E0C801DF91CF91EF +:100690001F910F91FF90EF90DF90CF90BF90AF90A0 +:1006A0009F908F900895CF93DF931F92CDB7DEB7C1 +:1006B0006983DC01ED91FC910280F381E02D41E042 +:1006C00050E0BE016F5F7F4F09950F90DF91CF9192 +:1006D000089583E08093E9008091F200882319F067 +:1006E0008AE38093E80008950E948D0190E00895C8 +:1006F000CF93DF931F92CDB7DEB7FC01848595853C +:1007000097FD08C02FEF3FEF358724870F90DF91CB +:10071000CF910895CE0101960E946301019719F4CB +:10072000898190E0F3CF8FEF9FEFF0CF0F931F936E +:10073000CF93DF931F92CDB7DEB78C01FC01848588 +:10074000958597FF0BC0CE0101960E94630101972A +:1007500071F4898190E0F80195878487F801848598 +:1007600095850F90DF91CF911F910F9108958FEF95 +:100770009FEFF1CFFC018485958597FD0BC09FB756 +:10078000F89482E08093E9008091F2009FBF90E0AE +:10079000019608959FB7F89482E08093E9008091D4 +:1007A000F2009FBF90E008951F920F920FB60F9234 +:1007B00011242F933F938F939F93AF93BF93809177 +:1007C0002F0190913001A0913101B091320130910F +:1007D0002E0123E0230F2D3758F50196A11DB11DE1 +:1007E00020932E0180932F0190933001A09331012B +:1007F000B09332018091330190913401A091350181 +:10080000B09136010196A11DB11D809333019093E3 +:100810003401A0933501B0933601BF91AF919F9100 +:100820008F913F912F910F900FBE0F901F901895B1 +:1008300026E8230F0296A11DB11DD2CF1F920F9261 +:100840000FB60F9211248F939F938091E1009091A6 +:10085000E100937F9093E10083FF0FC01092E900C5 +:1008600091E09093EB001092EC0092E39093ED00F6 +:100870001092440198E09093F00082FF22C093E030 +:100880009093E9009091F200992319F09AE39093E4 +:10089000E80090912B01992341F090912B01915008 +:1008A00090932B01911101C05D9890914301992380 +:1008B00041F090914301915090934301911101C0F7 +:1008C000289884FF18C08091E2008E7E816080931A +:1008D000E2008091E1008F7E8093E10080912C0105 +:1008E0008E7E806180932C019F918F910F900FBE1F +:1008F0000F901F90189580FFF7CF8091E2008E7EB9 +:1009000080618093E2008091E1008E7E8093E1001F +:1009100080912C018E7E8160E5CF1F920F920FB6E1 +:100920000F921124CF92DF92EF92FF920F931F93B9 +:100930002F933F934F935F936F937F938F939F93E7 +:10094000AF93BF93EF93FF93CF93DF93CDB7DEB712 +:100950006C97DEBFCDBF1092E9008091E80083FF65 +:1009600025C068E0CE0145960E94C10282EF8093C7 +:10097000E8008D8987FF39C09091E80090FFFCCF97 +:10098000982F907609F034C19E894F89588D2F8910 +:10099000F88C911131C0803861F580912D018093E0 +:1009A000F1001092F1008EEF8093E8006C960FB684 +:1009B000F894DEBF0FBECDBFDF91CF91FF91EF91D5 +:1009C000BF91AF919F918F917F916F915F914F9167 +:1009D0003F912F911F910F91FF90EF90DF90CF905B +:1009E0000F900FBE0F901F9018959EEF9093E80008 +:1009F000C7CF1092F100D5CF913059F48111D3CFE8 +:100A00004130510581F680912D018D7F80932D011C +:100A1000CACF933049F48111C6CF4130510519F640 +:100A200080912D018260F2CF953041F48091E800F1 +:100A300080FFFCCF20682093E300B5CF963009F00B +:100A4000A9C00B8D1C8D22E01092E90010922901A3 +:100A500010922801F2122EC0109227011092260146 +:100A60000E9490021F8299E09983FA8291E09E830E +:100A700090EA98879AEF998720912801309129016F +:100A8000275F3F4F3C832B838D831092E9001092A8 +:100A9000290110922801109327010093260149E0B3 +:100AA00050E0BE016F5F7F4F80E00E946A020E94AB +:100AB000900279CF10932701009326010E949E0196 +:100AC000DC0112960D911C910115110509F451C11B +:100AD000D801ED91FC910480F581E02DBE016B5EA3 +:100AE0007F4FC8010995009709F03EC1F8010085C4 +:100AF0001185EACFF3E0FF120EC08F89882309F435 +:100B000040C0823061F440E86DE080E191E00E94F5 +:100B10003702811148CF81E28093EB0047CF8130CB +:100B200029F440E86BE084E091E0F1CF833099F75D +:100B30000E949E01DC011296ED90FC908E010F5FE9 +:100B40001F4F6801E114F10479F0D701ED91FC9198 +:100B50000680F781E02DB801C7010995080F111D26 +:100B6000F701E084F184EECFD8011C92F6010190E8 +:100B70000020E9F73197BF016C197D0940E0C601FB +:100B8000C6CF6EEE70E0FB01449150E080E80E9419 +:100B90006A0209CF973009F4BECF983021F481E082 +:100BA0008093F10000CF993009F0FDCE837009F0F9 +:100BB000B2CFEDE0F1E081E031E096E32191222334 +:100BC00071F08093E9003093EB00DF0111972C91D5 +:100BD0002093EC009093ED008F5F873079F78EE7DC +:100BE0008093EA001092EA008F8980934401DBCE63 +:100BF0008B8D9C8D1092E900109229011092280192 +:100C00009093270180932601898D811192C08E894E +:100C10009D89913A49F4813209F07DCF47E050E057 +:100C200064E071E080E0B3CF913209F074CF833299 +:100C300069F48F89988DB0E0A0E0809300019093D3 +:100C40000101A0930201B0930301ADCE803269F49B +:100C50008091E80082FFFCCF67E084E091E00E9491 +:100C6000C1028BEF8093E8009ECE823209F09BCECA +:100C70008F8980930B01EEEFFFE7859194918B3F75 +:100C80009C4D51F1E0E0F8E0809104019091050164 +:100C9000A0910601B0910701803B9440A105B105E8 +:100CA000F1F480910B0180FD1AC0EE3F8AE0F80755 +:100CB00089F587E797E7918380838091600080932F +:100CC0002A0188E19BE00FB6F894A8958093600014 +:100CD0000FBE9093600067CEEEEFFAE0D5CF808133 +:100CE00091818737974709F05ECEA8958091600083 +:100CF00088618093600080912A0180936000EE3FBC +:100D00002AE0F20789F08091FE0A9091FF0A918310 +:100D1000808349CE808191818737980751F29093E3 +:100D2000FF0A8093FE0AC5CF1092FF0A1092FE0AB6 +:100D30003ACE0E949E01DC0112960D911C91011584 +:100D4000110509F4E8CED801ED91FC910190F081F4 +:100D5000E02DBE016B5E7F4FC8010995811123CE46 +:100D6000F80100851185EBCF181619060CF41BCE7F +:100D7000D2CEF1E0FF12BECE62EF70E004CFE5E428 +:100D8000F1E01382128288EE93E0A0E0B0E0848369 +:100D90009583A683B78387E191E0918380838FEF6A +:100DA0009FEF958784871092960110929501089580 +:100DB000CF93DF93CDB7DEB7789484B5826084BDDE +:100DC00084B5816084BD85B5826085BD85B581604F +:100DD00085BD80916E00816080936E0010928100CD +:100DE0008091810082608093810080918100816088 +:100DF0008093810080918000816080938000809149 +:100E00009100826080939100809191008160809335 +:100E10009100809190008160809390008091C1004A +:100E200084608093C1008091C10082608093C10082 +:100E30008091C10081608093C1008091C300816076 +:100E40008093C3008091C00082608093C000809135 +:100E5000C20081608093C20080917A008460809398 +:100E60007A0080917A00826080937A0080917A0083 +:100E7000816080937A0080917A00806880937A0004 +:100E80001092440110922D0110922C018091D700F4 +:100E900081608093D70080EA8093D80089B5806113 +:100EA00089BD89B5826089BD09B400FEFDCF61E0CE +:100EB00070E080E090E00E94D7018091D8008F7CA4 +:100EC00080618093D8008091E000807F8093E00073 +:100ED0008091E1008E7E8093E1008DE08093E200BE +:100EE000559A209A5D9828980DB71EB780E094E037 +:100EF00090939601809395018DB79EB794500FB64D +:100F0000F8949EBF0FBE8DBFEDB7FEB731966F014F +:100F1000E6E6F1E04491E7E4F1E08491882399F07A +:100F200090E0880F991FFC01E25EFE4FA591B491FD +:100F3000FC01E45DFE4F859194918FB7F894EC919C +:100F4000E42BEC938FBF8FEF9FEF90935201809330 +:100F50005101C6019C5FF6012FEF21938E179F0769 +:100F6000E1F7809195019091960181159440A8F048 +:100F7000F12CE12CF601B1906F01C7010E94EC0742 +:100F8000B81621F06B2DC7010E94F407FFEFEF1A8E +:100F9000FF0AE11424E0F20669F70FB6F8941EBFC9 +:100FA0000FBE0DBF00E010E081E00E94F70068EE88 +:100FB00073E080E090E00E94D70180E00E94F7009B +:100FC00068EE73E080E090E00E94D7010115110502 +:100FD00059F30E940000E8CFF999FECF92BD81BD80 +:100FE000F89A992780B50895262FF999FECF1FBA50 +:100FF00092BD81BD20BD0FB6F894FA9AF99A0FBE42 +:1010000001960895EE0FFF1F0590F491E02D0994CD +:04101000F894FFCF82 +:10101400FFFFFFFF00E100000000000000C180812D +:10102400000000000000005303CE0274036903BAF9 +:061034000378039603009F +:00000001FF diff --git a/_Boards/reset.arduino_uno_1_0_2.hex b/_Boards/reset.arduino_uno_1_0_2.hex new file mode 100644 index 00000000..86408120 --- /dev/null +++ b/_Boards/reset.arduino_uno_1_0_2.hex @@ -0,0 +1,134 @@ +:100000000C945D000C9485000C9485000C94850084 +:100010000C9485000C9485000C9485000C9485004C +:100020000C9485000C9485000C9485000C9485003C +:100030000C9485000C9485000C9485000C9485002C +:100040000C9437020C9485000C94A7020C94810246 +:100050000C9485000C9485000C9485000C9485000C +:100060000C9485000C9485000000000024002700FB +:100070002A0000000000250028002B0004040404CE +:100080000404040402020202020203030303030342 +:10009000010204081020408001020408102001021F +:1000A00004081020000000080002010000030407FB +:1000B0000000000000000000D90211241FBECFEF95 +:1000C000D8E0DEBFCDBF11E0A0E0B1E0E4E2F8E0AF +:1000D00002C005900D92A231B107D9F721E0A2E14B +:1000E000B1E001C01D92AA3BB207E1F710E0CDE5F7 +:1000F000D0E004C02197FE010E940A04CC35D1074C +:10010000C9F70E940A030C9410040C940000E1EB60 +:10011000F0E02491EDE9F0E09491E9E8F0E0E49179 +:10012000EE23C9F0222339F0233001F1A8F4213065 +:1001300019F1223029F1F0E0EE0FFF1FEE58FF4FCA +:10014000A591B4912FB7F894EC91811126C09095A8 +:100150009E239C932FBF08952730A9F02830C9F023 +:10016000243049F7209180002F7D03C0209180002A +:100170002F7720938000DFCF24B52F7724BDDBCFEE +:1001800024B52F7DFBCF2091B0002F772093B000B6 +:10019000D2CF2091B0002F7DF9CF9E2BDACF3FB781 +:1001A000F8948091170190911801A0911901B091D4 +:1001B0001A0126B5A89B05C02F3F19F00196A11D75 +:1001C000B11D3FBFBA2FA92F982F8827BC01CD01A1 +:1001D000620F711D811D911D42E0660F771F881F00 +:1001E000991F4A95D1F708958F929F92AF92BF922F +:1001F000CF92DF92EF92FF920E94CF004B015C0101 +:1002000088EEC82E83E0D82EE12CF12C0E94CF007E +:10021000681979098A099B09683E7340810591052F +:10022000A8F321E0C21AD108E108F10888EE880E8F +:1002300083E0981EA11CB11CC114D104E104F10497 +:1002400029F7FF90EF90DF90CF90BF90AF909F90F5 +:100250008F900895AF92BF92CF92DF92EF92FF926C +:100260000F931F93CF93DF936C017B018B01040FDE +:10027000151FEB015E01AE18BF08C017D10759F07A +:100280006991D601ED91FC910190F081E02DC601BC +:100290000995892B79F7C501DF91CF911F910F91B6 +:1002A000FF90EF90DF90CF90BF90AF900895FC014A +:1002B000538D448D252F30E0842F90E0821B930BCB +:1002C000541710F0CF96089501970895FC01918D71 +:1002D000828D981761F0A28DAE0FBF2FB11D5D9674 +:1002E0008C91928D9F5F9F73928F90E008958FEF16 +:1002F0009FEF0895FC01918D828D981731F0828DCA +:10030000E80FF11D858D90E008958FEF9FEF089520 +:10031000FC01918D228D892F90E0805C9F4F821B84 +:1003200091098F73992708958BE191E00E948801CC +:1003300021E0892B09F420E0822F089580E090E0ED +:10034000892B29F00E94940181110C9400000895DA +:10035000FC01A48DA80FB92FB11DA35ABF4F2C913A +:10036000848D90E001968F739927848FA689B78931 +:100370002C93A089B1898C91837080648C93938D28 +:10038000848D981306C00288F389E02D80818F7DCB +:1003900080830895EF92FF920F931F93CF93DF9383 +:1003A000EC0181E0888F9B8D8C8D98131AC0E889B1 +:1003B000F989808185FF15C09FB7F894EE89FF8980 +:1003C0006083E889F98980818370806480839FBF1E +:1003D00081E090E0DF91CF911F910F91FF90EF901E +:1003E0000895F62E0B8D10E00F5F1F4F0F7311272E +:1003F000E02E8C8D8E110CC00FB607FCFACFE88969 +:10040000F989808185FFF5CFCE010E94A801F1CF47 +:10041000EB8DEC0FFD2FF11DE35AFF4FF0829FB7DC +:10042000F8940B8FEA89FB8980818062CFCFCF93CC +:10043000DF93EC01888D8823B9F0AA89BB89E8890C +:10044000F9898C9185FD03C0808186FD0DC00FB6B2 +:1004500007FCF7CF8C9185FFF2CF808185FFEDCF30 +:10046000CE010E94A801E9CFDF91CF9108951F929C +:100470000F920FB60F9211242F933F938F939F9358 +:10048000AF93BF938091130190911401A091150136 +:10049000B09116013091120123E0230F2D3758F54A +:1004A0000196A11DB11D2093120180931301909319 +:1004B0001401A0931501B09316018091170190913A +:1004C0001801A0911901B0911A010196A11DB11D49 +:1004D0008093170190931801A0931901B0931A010A +:1004E000BF91AF919F918F913F912F910F900FBE30 +:1004F0000F901F90189526E8230F0296A11DB11D9D +:10050000D2CF1F920F920FB60F9211242F933F93C9 +:100510004F935F936F937F938F939F93AF93BF930B +:10052000EF93FF938BE191E00E94A801FF91EF917F +:10053000BF91AF919F918F917F916F915F914F91FB +:100540003F912F910F900FBE0F901F9018951F9203 +:100550000F920FB60F9211242F938F939F93EF93C7 +:10056000FF93E0912B01F0912C018081E09131010A +:10057000F091320182FD1BC09081809134018F5F28 +:100580008F7320913501821741F0E0913401F0E042 +:10059000E55EFE4F958F80933401FF91EF919F911F +:1005A0008F912F910F900FBE0F901F901895808103 +:1005B000F4CFEBE1F1E01382128288EE93E0A0E049 +:1005C000B0E084839583A683B78384E091E0918330 +:1005D000808385EC90E09587848784EC90E0978712 +:1005E000868780EC90E0918B808B81EC90E0938B00 +:1005F000828B82EC90E0958B848B86EC90E0978BDD +:10060000868B118E128E138E148E1092B901109259 +:10061000B8010895CF93DF93CDB7DEB7789484B552 +:10062000826084BD84B5816084BD85B5826085BDEE +:1006300085B5816085BD80916E00816080936E007C +:10064000109281008091810082608093810080916E +:10065000810081608093810080918000816080931F +:1006600080008091B10084608093B1008091B000DF +:1006700081608093B00080917A00846080937A00DA +:1006800080917A00826080937A0080917A00816004 +:1006900080937A0080917A00806880937A0010922B +:1006A000C1000DB71EB780E094E09093B90180932C +:1006B000B8018DB79EB794500FB6F8949EBF0FBE89 +:1006C0008DBFEDB7FEB731966F01EDE9F0E04491D3 +:1006D000E9E8F0E08491882399F090E0880F991F71 +:1006E000FC01E859FF4FA591B491FC01EE58FF4F72 +:1006F000859194918FB7F894EC91E42BEC938FBF94 +:10070000E0912B01F0912C0182E08083E0912701A0 +:10071000F09128011082E0912901F0912A0180E1F5 +:10072000808310923301E0912F01F091300186E037 +:100730008083E0912D01F0912E0180818061808382 +:10074000E0912D01F0912E01808188608083E091FD +:100750002D01F0912E01808180688083E0912D0130 +:10076000F0912E0180818F7D8083C6019C5FF60110 +:100770002FEF21938E179F07E1F78091B801909199 +:10078000B90181159440A8F0F12CE12CF601B1904B +:100790006F01C7010E94F403B81621F06B2DC70149 +:1007A0000E94FC03FFEFEF1AFF0AE11424E0F206B7 +:1007B00069F70FB6F8941EBF0FBE0DBF00E010E042 +:1007C00081E00E9487000E94F40080E00E94870080 +:1007D0000E94F4000115110599F30E9494018823E9 +:1007E00079F30E940000ECCFF999FECF92BD81BD54 +:1007F000F89A992780B50895262FF999FECF1FBA48 +:1008000092BD81BD20BD0FB6F894FA9AF99A0FBE39 +:1008100001960895EE0FFF1F0590F491E02D0994C5 +:04082000F894FFCF7A +:1008240000000000CA012A0157011702880166016D +:020834007A0147 +:00000001FF diff --git a/_Boards/reset.raspberry_pico_flash_nuke.uf2 b/_Boards/reset.raspberry_pico_flash_nuke.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..31291e64cbc94f58b3f1e2b3ce822cf0518be383 GIT binary patch literal 25600 zcmeHveOwgRx&Jf!0?PurfYE&cGrNnrfG;SvK{3rTvmRiFDvC)2w3!9bi6(J{!lhBZ)X^pYTtlZq7#@;1H);7)Uwx;Dx+23<^7bM}= z{(k@5&;4EKBwwGIotZN;&-XmfbIx3 z?ddw{&ch!WyysK!;hs$I-?S9igalxBDuFd50(<{`08y~E=!Kt(#U6YH-T!v7Qc)k- zUuQXTupRgD{wcX-Za<;DcRc@8pA1zijPVbwik*&Jy@}`ELcIQW@au8s-p2iR5Wo3v z2K?gof5CoNP?rtA&~+#zNd4mt-Oj4hNfKn-lwZ5?z;~68Lq@Eul<0o4xbudtmVFJc zo5b4${uN>V73261Yv~g|V^QpoEs0Ty61PJU(os@KN4m}~q6A$BNOs&NmoeUDLqury5U_RJ;$Nmsh%~c z?|76d)VG{>HZL7=2@7Few+E9$x;{bzsO{~+-}=X%RTO@f$2`#CnG5V*Ww8HWf*y;U zdRnENa~FD~_=2?%?EiT%HOjz3VAjCq@=fd(7X!rlmEz4tZpcgR z9qXm+L8zR%8b0~*$yph2QD;qZ({r@_pb+$uC%S8T=-RF*`)(;VU)QmRxE$q<7$%Wv z)tBhkNrJ?%?HtpCEf==yq^>hjij`Wq!JdA9Fc_R}e+|Fi?9K~x+)q}L-;!0t*DjPq|7~gtHl&v0%DJoG}>Z$;fL7CG`z>+2Lj#hW6 z+vu)-qJ==lEV+~z;J8#RHRmnC_GX5cCtkfk){`<2@LApZX1ARrZh&-a`>XY~R2Z>2TC+h0L@;##~v4|Jr00X1lSK$SRMoh5621EUB$woq zHTqh2_XfxSS->*ONs@a?@gEiDKWZHR0{ZIe>ccC2-go^a#3n(&eyiKhLJ!6TYBPZj zYA4iQ!0PMxm*d*T9l|c?ULRYJOj_HBK%yHVAPq&gN5OO`r_ueX(N>oQqMN9dr%Dwe z-ofkk9gxa}dLlSXOtXV0MyX8FfdM?GpXWlFbS1VK0!N0x3UjgE%xfjl?G>SRK`Akc zPoXy{#@eItg6%DD{O7o)wa#NUMIBJaV9jfBwYs!zxkRrJh@O}8H1#nJpMSIPdudu? zTBj8M(P93h$MFy81(y?er5xR6dJrJH%R-jbx`h5E??tzl1tUd zb}N(PmCkKomYiExhDS-R;?FTug4$w$Y?e@<}dWcloXOHfQ84SOI0mrd%Ty`mda!=ZBn0E+MK0#;j~8 zAc}@u!ZfTQ(aq2h>~9)5?T5h8K}~B+8?B263{T{?aMvy}mbF~>tgHU-bG?y$+UCh# z0xYfHsESFuO=$mV!u)ISi%0wa0~iZeVJuup8Za8Fpp|gchHFP{nA-1LspAP)V3)T; zmh>%y@}A3vvYMY_Gyw07>bnH6{7!#ViecK(7q}d;VlffKEa9BEkH!MD$rxpcD@(d; z7>xjJXv1HU)6wd0M*vnX3wi%C#|IcQ&bYn$u$O)Uy>z_0x_aZv6dC5u^@Y7bidc(p z$gprFG{~5bh4y9+DykMDle&q! zHY+-$;|uXGuGJ#^@MjAC8HRs(~)~V_1kE_1K+b0>r_7C513Ds z?@?n_o4nfu{~sIXKNdfE)c@-`7*IHs`N94@H)*aXFb~-Es2`B~yZnV{SK+eBib=v5>oq2-=CTyca;O<*9 z3wCna(EdHQ7&HCNe2cLjwI?`}#023-aIGlBnk7~+ir+@A-JP+*5qQ6du^h2$3s{J) zY2;(wssacU+=9^k%&lu7ZVRw(XNzh(<&|F9ze_*V;?a@w6ep0!j zrj=JjJVR_G=( zyt_jU(_jWbTB;1`sj^4fhCTB%?3quKX)nGClsN|s@934wpK;gf>#$!w!>e*D3rY+~qad*m$bwMV&GaCd6proYrpuN}Zx5$O08QDYQ`4xO1{XQK7b2!3)>16YhaPe%fe_z>T!76pj7SVY zofhVQ+Bp7eF5MI3P>he z&pW|opa8lj2364Q=Pt21r{a z3s8p4zNvqp=2ZfV^j_v5_AzBf{aZ#K$2?H7ibpXDvZno8eu&j{0o%9zC4g!r!u^RFAnKPw>@ z8NbAFyx)xRf#WFdUxm1T)BCe=-0zBTUlP*arjcT@drZT{V;YX~mSBFEYPfi0H~IDL z`^oAWT64m7w{m0|>6*xIpP+5maewu4HKlIsCt7y9X=DiYcaFH82tPqPB33gj zV6NER$=77LKk-ju`X~B-oI647KVcmIU@@SEeiG8lXQ=ymg3amfFpBe>Ho;b46m_sq zYUYQ%a|`DQ?Oei?G0;Ip3W36K>cGf!YDqnT+kYWM`vvnek)|d+nAK zA*HZ&OX(KlmP?zH@!r_by`SQ}pW?kNXqE>1Pv80pH|P!a|I;7@4h;wU&krXSCjB3u z^J9FD8{<22XMgQC!QjZZR$%)9?9c`FW7y`W^FuJ7$3TFwAHx07-{|i#P8`9;c&3&$ z1#jxH4{#v~TZB>hDmUMLkkmYTwE2<8V9ncZJCijbz3rxgE5Vg8fG@h?6IfqRFUOeXu5*Ju8w zpkR$scyv6SPY?}KzFlc%>ya~Mpy~2Ze;x;@R!x%)5 zSriIjjacD&AjBN>l;CqV3cbi#X@oQS&cj2IcedP%y+dQD{0!bGVp*0pCWBAJn&Pp1 zMOX_?@v3Xp*!y`bg@So&B2zFG`JWNyAA5RZ?LVr^_s4YU_}jWfz2fMsm?m6MSj$(S zJ{vf=KrL#y;6i=gHIADX$I4sscgnl05X4zRMR~>-EYv0(My}_KEAOeX^4Pyq9(}t6 z;i&6_zMJUt;h_%|rk~-5dceNoIM_20GIqO`D^S`?s-xGTT!%UnQHm%ZLirHNe3bbpJyr$gT9tfvIp+R6YWwrn zD5r@@5*Jz31>K@rFo?x8XLHG&hcVl(u*2~o08xQ+OHv@}h1oTXwT$CMu&Q9U$cS<5 zER5y}L%B?haUWA+d>dl)dzozfEqbWSY)#qA7Bq0)W(OjvIaFR0N`_LvGEGZS5$w5vn|CpO8uV4L% zX;H?Ei|g=N2gf~YH9o5j^Mjx7`K7?`{gn4MQc9eH2_pa;C?y4WEq%k0{ts_5^9k~{f;~H z>pdyX_e{E)*L2N0UV+O715>6qC=jYLeHk7nxqs^KG{-0|`|ohxQESXfCyV~XSI=V#b19rXv)H17zhRjI+!^sQ1c`GIXA;2IjQ69*Rt9Jy{5goI#{buVlL>D z6bMzfKE;V+@A?KQX8m(qvK(c3`MyS!i6Lo`XNM#!r=wJwTREMa=uD_dav$Ci_9mmF zJp-Kwq_~2FBAh9V3l7%mgE-Rrvc6%5rl7%d4d;)1=2w{ijQtJjb3$CA-=Q2*-vjs^ zfex@JQ-kw7b6L0>VuS=7h1S`-;3@lI9%m*<%#s)QFX2%JA1kuyfAG?L@#JM6Ciedg zVg3!{`TrPvIJ?^hULDTRojWv)`qg#N9`g)o&vBTqkr@j#MCGsLl+PW?V_4O3dL26i z?4W-s>RydyGWjYqBk1$&SdSjV;~7>us;IA3WtnQ5asKwq$gv`FOveELv-30M85sYW zIn6{rZ!h3fEn=4RwK;eX^GkkqbFQ6J+n?obcx{pFJ~L;~pX6-Z-lj>qpxeA=Gwr_x z{q(;z+jZM<{wjV4LuY>S5cqTuXPF|ujoZsKx4HuzO^>|)$o<=AZpWNuuxa!AoA2K; za|_N%p48g}`!|O9H;(5YKu)r{J5p+x1v)wQN-Fl?|23Fe$biSfV*Bg;0mT9a=X~5* z$U2W~8uBlMl)@C}QB4^)+n&NL!Wmi?k!4SSOYbphMWo9&&ZRAPme-Y^ zE7w*yE9xrFRcJRkH`Q%Aw@F*+tgNd%SE=3X++4T$+-B_-=N7w0XH$CXww&8?WYe$x zv$NXZqoO05-oV*p@A-=z02{Eboxt~x?hpx6tJNwp|08|K`}WCQ8dbNV)?N!L9gnR& ziE$PcDeI#<>Gf-Po_`x>ekR22J}L0JQ>r)@f8eC&WD#G^C#y_xV9>ofnJd5q{!L;2 zP2>14$xTuv#&zk}GQCgSt*C)hI`OO;NcoqPo{6wrYFhF(r39pefVuod1bLN zN3!Xg^IkMCcW2bZ=g_Ni9vvMyg^b^M4{^#%=Ezm~L}AX6n5E5mEL`#DJoy2}kn`Bq zx;@Wc#<|0$sATCbVfS%dEdrQDe6F6fl97Jz&`tujXfM;&&Z*=g{N>OPV{IYZl9gWC z|LYi5L%NVG!Td$C)|$4ejVOE{}z+tvFsxIj4Dd8~WY(2+F^%W7qL*LV3h{A;opF;_ID-?+F_d|gb%xpg>JlJy5{fd~7&BY*HK zfpO`xa$Q$Z_qqgAkMw!p} zqOAvcc>f2!=Qz07grz+_G++&89ps?r#a>AZ-X@>Q1{XcO+16%qEXLzlmiapTY}F3E zX4!e^FsGMCpR(38Jsqx0DgN&a^MB_!{=eJ{>A$+9w6+tCubfm!jeKcHFX{OE%a=Yz zjot7rfu#>>mQaqqjvTq97Je^@g#y#`G`RBh-YVA;7o;7#^h0OEN?fzmdr8As8+7~Z z7hs2Uz!1wfNY&y;;$g8#JTEflUAhK)3s=$;%c*gEr=BkWRc0(VjI1=1H=%``aGb{( z8x`b3=|?N0y=nLsaCu4Z$9M!@OD{L}hJU`oupZ(vsQF6qkaSJbeEBW$m}n<|5>JRa zK3{xSd|J%LHYDbIL-j`Ci?afoBYxhmd8U^Avtj<(as1z7-3xZMnLO$3vya5EVKpJ7Vbzd6i5t@NY$pOYfA zYI#mPh1P9F`$C`CWA2S+P9CSa8T*g-H^D&k*Na7RtN`nh+utVI2-uv!B>b>vr+sOxgrCL?`BNu02 zX|MYduxD4c_yTBfJfNMN)HgXQNGrzdX3~VUpw-8dHRx{&Rw^zYkeXKZd%LA}QZ2d2 z5wTa?FaDeOeqR@9UVvl&3_v|fI^I7WC%9-3Gi+-wuESXHecvNko-Nkn*p9KFrcZ&)SMOd&tEoX=u3RfdzX`4FxRR>eQ7XRF7o!IGCwC4;jO9hB)XKF*l>@*d0AjR@Ts7vJ#YLh0lmH?viCD3$4p*kfu9zg?0Km-oj1y zsD#hXBgKd$@Hith-<<+T^!y2UXV|Y z$Ncmw(gM>R{6=xQkO@XhF-Tb__DOyI6dRHS2P7NlHI5-&|ph6 zmM<3H_fKN;pP2uj6Xt);IR0tu{3A{XrYm7z#n?$>=;&H5HFR~v&EA0HryGK1&@5Xm zF{wGAv>fHn>WTDy{sh^)>ZG&_TMm!;oP-m1>6^$3F3me#dfQZoD?aOSh5h}K20ipV z`zgoE#JBQ3`JB{5II@L&AeQ6bbNPX|mOy%vm$3+r_w=ulJ<{6MM*dYS@t=KNl26=& z8D(6hFRFd_OY^u-9^KXdtVxjm>k=HLcR&Y^Xt+dxzE4As*N%Rb3 zG4f7vj`IZ0@M`5=>#+(pFi64vnBdR-Gv-HMTsPm)lN`&!_N9-Y_Fwa}m<=w&y_azm z-=o`&94awZzwYnFCsWSPW9u$SZ1X?Q+F=i;?)eb!ty%hYyyLJxKA-;59>>BrmOhEU zH2X(Vzsddxn*8DV;Xz+R>-8Z7Z5KA7r0qf)4_4iaEs80!O^E;V!u-=pKN|n1h$_ZD zGv8IU>FchlO4jv|tLkBvy244jP2eAMvNZnN@QX+J--L>&s&s97oUM4s_29#moA8`A zJw2T*%3W2!v$&@Px?Y&-jdfL5S5`d=YbzhBbX8Y^^ys7R>g9_TZF%rf>9O*K726+P zROPC6mseI*J??&Rk^8}l?F%YvTo1b+s;pl0XjNt9qWqP)jzyava#c%<9(inAC6>E* zVdlb2l=Na05IXrl_@vYI2)iT`|6j5g+Y4)pUJ0%^U5np9_gk&^=~qPdy91ALOL0FQ zU$h4>_l!7($6Y8-QHh{s(+#_Ykqs3w$+rpoV}6|SpN8K(%70h|igB7yj@ys?d9;pv ziCO$Kfjl>f$!75HKSE~$olAmS5svH8vAuPOwTQ14BY1$~r2sraqR)(M>*fRdDk2sA z@#t^=kpFcWn81HJ>Yc&CP<-U)`M>=RcsjIA%lgd=OA{aN`@?V5K-Y`^WBZ?{feHL) zg!#|FPx)K?|Iho%f4uSE(!d1%(f3mOpZ^d3|CY)o)$bGdr*RkgU-17i|G0(^8y&aX zBeWkk+LxpKxnmI=M@exef-aO4XCshNQuIXNLrHNxf&fa2Nk#Y{3&Z>`9LN6v z>VN|1IfNzx9ZCv)1T0DlTLhUXDY7H5qol}>pa>DXvElKuIyF2>-&zOyEB=%s=gKkGB5?PzMzF zr#wQ?prp`6phro;Mqoopkr_cYN(y@f`6wxhB3O@-LX1E{N#Ty51|@|jf?AXm^$|3q zq&O78F_aX?BRGSSqAP;4C@JI!dQejMBDju{A`rnBR5qy&C-9FsP#XUikLMrtFo3`x zL%{JimO>YS9wh}Efej@^W(3(NDeMvCqogQ`U_D9-F#-uCg*$>8loXx_YEe?uM=(mr b37j{)64w@}aSnI_oyYu-?f #include "MFMuxDriver.h" -#pragma once - extern "C" { typedef void (*MuxDigInEvent)(byte, uint8_t, const char *); }; From 30861b33de5b1ec4b6032ab57376dc47b2733c42 Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Fri, 1 Nov 2024 13:44:28 +0100 Subject: [PATCH 5/8] change due to autosave --- src/MF_Stepper/Stepper.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/MF_Stepper/Stepper.cpp b/src/MF_Stepper/Stepper.cpp index ca8eca1a..b4155e90 100644 --- a/src/MF_Stepper/Stepper.cpp +++ b/src/MF_Stepper/Stepper.cpp @@ -4,7 +4,6 @@ // (C) MobiFlight Project 2022 // - #include "commandmessenger.h" #include "allocateMem.h" #include "MFStepper.h" From 26bd25236b82ced1893efce98cb018a85f19615e Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:06:55 +0100 Subject: [PATCH 6/8] fixed wrong defines --- src/MF_CustomDevice/CustomDevice.cpp | 6 +++--- src/MF_Encoder/Encoder.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/MF_CustomDevice/CustomDevice.cpp b/src/MF_CustomDevice/CustomDevice.cpp index f1f2efb6..06b67011 100644 --- a/src/MF_CustomDevice/CustomDevice.cpp +++ b/src/MF_CustomDevice/CustomDevice.cpp @@ -169,12 +169,12 @@ void loop1() int16_t messageID; char *payload; bool stopUpdating = false; -#if defined(DEBUG2CMDMESSENGER) +#if defined(MF_CUSTOMDEVICE_POLL_MS) uint32_t lastMillis = 0; #endif while (1) { -#if defined(DEBUG2CMDMESSENGER) +#if defined(MF_CUSTOMDEVICE_POLL_MS) if (millis() - lastMillis >= MF_CUSTOMDEVICE_POLL_MS) { #endif #if defined(MF_CUSTOMDEVICE_HAS_UPDATE) @@ -182,7 +182,7 @@ void loop1() CustomDevice::customDevice[i].update(); } #endif -#if defined(DEBUG2CMDMESSENGER) +#if defined(MF_CUSTOMDEVICE_POLL_MS) lastMillis = millis(); } #endif diff --git a/src/MF_Encoder/Encoder.h b/src/MF_Encoder/Encoder.h index bdcaba41..fac599e3 100644 --- a/src/MF_Encoder/Encoder.h +++ b/src/MF_Encoder/Encoder.h @@ -4,10 +4,10 @@ // (C) MobiFlight Project 2022 // -#include - #pragma once +#include + namespace Encoder { bool setupArray(uint16_t count); From 86533503abcd3dc7b63d3ff595e7068cca8b7984 Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Tue, 7 Jan 2025 05:10:10 +0100 Subject: [PATCH 7/8] change #if defined() to #ifdef --- src/CommandMessenger.cpp | 42 ++++++------ src/Config.cpp | 92 +++++++++++++------------- src/MF_Analog/Analog.cpp | 6 +- src/MF_Analog/MFAnalog.cpp | 2 +- src/MF_Button/Button.cpp | 4 +- src/MF_CustomDevice/CustomDevice.cpp | 14 ++-- src/MF_DigInMux/DigInMux.cpp | 4 +- src/MF_Encoder/Encoder.cpp | 4 +- src/MF_InputShifter/InputShifter.cpp | 4 +- src/MF_LCDDisplay/LCDDisplay.cpp | 4 +- src/MF_Output/MFOutput.cpp | 2 +- src/MF_Output/MFOutput.h | 2 +- src/MF_Output/Output.cpp | 4 +- src/MF_OutputShifter/MFOutputShifter.h | 2 +- src/MF_OutputShifter/OutputShifter.cpp | 4 +- src/MF_Segment/LedControl_dual.cpp | 10 +-- src/MF_Segment/LedControl_dual.h | 8 +-- src/MF_Segment/LedSegment.cpp | 4 +- src/MF_Servo/MFServo.cpp | 2 +- src/MF_Servo/Servos.cpp | 4 +- src/MF_Stepper/Stepper.cpp | 6 +- src/allocateMem.cpp | 6 +- src/allocateMem.h | 2 +- src/mobiflight.cpp | 60 ++++++++--------- 24 files changed, 146 insertions(+), 146 deletions(-) diff --git a/src/CommandMessenger.cpp b/src/CommandMessenger.cpp index 48b43c9c..8ae5f67f 100644 --- a/src/CommandMessenger.cpp +++ b/src/CommandMessenger.cpp @@ -8,32 +8,32 @@ #include "config.h" #include "Button.h" #include "Encoder.h" -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT #include "Analog.h" #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT #include "InputShifter.h" #endif #include "Output.h" -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT #include "LedSegment.h" #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT #include "Stepper.h" #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT #include "Servos.h" #endif -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT #include "LCDDisplay.h" #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT #include "OutputShifter.h" #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT #include "DigInMux.h" #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT #include "CustomDevice.h" #endif @@ -50,7 +50,7 @@ void attachCommandCallbacks() // Attach callback methods cmdMessenger.attach(OnUnknownCommand); -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT cmdMessenger.attach(kInitModule, LedSegment::OnInitModule); cmdMessenger.attach(kSetModule, LedSegment::OnSetModule); cmdMessenger.attach(kSetModuleBrightness, LedSegment::OnSetModuleBrightness); @@ -59,14 +59,14 @@ void attachCommandCallbacks() cmdMessenger.attach(kSetPin, Output::OnSet); -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT cmdMessenger.attach(kSetStepper, Stepper::OnSet); cmdMessenger.attach(kResetStepper, Stepper::OnReset); cmdMessenger.attach(kSetZeroStepper, Stepper::OnSetZero); cmdMessenger.attach(kSetStepperSpeedAccel, Stepper::OnSetSpeedAccel); #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT cmdMessenger.attach(kSetServo, Servos::OnSet); #endif @@ -81,19 +81,19 @@ void attachCommandCallbacks() cmdMessenger.attach(kTrigger, OnTrigger); cmdMessenger.attach(kSetPowerSavingMode, OnSetPowerSavingMode); -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT cmdMessenger.attach(kSetLcdDisplayI2C, LCDDisplay::OnSet); #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT cmdMessenger.attach(kSetShiftRegisterPins, OutputShifter::OnSet); #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT cmdMessenger.attach(kSetCustomDevice, CustomDevice::OnSet); #endif -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Attached callbacks")); #endif } @@ -114,7 +114,7 @@ void OnSetPowerSavingMode() // to the earliest possible time. The next time loop() is called in mobiflight.cpp // this will cause power saving mode to get turned on. if (enablePowerSavingMode) { -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Enabling power saving mode via request")); #endif lastCommand = 0; @@ -123,7 +123,7 @@ void OnSetPowerSavingMode() // to now. The next time loop() is called in mobiflight.cpp this will cause // power saving mode to get turned off. else { -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Disabling power saving mode via request")); #endif lastCommand = millis(); @@ -138,13 +138,13 @@ uint32_t getLastCommandMillis() void OnTrigger() { Button::OnTrigger(); -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT InputShifter::OnTrigger(); #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT DigInMux::OnTrigger(); #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT Analog::OnTrigger(); #endif } diff --git a/src/Config.cpp b/src/Config.cpp index 5705ee34..0befc9f0 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -15,37 +15,37 @@ #include "ArduinoUniqueID.h" #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT #include "Analog.h" #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT #include "InputShifter.h" #endif -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT #include "LedSegment.h" #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT #include "Stepper.h" #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT #include "Servos.h" #endif -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT #include "LCDDisplay.h" #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT #include "OutputShifter.h" #endif -#if defined(MF_MUX_SUPPORT) +#ifdef MF_MUX_SUPPORT #include "MFMuxDriver.h" #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT #include "DigInMux.h" #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT #include "CustomDevice.h" #endif -#if defined(HAS_CONFIG_IN_FLASH) +#ifdef HAS_CONFIG_IN_FLASH #include "MFCustomDevicesConfig.h" #else const char CustomDeviceConfig[] PROGMEM = {}; @@ -69,7 +69,7 @@ const uint8_t MEM_OFFSET_SERIAL = MEM_OFFSET_NAME + MEM_LEN_NAME; const uint8_t MEM_LEN_SERIAL = 11; const uint8_t MEM_OFFSET_CONFIG = MEM_OFFSET_NAME + MEM_LEN_NAME + MEM_LEN_SERIAL; -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR char serial[11]; // 3 characters for "SN-",7 characters for "xyz-zyx" plus terminating NULL #else char serial[3 + UniqueIDsize * 2 + 1]; // 3 characters for "SN-", UniqueID as HEX String, terminating NULL @@ -120,7 +120,7 @@ bool readconfigLengthEEPROM() void loadConfig() { -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Load config")); #endif readconfigLengthEEPROM(); @@ -130,7 +130,7 @@ void loadConfig() void OnSetConfig() { -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Setting config start")); #endif // A config can be in flash or in EEPROM, but only one option must be used @@ -153,7 +153,7 @@ void OnSetConfig() // connector does not check for status = -1 cmdMessenger.sendCmd(kStatus, -1); } -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Setting config end")); #endif } else { @@ -167,13 +167,13 @@ void resetConfig() Button::Clear(); Encoder::Clear(); Output::Clear(); -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT LedSegment::Clear(); #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT Servos::Clear(); #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT #if defined(STEPPER_ON_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) Stepper::stopUpdate2ndCore(true); #endif @@ -182,22 +182,22 @@ void resetConfig() Stepper::stopUpdate2ndCore(false); #endif #endif -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT LCDDisplay::Clear(); #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT Analog::Clear(); #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT OutputShifter::Clear(); #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT InputShifter::Clear(); #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT DigInMux::Clear(); #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT #if defined(USE_2ND_CORE) && defined(ARDUINO_ARCH_RP2040) CustomDevice::stopUpdate2ndCore(true); #endif @@ -340,41 +340,41 @@ void InitArrays(uint8_t *numberDevices) sendFailureMessage("Button"); if (!Output::setupArray(numberDevices[kTypeOutput])) sendFailureMessage("Output"); -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT if (!LedSegment::setupArray(numberDevices[kTypeLedSegmentDeprecated] + numberDevices[kTypeLedSegmentMulti])) sendFailureMessage("7Segment"); #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT if (!Stepper::setupArray(numberDevices[kTypeStepper] + numberDevices[kTypeStepperDeprecated1] + numberDevices[kTypeStepperDeprecated2])) sendFailureMessage("Stepper"); #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT if (!Servos::setupArray(numberDevices[kTypeServo])) sendFailureMessage("Servo"); #endif if (!Encoder::setupArray(numberDevices[kTypeEncoder] + numberDevices[kTypeEncoderSingleDetent])) sendFailureMessage("Encoders"); -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT if (!LCDDisplay::setupArray(numberDevices[kTypeLcdDisplayI2C])) sendFailureMessage("LCD"); #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT if (!Analog::setupArray(numberDevices[kTypeAnalogInput])) sendFailureMessage("AnalogIn"); #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT if (!OutputShifter::setupArray(numberDevices[kTypeOutputShifter])) sendFailureMessage("OutputShifter"); #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT if (!InputShifter::setupArray(numberDevices[kTypeInputShifter])) sendFailureMessage("InputShifter"); #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT if (!DigInMux::setupArray(numberDevices[kTypeDigInMux])) sendFailureMessage("DigInMux"); #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT if (!CustomDevice::setupArray(numberDevices[kTypeCustomDevice])) sendFailureMessage("CustomDevice"); #endif @@ -427,7 +427,7 @@ void readConfigFromMemory(bool configFromFlash) copy_success = readEndCommand(&addrMem, ':', configFromFlash); // check EEPROM until end of name break; -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT // this is for backwards compatibility case kTypeLedSegmentDeprecated: // this is the new type @@ -446,7 +446,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT case kTypeStepperDeprecated1: case kTypeStepperDeprecated2: case kTypeStepper: @@ -478,7 +478,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT case kTypeServo: params[0] = readUint(&addrMem, configFromFlash); // Pin number Servos::Add(params[0]); @@ -499,7 +499,7 @@ void readConfigFromMemory(bool configFromFlash) copy_success = readName(&addrMem, nameBuffer, &pNameBuffer, configFromFlash); // copy the NULL terminated name to nameBuffer and set to next free memory location break; -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT case kTypeLcdDisplayI2C: params[0] = readUint(&addrMem, configFromFlash); // address params[1] = readUint(&addrMem, configFromFlash); // columns @@ -509,7 +509,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT case kTypeAnalogInput: params[0] = readUint(&addrMem, configFromFlash); // pin number params[1] = readUint(&addrMem, configFromFlash); // sensitivity @@ -519,7 +519,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT case kTypeOutputShifter: params[0] = readUint(&addrMem, configFromFlash); // latch Pin params[1] = readUint(&addrMem, configFromFlash); // clock Pin @@ -530,7 +530,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT case kTypeInputShifter: params[0] = readUint(&addrMem, configFromFlash); // latch Pin params[1] = readUint(&addrMem, configFromFlash); // clock Pin @@ -542,7 +542,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT case kTypeDigInMux: params[0] = readUint(&addrMem, configFromFlash); // data pin // Mux driver section @@ -559,7 +559,7 @@ void readConfigFromMemory(bool configFromFlash) break; #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT case kTypeCustomDevice: { uint16_t adrType = addrMem; // first location of custom Type in EEPROM copy_success = readEndCommand(&addrMem, '.', configFromFlash); @@ -635,7 +635,7 @@ bool getStatusConfig() // ************************************************************ // Generate a serial number only for AVR's -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR void generateRandomSerial() { // To have not always the same starting point for the random generator, millis() are @@ -661,7 +661,7 @@ void generateRandomSerial() randomSerial >>= 4; } MFeeprom.write_block(MEM_OFFSET_SERIAL, serial, MEM_LEN_SERIAL); -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Serial number generated")); #endif } @@ -687,7 +687,7 @@ void generateSerial(bool force) if (force) { // A serial number is forced to generate // generate a serial number acc. the old style only for AVR's -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR generateRandomSerial(); #else // For other boards always the UniqueID is used. @@ -708,7 +708,7 @@ void generateSerial(bool force) return; } -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR // Coming here no serial number is available (so it's the first start up of an AVR board) // or a uniqueID is already generated and saved to the eeprom // AVR's are forced to roll back to "old style" serial number diff --git a/src/MF_Analog/Analog.cpp b/src/MF_Analog/Analog.cpp index b75a69eb..fc8d5209 100644 --- a/src/MF_Analog/Analog.cpp +++ b/src/MF_Analog/Analog.cpp @@ -9,7 +9,7 @@ #include "MFAnalog.h" #include "Analog.h" -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT namespace Analog { MFAnalog *analog; @@ -42,7 +42,7 @@ namespace Analog analog[analogRegistered].attach(pin, name, sensitivity); MFAnalog::attachHandler(handlerOnAnalogChange); analogRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added analog device ")); #endif } @@ -50,7 +50,7 @@ namespace Analog void Clear(void) { analogRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared analog devices")); #endif } diff --git a/src/MF_Analog/MFAnalog.cpp b/src/MF_Analog/MFAnalog.cpp index c40901f9..85aed22e 100644 --- a/src/MF_Analog/MFAnalog.cpp +++ b/src/MF_Analog/MFAnalog.cpp @@ -18,7 +18,7 @@ void MFAnalog::attach(uint8_t pin, const char *name, uint8_t sensitivity) _sensitivity = sensitivity; _pin = pin; _name = name; -#if defined(ARDUINO_AVR_PROMICRO16) +#ifdef ARDUINO_AVR_PROMICRO16 // ProMicro has a special pin assignment for analog pins // therefore reading from A6 and A7 does not work // via "digital" pins. See also pins_arduino.h diff --git a/src/MF_Button/Button.cpp b/src/MF_Button/Button.cpp index b59e7038..d74bf1c1 100644 --- a/src/MF_Button/Button.cpp +++ b/src/MF_Button/Button.cpp @@ -40,7 +40,7 @@ namespace Button buttons[buttonsRegistered].attach(pin, name); MFButton::attachHandler(handlerButtonOnChange); buttonsRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added button ") /* + name */); #endif } @@ -51,7 +51,7 @@ namespace Button buttons[i].detach(); } buttonsRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared buttons")); #endif } diff --git a/src/MF_CustomDevice/CustomDevice.cpp b/src/MF_CustomDevice/CustomDevice.cpp index 06b67011..ab691cf1 100644 --- a/src/MF_CustomDevice/CustomDevice.cpp +++ b/src/MF_CustomDevice/CustomDevice.cpp @@ -25,7 +25,7 @@ namespace CustomDevice MFCustomDevice *customDevice; uint8_t customDeviceRegistered = 0; uint8_t maxCustomDevices = 0; -#if defined(USE_2ND_CORE) +#ifdef USE_2ND_CORE char payload[SERIAL_RX_BUFFER_SIZE]; #endif @@ -45,7 +45,7 @@ namespace CustomDevice customDevice[customDeviceRegistered] = MFCustomDevice(); customDevice[customDeviceRegistered].attach(adrPin, adrType, adrConfig, configFromFlash); customDeviceRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kStatus, F("Added CustomDevice")); #endif } @@ -61,7 +61,7 @@ namespace CustomDevice customDevice[i].detach(); } customDeviceRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kStatus, F("Cleared CustomDevice")); #endif } @@ -169,20 +169,20 @@ void loop1() int16_t messageID; char *payload; bool stopUpdating = false; -#if defined(MF_CUSTOMDEVICE_POLL_MS) +#ifdef MF_CUSTOMDEVICE_POLL_MS uint32_t lastMillis = 0; #endif while (1) { -#if defined(MF_CUSTOMDEVICE_POLL_MS) +#ifdef MF_CUSTOMDEVICE_POLL_MS if (millis() - lastMillis >= MF_CUSTOMDEVICE_POLL_MS) { #endif -#if defined(MF_CUSTOMDEVICE_HAS_UPDATE) +#ifdef MF_CUSTOMDEVICE_HAS_UPDATE for (int i = 0; i < CustomDevice::customDeviceRegistered && !stopUpdating; i++) { CustomDevice::customDevice[i].update(); } #endif -#if defined(MF_CUSTOMDEVICE_POLL_MS) +#ifdef MF_CUSTOMDEVICE_POLL_MS lastMillis = millis(); } #endif diff --git a/src/MF_DigInMux/DigInMux.cpp b/src/MF_DigInMux/DigInMux.cpp index e5a03312..0268a342 100644 --- a/src/MF_DigInMux/DigInMux.cpp +++ b/src/MF_DigInMux/DigInMux.cpp @@ -44,7 +44,7 @@ namespace DigInMux MFDigInMux::attachHandler(handlerOnDigInMux); digInMuxRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added digital input MUX")); #endif } @@ -55,7 +55,7 @@ namespace DigInMux digInMux[i].detach(); } digInMuxRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared dig. input Muxes")); #endif } diff --git a/src/MF_Encoder/Encoder.cpp b/src/MF_Encoder/Encoder.cpp index 9cab8993..08855bb8 100644 --- a/src/MF_Encoder/Encoder.cpp +++ b/src/MF_Encoder/Encoder.cpp @@ -40,7 +40,7 @@ namespace Encoder encoders[encodersRegistered].attach(pin1, pin2, encoder_type, name); MFEncoder::attachHandler(handlerOnEncoder); encodersRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added encoder")); #endif } @@ -48,7 +48,7 @@ namespace Encoder void Clear() { encodersRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared encoders")); #endif } diff --git a/src/MF_InputShifter/InputShifter.cpp b/src/MF_InputShifter/InputShifter.cpp index fef29cf8..1810a774 100644 --- a/src/MF_InputShifter/InputShifter.cpp +++ b/src/MF_InputShifter/InputShifter.cpp @@ -44,7 +44,7 @@ namespace InputShifter } MFInputShifter::attachHandler(handlerInputShifterOnChange); inputShifterRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added input shifter")); #endif } @@ -55,7 +55,7 @@ namespace InputShifter inputShifter[i].detach(); } inputShifterRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared input shifter")); #endif } diff --git a/src/MF_LCDDisplay/LCDDisplay.cpp b/src/MF_LCDDisplay/LCDDisplay.cpp index 9234802d..86d731cf 100644 --- a/src/MF_LCDDisplay/LCDDisplay.cpp +++ b/src/MF_LCDDisplay/LCDDisplay.cpp @@ -31,7 +31,7 @@ namespace LCDDisplay lcd_I2C[lcd_12cRegistered] = MFLCDDisplay(); lcd_I2C[lcd_12cRegistered].attach(address, cols, lines); lcd_12cRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added lcdDisplay")); #endif } @@ -42,7 +42,7 @@ namespace LCDDisplay lcd_I2C[i].detach(); } lcd_12cRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared lcdDisplays")); #endif } diff --git a/src/MF_Output/MFOutput.cpp b/src/MF_Output/MFOutput.cpp index ecc90fff..7010bb9b 100644 --- a/src/MF_Output/MFOutput.cpp +++ b/src/MF_Output/MFOutput.cpp @@ -14,7 +14,7 @@ MFOutput::MFOutput() void MFOutput::attach(uint8_t pin) { _pin = pin; -#if defined(ARDUINO_ARCH_RP2040) +#ifdef ARDUINO_ARCH_RP2040 pinMode(_pin, OUTPUT_12MA); #else pinMode(_pin, OUTPUT); diff --git a/src/MF_Output/MFOutput.h b/src/MF_Output/MFOutput.h index c3416603..e64dfb69 100644 --- a/src/MF_Output/MFOutput.h +++ b/src/MF_Output/MFOutput.h @@ -8,7 +8,7 @@ #include -#if defined(REVERSED_OUTPUT_OUTPUT) +#ifdef REVERSED_OUTPUT_OUTPUT #define MF_HIGH LOW #define MF_LOW HIGH #else diff --git a/src/MF_Output/Output.cpp b/src/MF_Output/Output.cpp index 9f565a47..c8d359f4 100644 --- a/src/MF_Output/Output.cpp +++ b/src/MF_Output/Output.cpp @@ -31,7 +31,7 @@ namespace Output outputs[outputsRegistered] = MFOutput(); outputs[outputsRegistered].attach(pin); outputsRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added output")); #endif } @@ -39,7 +39,7 @@ namespace Output void Clear() { outputsRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared outputs")); #endif } diff --git a/src/MF_OutputShifter/MFOutputShifter.h b/src/MF_OutputShifter/MFOutputShifter.h index e0748bb5..0517bccc 100644 --- a/src/MF_OutputShifter/MFOutputShifter.h +++ b/src/MF_OutputShifter/MFOutputShifter.h @@ -8,7 +8,7 @@ #include -#if defined(REVERSED_OUTPUT_OUTPUTSHIFTER) +#ifdef REVERSED_OUTPUT_OUTPUTSHIFTER #define MF_HIGH LOW #define MF_LOW HIGH #else diff --git a/src/MF_OutputShifter/OutputShifter.cpp b/src/MF_OutputShifter/OutputShifter.cpp index 4117d871..7985dac2 100644 --- a/src/MF_OutputShifter/OutputShifter.cpp +++ b/src/MF_OutputShifter/OutputShifter.cpp @@ -35,7 +35,7 @@ namespace OutputShifter } outputShifterRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added Output Shifter")); #endif } @@ -47,7 +47,7 @@ namespace OutputShifter } outputShifterRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared Output Shifter")); #endif } diff --git a/src/MF_Segment/LedControl_dual.cpp b/src/MF_Segment/LedControl_dual.cpp index 52464447..2a9aab6c 100644 --- a/src/MF_Segment/LedControl_dual.cpp +++ b/src/MF_Segment/LedControl_dual.cpp @@ -73,7 +73,7 @@ enum { OP_DISPLAYTEST = 15 }; -#if defined(LEDCONTROL_NO_BUF) +#ifdef LEDCONTROL_NO_BUF uint8_t *LedControl::rawdata; #endif @@ -221,7 +221,7 @@ void LedControl::clearDisplay(uint8_t addr) spiTransfer(addr, i + 1, 0); } } else { -#if defined(LEDCONTROL_NO_BUF) +#ifdef LEDCONTROL_NO_BUF for (uint8_t i = 0; i < 8; i++) { writeOneDigit(i, 0); } @@ -300,7 +300,7 @@ void LedControl::setPattern(uint8_t addr, uint8_t digit, uint8_t value, bool sen // and then just transmit them reversed (from LSb to MSb) v <<= 1; if (value & 0x80) v |= 0x01; -#if defined(LEDCONTROL_NO_BUF) +#ifdef LEDCONTROL_NO_BUF writeOneDigit(digit, v); #else rawdata[(maxUnits - 1) - digit] = v; // Change only the individual affected digit in static buffer @@ -398,7 +398,7 @@ bool LedControl::writeByte(uint8_t data, bool rvs) return ack; } -#if defined(LEDCONTROL_NO_BUF) +#ifdef LEDCONTROL_NO_BUF void LedControl::writeOneDigit(uint8_t ndigit, uint8_t pattern) { @@ -452,7 +452,7 @@ void LedControl::writeDigits(uint8_t startd, uint8_t len) #endif -#if defined(LEDCONTROL_EXTENDED) +#ifdef LEDCONTROL_EXTENDED void LedControl::showNumber(uint8_t addr, int32_t num, bool isHex, uint8_t dots, bool leading_zero, uint8_t roffset) { diff --git a/src/MF_Segment/LedControl_dual.h b/src/MF_Segment/LedControl_dual.h index 94b9345c..886b9da6 100644 --- a/src/MF_Segment/LedControl_dual.h +++ b/src/MF_Segment/LedControl_dual.h @@ -36,7 +36,7 @@ #include #include -#if defined(__AVR__) +#ifdef __AVR__ #include #elif defined(ESP8266) || defined(ESP32) #include @@ -63,7 +63,7 @@ class LedControl uint8_t _dataPin = TYPE_UNDEFINED; uint8_t _clkPin = TYPE_UNDEFINED; uint8_t _csPin = TYPE_UNDEFINED; -#if defined(LEDCONTROL_NO_BUF) +#ifdef LEDCONTROL_NO_BUF // For TM, buffer can't be static (= shared): either we are building // the extended version (which adds a per-unit buffer instead of the static one) // or we are forced to resort to digit-by-digit output @@ -88,7 +88,7 @@ class LedControl void stop(void); bool writeByte(uint8_t data, bool rvs = false); -#if defined(LEDCONTROL_NO_BUF) +#ifdef LEDCONTROL_NO_BUF void writeOneDigit(uint8_t ndigit, uint8_t val); #else // Has buffer available @@ -150,7 +150,7 @@ class LedControl void sendAll(void) { writeBuffer(); }; #endif -#if defined(LEDCONTROL_EXTENDED) +#ifdef LEDCONTROL_EXTENDED // Display a decimal number, with dot control // // Display the given argument as a decimal number. The dots between the digits diff --git a/src/MF_Segment/LedSegment.cpp b/src/MF_Segment/LedSegment.cpp index d29e327a..c19963e2 100644 --- a/src/MF_Segment/LedSegment.cpp +++ b/src/MF_Segment/LedSegment.cpp @@ -37,7 +37,7 @@ namespace LedSegment } ledSegmentsRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added Led Segment")); #endif } @@ -48,7 +48,7 @@ namespace LedSegment ledSegments[i].detach(); } ledSegmentsRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared segments")); #endif } diff --git a/src/MF_Servo/MFServo.cpp b/src/MF_Servo/MFServo.cpp index 3c624d02..6a3bc040 100644 --- a/src/MF_Servo/MFServo.cpp +++ b/src/MF_Servo/MFServo.cpp @@ -12,7 +12,7 @@ void MFServo::moveTo(int absolute) if (_targetPos != newValue) { _targetPos = newValue; if (!_initialized) { -#if defined(ARDUINO_ARCH_RP2040) +#ifdef ARDUINO_ARCH_RP2040 _servo.attach(_pin, 544, 2400); #else _servo.attach(_pin); diff --git a/src/MF_Servo/Servos.cpp b/src/MF_Servo/Servos.cpp index b321e00b..c96b6e7a 100644 --- a/src/MF_Servo/Servos.cpp +++ b/src/MF_Servo/Servos.cpp @@ -31,7 +31,7 @@ namespace Servos servos[servosRegistered] = MFServo(); servos[servosRegistered].attach(pin, true); servosRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added servos")); #endif } @@ -42,7 +42,7 @@ namespace Servos servos[i].detach(); } servosRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared servos")); #endif } diff --git a/src/MF_Stepper/Stepper.cpp b/src/MF_Stepper/Stepper.cpp index b4155e90..48834afa 100644 --- a/src/MF_Stepper/Stepper.cpp +++ b/src/MF_Stepper/Stepper.cpp @@ -17,7 +17,7 @@ namespace Stepper MFStepper *steppers; uint8_t steppersRegistered = 0; uint8_t maxSteppers = 0; -#if defined(STEPPER_ON_2ND_CORE) +#ifdef STEPPER_ON_2ND_CORE enum { FUNC_MOVETO = 1, FUNC_ZETZERO, @@ -50,7 +50,7 @@ namespace Stepper // all set steppersRegistered++; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Added stepper")); #endif } @@ -61,7 +61,7 @@ namespace Stepper steppers[i].detach(); } steppersRegistered = 0; -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmd(kDebug, F("Cleared steppers")); #endif } diff --git a/src/allocateMem.cpp b/src/allocateMem.cpp index 39e2ed97..e8e953fa 100644 --- a/src/allocateMem.cpp +++ b/src/allocateMem.cpp @@ -7,7 +7,7 @@ #include "allocateMem.h" #include "commandmessenger.h" -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR uint8_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; #else std::size_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; @@ -15,7 +15,7 @@ std::size_t deviceBuffer[MF_MAX_DEVICEMEM] = {0}; uint16_t nextPointer = 0; -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR uint8_t *allocateMemory(uint16_t size) #else std::size_t *allocateMemory(uint16_t size) @@ -27,7 +27,7 @@ std::size_t *allocateMemory(uint16_t size) cmdMessenger.sendCmd(kStatus, F("DeviceBuffer Overflow!")); return nullptr; } -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER cmdMessenger.sendCmdStart(kDebug); cmdMessenger.sendCmdArg(F("Bytes added")); cmdMessenger.sendCmdArg(size); diff --git a/src/allocateMem.h b/src/allocateMem.h index a052549a..19e89a51 100644 --- a/src/allocateMem.h +++ b/src/allocateMem.h @@ -9,7 +9,7 @@ #include #include -#if defined(ARDUINO_ARCH_AVR) +#ifdef ARDUINO_ARCH_AVR uint8_t *allocateMemory(uint16_t size); #else std::size_t *allocateMemory(uint16_t size); diff --git a/src/mobiflight.cpp b/src/mobiflight.cpp index fb6f6913..6f09884d 100644 --- a/src/mobiflight.cpp +++ b/src/mobiflight.cpp @@ -11,33 +11,33 @@ #include "Button.h" #include "Encoder.h" #include "MFEEPROM.h" -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT #include "Analog.h" #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT #include "InputShifter.h" #endif #include "Output.h" -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT #include "LedSegment.h" #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT #include "Stepper.h" #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT #include "Servos.h" #endif -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT #include "LCDDisplay.h" #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT #include "OutputShifter.h" #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT #include "DigInMux.h" #include "MFDigInMux.h" #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT #include "CustomDevice.h" #endif @@ -62,20 +62,20 @@ MFMuxDriver MUX; typedef struct { uint32_t Buttons = 0; uint32_t Encoders = 0; -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT uint32_t Servos = 0; #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT uint32_t AnalogAverage = 0; uint32_t Analog = 0; #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT uint32_t InputShifters = 0; #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT uint32_t DigInMux = 0; #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT uint32_t CustomDevice = 0; #endif } lastUpdate_t; @@ -89,17 +89,17 @@ void initPollIntervals(void) // Init Time Gap between Inputs, do not read at the same loop lastUpdate.Buttons = millis(); lastUpdate.Encoders = millis(); -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT lastUpdate.Servos = millis() + 2; #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT lastUpdate.AnalogAverage = millis() + 4; lastUpdate.Analog = millis() + 4; #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT lastUpdate.InputShifters = millis() + 6; #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT lastUpdate.DigInMux = millis() + 8; #endif } @@ -120,23 +120,23 @@ void SetPowerSavingMode(bool state) // disable the lights ;) powerSavingMode = state; Output::PowerSave(state); -#if defined(MF_SEGMENT_SUPPORT) +#ifdef MF_SEGMENT_SUPPORT LedSegment::PowerSave(state); #endif -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT Stepper::PowerSave(state); #endif -#if defined(MF_CUSTOMDEVICE_SUPPORT) +#ifdef MF_CUSTOMDEVICE_SUPPORT CustomDevice::PowerSave(state); #endif -#if defined(MF_OUTPUT_SHIFTER_SUPPORT) +#ifdef MF_OUTPUT_SHIFTER_SUPPORT OutputShifter::PowerSave(state); #endif -#if defined(MF_LCD_SUPPORT) +#ifdef MF_LCD_SUPPORT LCDDisplay::PowerSave(state); #endif -#if defined(DEBUG2CMDMESSENGER) +#ifdef DEBUG2CMDMESSENGER if (state) cmdMessenger.sendCmd(kDebug, F("Power saving mode on")); else @@ -195,29 +195,29 @@ void loop() timedUpdate(Encoder::read, &lastUpdate.Encoders, MF_ENCODER_DEBOUNCE_MS); -#if defined(MF_STEPPER_SUPPORT) +#ifdef MF_STEPPER_SUPPORT Stepper::update(); #endif -#if defined(MF_SERVO_SUPPORT) +#ifdef MF_SERVO_SUPPORT timedUpdate(Servos::update, &lastUpdate.Servos, MF_SERVO_DELAY_MS); #endif -#if defined(MF_ANALOG_SUPPORT) +#ifdef MF_ANALOG_SUPPORT timedUpdate(Analog::read, &lastUpdate.Analog, MF_ANALOGREAD_DELAY_MS); timedUpdate(Analog::readAverage, &lastUpdate.AnalogAverage, MF_ANALOGAVERAGE_DELAY_MS); #endif -#if defined(MF_INPUT_SHIFTER_SUPPORT) +#ifdef MF_INPUT_SHIFTER_SUPPORT timedUpdate(InputShifter::read, &lastUpdate.InputShifters, MF_INSHIFTER_POLL_MS); #endif -#if defined(MF_DIGIN_MUX_SUPPORT) +#ifdef MF_DIGIN_MUX_SUPPORT timedUpdate(DigInMux::read, &lastUpdate.DigInMux, MF_INMUX_POLL_MS); #endif #if defined(MF_CUSTOMDEVICE_SUPPORT) && defined(MF_CUSTOMDEVICE_HAS_UPDATE) -#if defined(MF_CUSTOMDEVICE_POLL_MS) +#ifdef MF_CUSTOMDEVICE_POLL_MS timedUpdate(CustomDevice::update, &lastUpdate.CustomDevice, MF_CUSTOMDEVICE_POLL_MS); #else CustomDevice::update(); From 127f8e2458abba9651bf15536ed16c2ab5b38cb9 Mon Sep 17 00:00:00 2001 From: elral <3263285+elral@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:38:40 +0100 Subject: [PATCH 8/8] fixed missing include file due to merged PR 344 --- src/MF_Analog/Analog.cpp | 1 + src/MF_Button/Button.cpp | 1 + src/MF_DigInMux/DigInMux.cpp | 1 + src/MF_Encoder/Encoder.cpp | 1 + src/MF_InputShifter/InputShifter.cpp | 1 + 5 files changed, 5 insertions(+) diff --git a/src/MF_Analog/Analog.cpp b/src/MF_Analog/Analog.cpp index e3695e14..e8623c62 100644 --- a/src/MF_Analog/Analog.cpp +++ b/src/MF_Analog/Analog.cpp @@ -4,6 +4,7 @@ // (C) MobiFlight Project 2022 // +#include "config.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFAnalog.h" diff --git a/src/MF_Button/Button.cpp b/src/MF_Button/Button.cpp index 1c34e6ad..d4acf1ba 100644 --- a/src/MF_Button/Button.cpp +++ b/src/MF_Button/Button.cpp @@ -4,6 +4,7 @@ // (C) MobiFlight Project 2022 // +#include "config.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFButton.h" diff --git a/src/MF_DigInMux/DigInMux.cpp b/src/MF_DigInMux/DigInMux.cpp index 8ca3de5e..5931d557 100644 --- a/src/MF_DigInMux/DigInMux.cpp +++ b/src/MF_DigInMux/DigInMux.cpp @@ -4,6 +4,7 @@ // (C) MobiFlight Project 2022 // +#include "config.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFDigInMux.h" diff --git a/src/MF_Encoder/Encoder.cpp b/src/MF_Encoder/Encoder.cpp index c996fd0f..cc5fbfa5 100644 --- a/src/MF_Encoder/Encoder.cpp +++ b/src/MF_Encoder/Encoder.cpp @@ -4,6 +4,7 @@ // (C) MobiFlight Project 2022 // +#include "config.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFEncoder.h" diff --git a/src/MF_InputShifter/InputShifter.cpp b/src/MF_InputShifter/InputShifter.cpp index 97a038c4..3d9d46c9 100644 --- a/src/MF_InputShifter/InputShifter.cpp +++ b/src/MF_InputShifter/InputShifter.cpp @@ -4,6 +4,7 @@ // (C) MobiFlight Project 2022 // +#include "config.h" #include "commandmessenger.h" #include "allocateMem.h" #include "MFInputShifter.h"