Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Szafranek <460619+mfs12@users.noreply.github.com>2021-12-11 18:50:25 +0300
committerGitHub <noreply@github.com>2021-12-11 18:50:25 +0300
commitb74634a132184ab2c1761ec2fd6405717773befd (patch)
treecac0588a1a95e949498d0a963884ab3e4a37347d
parent289d2f286a3fdf084c325d4db87f8075c154df6a (diff)
Fix enumeration of firmware update modules (#553)
* FirmwareUpdater: moved cluttered variables into enum * GCodes: replaced cluttering varibale with firmware update enumeration * boards: removed obsolete firmwareupdate module counter * FirmwareUpdater: renamed module counter in module enumeration
-rw-r--r--src/Comms/FirmwareUpdater.cpp4
-rw-r--r--src/Comms/FirmwareUpdater.h11
-rw-r--r--src/Duet3Mini/Pins_Duet3Mini.h2
-rw-r--r--src/Duet3_V06/Pins_Duet3_V06.h2
-rw-r--r--src/DuetM/Pins_DuetM.h1
-rw-r--r--src/DuetNG/Pins_DuetNG.h4
-rw-r--r--src/GCodes/GCodes3.cpp2
-rw-r--r--src/GCodes/GCodes4.cpp2
-rw-r--r--src/Pccb/Pins_Pccb.h1
9 files changed, 12 insertions, 17 deletions
diff --git a/src/Comms/FirmwareUpdater.cpp b/src/Comms/FirmwareUpdater.cpp
index 21986a8c..a5283c67 100644
--- a/src/Comms/FirmwareUpdater.cpp
+++ b/src/Comms/FirmwareUpdater.cpp
@@ -23,10 +23,6 @@
namespace FirmwareUpdater
{
- const unsigned int WifiFirmwareModule = 1;
- // Module 2 used to be the DWC binary file but is no longer used
- const unsigned int WifiExternalFirmwareModule = 3;
-
// Check that the prerequisites are satisfied.
// Return true if yes, else print a message and return false.
GCodeResult CheckFirmwareUpdatePrerequisites(
diff --git a/src/Comms/FirmwareUpdater.h b/src/Comms/FirmwareUpdater.h
index 8c897669..bada8a81 100644
--- a/src/Comms/FirmwareUpdater.h
+++ b/src/Comms/FirmwareUpdater.h
@@ -12,9 +12,18 @@
namespace FirmwareUpdater
{
+ enum {
+ Mainboard = 0,
+ unused = 2, // Module 2 used to be the DWC binary file but is no longer used
+#if HAS_WIFI_NETWORKING
+ WifiFirmwareModule = 1,
+ WifiExternalFirmwareModule = 3,
+#endif
#if HAS_AUX_DEVICES
- const unsigned int PanelDueFirmwareModule = 4;
+ PanelDueFirmwareModule = 4,
#endif
+ NumUpdateModules
+ };
GCodeResult CheckFirmwareUpdatePrerequisites(
Bitmap<uint8_t> moduleMap,
diff --git a/src/Duet3Mini/Pins_Duet3Mini.h b/src/Duet3Mini/Pins_Duet3Mini.h
index 5f879b2a..32f4aa38 100644
--- a/src/Duet3Mini/Pins_Duet3Mini.h
+++ b/src/Duet3Mini/Pins_Duet3Mini.h
@@ -20,8 +20,6 @@
# define FIRMWARE_NAME "RepRapFirmware for Duet 3 Mini 5+"
# endif
-constexpr size_t NumFirmwareUpdateModules = 5; // 0 = mainboard, 1 = wifi, 4 = PanelDue, other values unused
-
#define IAP_FIRMWARE_FILE "Duet3Firmware_" BOARD_SHORT_NAME ".uf2"
#define IAP_UPDATE_FILE "Duet3_SDiap32_" BOARD_SHORT_NAME ".bin"
#define IAP_UPDATE_FILE_SBC "Duet3_SBCiap32_" BOARD_SHORT_NAME ".bin"
diff --git a/src/Duet3_V06/Pins_Duet3_V06.h b/src/Duet3_V06/Pins_Duet3_V06.h
index ce5e2b7f..773b1d09 100644
--- a/src/Duet3_V06/Pins_Duet3_V06.h
+++ b/src/Duet3_V06/Pins_Duet3_V06.h
@@ -9,8 +9,6 @@
#define FIRMWARE_NAME "RepRapFirmware for Duet 3 MB6HC"
#define IAP_FIRMWARE_FILE "Duet3Firmware_" BOARD_SHORT_NAME ".bin"
-constexpr size_t NumFirmwareUpdateModules = 5; // 0 = mainboard, 4 = PanelDue, values in between unused
-
#define IAP_UPDATE_FILE "Duet3_SDiap32_" BOARD_SHORT_NAME ".bin"
#define IAP_UPDATE_FILE_SBC "Duet3_SBCiap32_" BOARD_SHORT_NAME ".bin"
constexpr uint32_t IAP_IMAGE_START = 0x20458000; // last 32kb of RAM
diff --git a/src/DuetM/Pins_DuetM.h b/src/DuetM/Pins_DuetM.h
index eb5318b9..3b6e402b 100644
--- a/src/DuetM/Pins_DuetM.h
+++ b/src/DuetM/Pins_DuetM.h
@@ -15,7 +15,6 @@
#define FIRMWARE_NAME "RepRapFirmware for Duet 2 Maestro"
#define DEFAULT_BOARD_TYPE BoardType::DuetM_10
-constexpr size_t NumFirmwareUpdateModules = 5; // 0 = mainboard, 4 = PanelDue, values in between unused
#define IAP_FIRMWARE_FILE "DuetMaestroFirmware.bin"
#define IAP_UPDATE_FILE "Duet2_SDiap32_Maestro.bin"
constexpr uint32_t IAP_IMAGE_START = 0x20018000;
diff --git a/src/DuetNG/Pins_DuetNG.h b/src/DuetNG/Pins_DuetNG.h
index ff675125..34d10abb 100644
--- a/src/DuetNG/Pins_DuetNG.h
+++ b/src/DuetNG/Pins_DuetNG.h
@@ -20,8 +20,6 @@
#define IAP_FIRMWARE_FILE "Duet2Firmware_SBC.bin"
#define IAP_UPDATE_FILE_SBC "Duet2_SBCiap32_SBC.bin"
-constexpr size_t NumFirmwareUpdateModules = 5; // 0 = mainboard, 4 = PanelDue, values in between unused
-
#else
#define FIRMWARE_NAME "RepRapFirmware for Duet 2 WiFi/Ethernet"
@@ -30,8 +28,6 @@ constexpr size_t NumFirmwareUpdateModules = 5; // 0 = mainboard, 4 = PanelDue,
#define IAP_UPDATE_FILE "Duet2_SDiap32_WiFiEth.bin" // using the same IAP file for both Duet WiFi and Duet Ethernet
#define WIFI_FIRMWARE_FILE "DuetWiFiServer.bin"
-constexpr size_t NumFirmwareUpdateModules = 5; // 4 modules, plus one for manual upload to WiFi module (module 2 is now unused)
-
#endif
constexpr uint32_t IAP_IMAGE_START = 0x20018000; // IAP is loaded into the last 32kb of RAM
diff --git a/src/GCodes/GCodes3.cpp b/src/GCodes/GCodes3.cpp
index 0a13640b..fdd14ea1 100644
--- a/src/GCodes/GCodes3.cpp
+++ b/src/GCodes/GCodes3.cpp
@@ -1166,7 +1166,7 @@ GCodeResult GCodes::UpdateFirmware(GCodeBuffer& gb, const StringRef &reply)
for (size_t i = 0; i < numUpdateModules; ++i)
{
uint32_t t = modulesToUpdate[i];
- if (t >= NumFirmwareUpdateModules)
+ if (t >= FirmwareUpdater::NumUpdateModules)
{
reply.printf("Invalid module number '%" PRIu32 "'\n", t);
firmwareUpdateModuleMap.Clear();
diff --git a/src/GCodes/GCodes4.cpp b/src/GCodes/GCodes4.cpp
index f2ccb6b5..ca148aff 100644
--- a/src/GCodes/GCodes4.cpp
+++ b/src/GCodes/GCodes4.cpp
@@ -544,7 +544,7 @@ void GCodes::RunStateMachine(GCodeBuffer& gb, const StringRef& reply) noexcept
gb.TryGetQuotedString('P', filenameString.GetRef(), dummy);
}
catch (const GCodeException&) { }
- for (unsigned int module = 1; module < NumFirmwareUpdateModules; ++module)
+ for (unsigned int module = 1; module < FirmwareUpdater::NumUpdateModules; ++module)
{
if (firmwareUpdateModuleMap.IsBitSet(module))
{
diff --git a/src/Pccb/Pins_Pccb.h b/src/Pccb/Pins_Pccb.h
index 1ca556ff..a069e505 100644
--- a/src/Pccb/Pins_Pccb.h
+++ b/src/Pccb/Pins_Pccb.h
@@ -25,7 +25,6 @@
# error Unknown board
#endif
-constexpr size_t NumFirmwareUpdateModules = 1; // 1 module
#define IAP_FIRMWARE_FILE "PccbFirmware.bin"
#define IAP_UPDATE_FILE "PccbIAP.bin"
constexpr uint32_t IAP_IMAGE_START = 0x20010000;