diff options
author | David Crocker <dcrocker@eschertech.com> | 2021-01-09 18:24:16 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2021-01-09 18:24:16 +0300 |
commit | 277977b60b2b1349578863dd16e4095121d6c749 (patch) | |
tree | 8685eccfded96c9da76d6ecbc138b33df6bc9bbd | |
parent | 6bb2ddc8936d1352e5a5146f20c86fa388076f68 (diff) |
Fixes for gcc version 10
Also fixed shadow definitions
-rw-r--r-- | .cproject | 3 | ||||
-rw-r--r-- | src/Display/MenuItem.cpp | 8 | ||||
-rw-r--r-- | src/Endstops/Endstop.h | 2 | ||||
-rw-r--r-- | src/Endstops/SwitchEndstop.cpp | 2 | ||||
-rw-r--r-- | src/Endstops/SwitchEndstop.h | 2 | ||||
-rw-r--r-- | src/Hardware/ExceptionHandlers.cpp | 21 | ||||
-rw-r--r-- | src/Heating/Heat.cpp | 30 | ||||
-rw-r--r-- | src/Heating/RemoteHeater.h | 2 | ||||
-rw-r--r-- | src/Linux/LinuxInterface.h | 4 | ||||
-rw-r--r-- | src/Networking/ESP8266WiFi/WiFiInterface.h | 2 | ||||
-rw-r--r-- | src/Networking/LwipEthernet/Lwip/src/include/arch/cc.h | 3 | ||||
-rw-r--r-- | src/Networking/LwipEthernet/LwipEthernetInterface.h | 2 | ||||
-rw-r--r-- | src/Networking/LwipEthernet/LwipSocket.h | 2 | ||||
-rw-r--r-- | src/Networking/Network.cpp | 1 | ||||
-rw-r--r-- | src/Networking/Network.h | 2 | ||||
-rw-r--r-- | src/Networking/NetworkDefs.h | 1 |
16 files changed, 48 insertions, 39 deletions
@@ -451,7 +451,7 @@ </extensions> </storageModule> <storageModule moduleId="cdtBuildSystem" version="4.0.0"> - <configuration artifactExtension="elf" artifactName="Duet3Firmware_MB6HC" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.516195201.976458850.241502451.1275216290.274082366.1645191116.1852610203.289083307.712841925" name="Duet3" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=" parent="cdt.managedbuild.config.gnu.cross.exe.release" postannouncebuildStep="Generating binary file" postbuildStep="arm-none-eabi-objcopy -O binary "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.elf" "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin" && crc32appender "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin""> + <configuration artifactExtension="elf" artifactName="Duet3Firmware_MB6HC" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.516195201.976458850.241502451.1275216290.274082366.1645191116.1852610203.289083307.712841925" name="Duet3" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="cdt.managedbuild.config.gnu.cross.exe.release" postannouncebuildStep="Generating binary file" postbuildStep="arm-none-eabi-objcopy -O binary "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.elf" "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin" && crc32appender "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin""> <folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.516195201.976458850.241502451.1275216290.274082366.1645191116.1852610203.289083307.712841925." name="/" resourcePath=""> <toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.537248487" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release"> <option id="cdt.managedbuild.option.gnu.cross.path.582108797" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" useByScannerDiscovery="false" value="${ArmGccPath}" valueType="string"/> @@ -1446,7 +1446,6 @@ <listOptionValue builtIn="false" value=""${workspace_loc:/FreeRTOS/src/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/FreeRTOS/src/portable/GCC/ARM_CM4F}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet5LC}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Networking}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Networking/LwipEthernet/Lwip}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Networking/LwipEthernet/Lwip/src/include}""/> diff --git a/src/Display/MenuItem.cpp b/src/Display/MenuItem.cpp index a1925a4f..f245b8f5 100644 --- a/src/Display/MenuItem.cpp +++ b/src/Display/MenuItem.cpp @@ -509,7 +509,7 @@ bool ValueMenuItem::Adjust_SelectHelper() noexcept { const unsigned int itemNumber = GetReferencedToolNumber(); - bool error = false; + bool err = false; switch (valIndex/100) { case 1: // heater active temperature @@ -561,17 +561,17 @@ bool ValueMenuItem::Adjust_SelectHelper() noexcept break; default: - error = true; + err = true; break; } break; default: - error = true; + err = true; break; } - if (error) + if (err) { reprap.GetDisplay().ErrorBeep(); } diff --git a/src/Endstops/Endstop.h b/src/Endstops/Endstop.h index 73f51872..3d288a02 100644 --- a/src/Endstops/Endstop.h +++ b/src/Endstops/Endstop.h @@ -105,7 +105,7 @@ public: void SetAtHighEnd(bool b) noexcept { atHighEnd = b; } protected: - Endstop(uint8_t axis, EndStopPosition pos) noexcept; + Endstop(uint8_t p_axis, EndStopPosition pos) noexcept; DECLARE_OBJECT_MODEL diff --git a/src/Endstops/SwitchEndstop.cpp b/src/Endstops/SwitchEndstop.cpp index d1615a9a..87af1b9b 100644 --- a/src/Endstops/SwitchEndstop.cpp +++ b/src/Endstops/SwitchEndstop.cpp @@ -20,7 +20,7 @@ #endif // Switch endstop -SwitchEndstop::SwitchEndstop(uint8_t axis, EndStopPosition pos) noexcept : Endstop(axis, pos), numPortsUsed(0) +SwitchEndstop::SwitchEndstop(uint8_t p_axis, EndStopPosition pos) noexcept : Endstop(p_axis, pos), numPortsUsed(0) { // ports will be initialised automatically by the IoPort default constructor } diff --git a/src/Endstops/SwitchEndstop.h b/src/Endstops/SwitchEndstop.h index 75117daf..b2cc997e 100644 --- a/src/Endstops/SwitchEndstop.h +++ b/src/Endstops/SwitchEndstop.h @@ -19,7 +19,7 @@ public: void operator delete(void* p) noexcept { FreelistManager::Release<SwitchEndstop>(p); } ~SwitchEndstop() noexcept override; - SwitchEndstop(uint8_t axis, EndStopPosition pos) noexcept; + SwitchEndstop(uint8_t p_axis, EndStopPosition pos) noexcept; EndStopType GetEndstopType() const noexcept override; EndStopHit Stopped() const noexcept override; diff --git a/src/Hardware/ExceptionHandlers.cpp b/src/Hardware/ExceptionHandlers.cpp index eb936130..ce6d81bc 100644 --- a/src/Hardware/ExceptionHandlers.cpp +++ b/src/Hardware/ExceptionHandlers.cpp @@ -89,7 +89,7 @@ extern "C" [[noreturn]] void hardFaultDispatcher(const uint32_t *pulFaultStackAd } // The fault handler implementation calls a function called hardFaultDispatcher() -extern "C" [[noreturn]] void HardFault_Handler() noexcept __attribute__((naked)); +extern "C" void HardFault_Handler() noexcept __attribute__((naked)); void HardFault_Handler() noexcept { __asm volatile @@ -113,7 +113,7 @@ extern "C" [[noreturn]] void memManageDispatcher(const uint32_t *pulFaultStackAd } // The fault handler implementation calls a function called memManageDispatcher() -extern "C" [[noreturn]] void MemManage_Handler() noexcept __attribute__((naked)); +extern "C" void MemManage_Handler() noexcept __attribute__((naked)); void MemManage_Handler() noexcept { __asm volatile @@ -137,16 +137,16 @@ extern "C" [[noreturn]] void wdtFaultDispatcher(const uint32_t *pulFaultStackAdd } #ifdef __LPC17xx__ -extern "C" [[noreturn]] void WDT_IRQHandler() noexcept __attribute__((naked)); +extern "C" void WDT_IRQHandler() noexcept __attribute__((naked)); void WDT_IRQHandler() noexcept { LPC_WDT->MOD &=~((uint32_t)(1<<2)); //SD::clear timout flag before resetting to prevent the Smoothie bootloader going into DFU mode #else # if SAME70 // SAME70 has a separate interrupt line for the RSWDT -extern "C" [[noreturn]] void RSWDT_Handler() noexcept __attribute__((naked)); +extern "C" void RSWDT_Handler() noexcept __attribute__((naked)); void RSWDT_Handler() noexcept # else -extern "C" [[noreturn]] void WDT_Handler() noexcept __attribute__((naked)); +extern "C" void WDT_Handler() noexcept __attribute__((naked)); void WDT_Handler() noexcept # endif { @@ -171,7 +171,7 @@ extern "C" [[noreturn]] void otherFaultDispatcher(const uint32_t *pulFaultStackA // 2017-05-25: A user is getting 'otherFault' reports, so now we do a stack dump for those too. // The fault handler implementation calls a function called otherFaultDispatcher() -extern "C" [[noreturn]] void OtherFault_Handler() noexcept __attribute__((naked)); +extern "C" void OtherFault_Handler() noexcept __attribute__((naked)); void OtherFault_Handler() noexcept { __asm volatile @@ -189,10 +189,13 @@ void OtherFault_Handler() noexcept // We could set up the following fault handlers to retrieve the program counter in the same way as for a Hard Fault, // however these exceptions are unlikely to occur, so for now we just report the exception type. -extern "C" [[noreturn]] void NMI_Handler () noexcept { SoftwareReset(SoftwareResetReason::NMI); } -extern "C" [[noreturn]] void UsageFault_Handler () noexcept { SoftwareReset(SoftwareResetReason::usageFault); } +extern "C" void NMI_Handler () noexcept __attribute__((naked)); +extern "C" void UsageFault_Handler () noexcept __attribute__((naked)); +extern "C" void DebugMon_Handler () noexcept __attribute__((naked)); -extern "C" [[noreturn]] void DebugMon_Handler () noexcept __attribute__ ((alias("OtherFault_Handler"))); +extern "C" void NMI_Handler () noexcept { SoftwareReset(SoftwareResetReason::NMI); } +extern "C" void UsageFault_Handler () noexcept { SoftwareReset(SoftwareResetReason::usageFault); } +extern "C" void DebugMon_Handler () noexcept __attribute__ ((alias("OtherFault_Handler"))); // FreeRTOS hooks that we need to provide extern "C" [[noreturn]] void stackOverflowDispatcher(const uint32_t *pulFaultStackAddress, char* pcTaskName) noexcept diff --git a/src/Heating/Heat.cpp b/src/Heating/Heat.cpp index 1efaaeb4..076f81c0 100644 --- a/src/Heating/Heat.cpp +++ b/src/Heating/Heat.cpp @@ -935,24 +935,28 @@ GCodeResult Heat::ConfigureSensor(GCodeBuffer& gb, const StringRef& reply) THROW #if SUPPORT_CAN_EXPANSION // Set boardAddress to the board number that the port is on, or NoAddress if the port was not given - CanAddress boardAddress; - String<StringLength20> portName; + CanAddress boardAddress = CanId::NoAddress; +#endif + if (gb.Seen('P')) { + String<StringLength20> portName; gb.GetReducedString(portName.GetRef()); +#if SUPPORT_CAN_EXPANSION boardAddress = IoPort::RemoveBoardAddress(portName.GetRef()); - } - else - { - boardAddress = CanId::NoAddress; - } +#else + if (!IoPort::RemoveBoardAddress(portName.GetRef())) + { + reply.lcat("Board address of port must be 0"); + return GCodeResult::error; + } #endif - - if (portName.EqualsIgnoreCase(NoPinName)) // if deleting this sensor - { - WriteLocker lock(sensorsLock); - DeleteSensor(sensorNum); - return GCodeResult::ok; + if (portName.EqualsIgnoreCase(NoPinName)) // if deleting this sensor + { + WriteLocker lock(sensorsLock); + DeleteSensor(sensorNum); + return GCodeResult::ok; + } } if (gb.Seen('Y')) diff --git a/src/Heating/RemoteHeater.h b/src/Heating/RemoteHeater.h index e82cb695..907908e7 100644 --- a/src/Heating/RemoteHeater.h +++ b/src/Heating/RemoteHeater.h @@ -18,7 +18,7 @@ public: RemoteHeater(unsigned int num, CanAddress board) noexcept; ~RemoteHeater() noexcept; - GCodeResult ConfigurePortAndSensor(const char *portName, PwmFrequency freq, unsigned int sensorNumber, const StringRef& reply) override; + GCodeResult ConfigurePortAndSensor(const char *portName, PwmFrequency freq, unsigned int sn, const StringRef& reply) override; GCodeResult SetPwmFrequency(PwmFrequency freq, const StringRef& reply) override; GCodeResult ReportDetails(const StringRef& reply) const noexcept override; diff --git a/src/Linux/LinuxInterface.h b/src/Linux/LinuxInterface.h index c60cf2e1..d826d90e 100644 --- a/src/Linux/LinuxInterface.h +++ b/src/Linux/LinuxInterface.h @@ -39,7 +39,7 @@ public: // The Init method must be called prior to calling any of the other methods. Use reprap.UsingLinuxInterface() to guard calls to other members. // OTOH, calling Init when we don't have a SBC connected may cause problems due to noise pickup on the SPI CS and clock inputs void Init() noexcept; - void TaskLoop() noexcept; + [[noreturn]] void TaskLoop() noexcept; void Diagnostics(MessageType mtype) noexcept; bool IsConnected() const noexcept { return isConnected; } @@ -76,7 +76,7 @@ private: // Data needed when a CAN expansion board requests a firmware file chunk volatile bool waitingForFileChunk; bool fileChunkRequestSent; - String<FILENAME_MAX> requestedFileName; + String<MaxFilenameLength> requestedFileName; uint32_t requestedFileOffset, requestedFileLength; BinarySemaphore requestedFileSemaphore; char *requestedFileBuffer; diff --git a/src/Networking/ESP8266WiFi/WiFiInterface.h b/src/Networking/ESP8266WiFi/WiFiInterface.h index 0879da4e..4b5ac09b 100644 --- a/src/Networking/ESP8266WiFi/WiFiInterface.h +++ b/src/Networking/ESP8266WiFi/WiFiInterface.h @@ -8,8 +8,8 @@ #ifndef SRC_NETWORKING_WIFIINTERFACE_H_ #define SRC_NETWORKING_WIFIINTERFACE_H_ +#include <RepRapFirmware.h> #include "Networking/NetworkDefs.h" -#include "RepRapFirmware.h" #include "MessageType.h" #include "Networking/NetworkInterface.h" #include "GCodes/GCodeResult.h" diff --git a/src/Networking/LwipEthernet/Lwip/src/include/arch/cc.h b/src/Networking/LwipEthernet/Lwip/src/include/arch/cc.h index 8d5dbcae..9ebd7424 100644 --- a/src/Networking/LwipEthernet/Lwip/src/include/arch/cc.h +++ b/src/Networking/LwipEthernet/Lwip/src/include/arch/cc.h @@ -44,7 +44,10 @@ #ifndef CC_H_INCLUDED #define CC_H_INCLUDED +#if 0 // DC this pulls in declarations that we don't want, e.g. snprintf #include <stdio.h> +#endif + #include <stdint.h> #if 0 // chrishamm - already defined diff --git a/src/Networking/LwipEthernet/LwipEthernetInterface.h b/src/Networking/LwipEthernet/LwipEthernetInterface.h index 685eb615..5a4ce2a8 100644 --- a/src/Networking/LwipEthernet/LwipEthernetInterface.h +++ b/src/Networking/LwipEthernet/LwipEthernetInterface.h @@ -8,9 +8,9 @@ #ifndef SRC_NETWORKING_LWIPETHERNET_LWIPETHERNETINTERFACE_H_ #define SRC_NETWORKING_LWIPETHERNET_LWIPETHERNETINTERFACE_H_ +#include <RepRapFirmware.h> #include "Networking/NetworkInterface.h" #include "Networking/NetworkDefs.h" -#include "RepRapFirmware.h" #include "MessageType.h" // We have 8 sockets available for Ethernet diff --git a/src/Networking/LwipEthernet/LwipSocket.h b/src/Networking/LwipEthernet/LwipSocket.h index 539cd152..bdb784da 100644 --- a/src/Networking/LwipEthernet/LwipSocket.h +++ b/src/Networking/LwipEthernet/LwipSocket.h @@ -8,11 +8,11 @@ #ifndef SRC_NETWORKING_LWIPETHERNET_LWIPSOCKET_H_ #define SRC_NETWORKING_LWIPETHERNET_LWIPSOCKET_H_ +#include <RepRapFirmware.h> #include "LwipEthernetInterface.h" #include "Networking/NetworkDefs.h" #include "Networking/Socket.h" - typedef int8_t err_t; struct tcp_pcb; struct pbuf; diff --git a/src/Networking/Network.cpp b/src/Networking/Network.cpp index 9223ae76..08816fe1 100644 --- a/src/Networking/Network.cpp +++ b/src/Networking/Network.cpp @@ -11,6 +11,7 @@ #include "Network.h" #include <Platform.h> #include <RepRap.h> + #if HAS_NETWORKING #include "NetworkBuffer.h" #include "NetworkInterface.h" diff --git a/src/Networking/Network.h b/src/Networking/Network.h index 47b455d7..5f131764 100644 --- a/src/Networking/Network.h +++ b/src/Networking/Network.h @@ -8,8 +8,8 @@ #ifndef SRC_NETWORK_NETWORK_H_ #define SRC_NETWORK_NETWORK_H_ -#include "NetworkDefs.h" #include <RepRapFirmware.h> +#include "NetworkDefs.h" #include <MessageType.h> #include <GCodes/GCodeResult.h> #include <RTOSIface/RTOSIface.h> diff --git a/src/Networking/NetworkDefs.h b/src/Networking/NetworkDefs.h index 85a24c3d..1c515f91 100644 --- a/src/Networking/NetworkDefs.h +++ b/src/Networking/NetworkDefs.h @@ -8,7 +8,6 @@ #ifndef SRC_NETWORKING_NETWORKDEFS_H_ #define SRC_NETWORKING_NETWORKDEFS_H_ -#include <RepRapFirmware.h> #include <General/IPAddress.h> class NetworkBuffer; |