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:
authorDavid Crocker <dcrocker@eschertech.com>2021-01-09 18:24:16 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-01-09 18:24:16 +0300
commit277977b60b2b1349578863dd16e4095121d6c749 (patch)
tree8685eccfded96c9da76d6ecbc138b33df6bc9bbd
parent6bb2ddc8936d1352e5a5146f20c86fa388076f68 (diff)
Fixes for gcc version 10
Also fixed shadow definitions
-rw-r--r--.cproject3
-rw-r--r--src/Display/MenuItem.cpp8
-rw-r--r--src/Endstops/Endstop.h2
-rw-r--r--src/Endstops/SwitchEndstop.cpp2
-rw-r--r--src/Endstops/SwitchEndstop.h2
-rw-r--r--src/Hardware/ExceptionHandlers.cpp21
-rw-r--r--src/Heating/Heat.cpp30
-rw-r--r--src/Heating/RemoteHeater.h2
-rw-r--r--src/Linux/LinuxInterface.h4
-rw-r--r--src/Networking/ESP8266WiFi/WiFiInterface.h2
-rw-r--r--src/Networking/LwipEthernet/Lwip/src/include/arch/cc.h3
-rw-r--r--src/Networking/LwipEthernet/LwipEthernetInterface.h2
-rw-r--r--src/Networking/LwipEthernet/LwipSocket.h2
-rw-r--r--src/Networking/Network.cpp1
-rw-r--r--src/Networking/Network.h2
-rw-r--r--src/Networking/NetworkDefs.h1
16 files changed, 48 insertions, 39 deletions
diff --git a/.cproject b/.cproject
index 82b33fce..27090d1d 100644
--- a/.cproject
+++ b/.cproject
@@ -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 &quot;${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.elf&quot; &quot;${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin&quot; &amp;&amp; crc32appender &quot;${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin&quot;">
+ <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 &quot;${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.elf&quot; &quot;${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin&quot; &amp;&amp; crc32appender &quot;${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin&quot;">
<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="&quot;${workspace_loc:/FreeRTOS/src/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOS/src/portable/GCC/ARM_CM4F}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Duet5LC}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Networking}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Networking/LwipEthernet/Lwip}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Networking/LwipEthernet/Lwip/src/include}&quot;"/>
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;