diff options
author | David Crocker <dcrocker@eschertech.com> | 2018-10-17 00:08:50 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2018-10-17 00:08:50 +0300 |
commit | 1347ea638627e7969ea1fa6f059d497c8692925a (patch) | |
tree | 77bc84037f64dd6efe63ce045e61b12e3eb95d32 /src/Networking/Network.h | |
parent | bc93fe18d311e25e68b553ceeea9dd1b35262bf6 (diff) |
Nearly version 2.02RC3
New G/M code features since 2.02RC2:
G10 L2 and G10 L20 can now be used with no P parameter, meaning use the current coordinate system
G60 now saves the current tool as well as the current user coordinates
M116 now accepts an optional S parameter to specify the acceptable temperature difference
M205 is supported to set the jerk limits (in mm/sec) as an alternative to M566
M208 now accepts Xaa:bb Ycc:dd etc. as an alternative to separate M208 S0 and M208 s1 commands
M305 temperature sensor type 300-307 now supports a C parameter to select the input channel and a D parameter to select differential mode
M408 now accepts a P parameter. P0 (default) gives the previous behaviour. P1 S"filter" now returns those parts of the object model that match "filter".
M557 now supports a P parameter to set the number of X and Y points, as an alternative to using the S parameter to set the spacing
M558: zero or negative Z probe tolerance (S parameter) with A parameter > 1 now means always average all readings
M558 now accepts a C parameter to select the endstop number when the mode is 4. M558 P6 is translated to M558 P4 C4, and M558 P7 is translated to M558 P4 C2.
M600 is now supported
T R# (where # is a restore point number) is now supported
-
Other changed behaviour since 2.02RC2:
When storage module debug is enabled, failing to open a file is now a warning not an error because it is a normal accurrence when optional files are not present (e.g. tool change files, start.g, stop.g)
Increased number of restore points from 3 to 6
When the WiFi module is in client mode it tries to auto-reconnect continuously if the connection is lost
Implemented the object model framework and a few variables
Z leadscrew or manual be levelling adjustment results are now logged even if the process failed, if logging is enabled
Mesh probing results are now logged, if logging is enabled
Error and warning messages generated by incorrect GCode commands are now logged, if logging is enabled
-
Bug fixes since 2.02RC2:
The motor phase open circuit message is clearer, is now a warning instead of an error, and spurious instances of it should be reduced
M918 with no parameters now reports current settings (Duet 2 Maestro)
Further limited the amount of CPU time used to refresh the 12864 display
Fixed incorrect check for G2/G3 missing parameter
Fix CoreXYUV stall detection
Absolute babystepping was be restricted to 1mm change
After using G10 L2 or G10 L20 to change workplace coordinate offsets, the user positions of axes other than X and Y were not updated
M915 now recognises the E parameter
M915 output was truncated if no drives were specified
On the Duet 2 Maestro, if a BLTouch Z probe was used then the pin didn't always stay retracted after the probe was triggered
On the Duet 2 Maestro, if the SD card menu on the 12864 display was used then the network kept disconnecting
If G30 S-1 was sent with the Z probe type set to zero then reported trigger height was an undefined value
Fixed potential buffer overflow issues in 12864 menu code
-
Other changes:
Introduced class IPAddres and refactored most usage oif IP addresses
Diffstat (limited to 'src/Networking/Network.h')
-rw-r--r-- | src/Networking/Network.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/Networking/Network.h b/src/Networking/Network.h index 8d205e40..6e86a1b0 100644 --- a/src/Networking/Network.h +++ b/src/Networking/Network.h @@ -13,6 +13,7 @@ #include "MessageType.h" #include "GCodes/GCodeResult.h" #include "RTOSIface/RTOSIface.h" +#include "ObjectModel/ObjectModel.h" #if defined(DUET3) || defined(SAME70XPLD) const size_t NumNetworkInterfaces = 2; @@ -34,7 +35,7 @@ class WiFiInterface; class WifiFirmwareUploader; // The main network class that drives the network. -class Network +class Network INHERIT_OBJECT_MODEL { public: Network(Platform& p); @@ -63,8 +64,8 @@ public: GCodeResult GetNetworkState(unsigned int interface, const StringRef& reply); int EnableState(unsigned int interface) const; - void SetEthernetIPAddress(const uint8_t p_ipAddress[], const uint8_t p_netmask[], const uint8_t p_gateway[]); - const uint8_t *GetIPAddress(unsigned int interface) const; + void SetEthernetIPAddress(IPAddress p_ipAddress, IPAddress p_netmask, IPAddress p_gateway); + IPAddress GetIPAddress(unsigned int interface) const; const char *GetHostname() const { return hostname; } void SetHostname(const char *name); void SetMacAddress(unsigned int interface, const uint8_t mac[]); @@ -78,6 +79,13 @@ public: void HandleTelnetGCodeReply(OutputBuffer *buf); uint32_t GetHttpReplySeq(); +#if SUPPORT_OBJECT_MODEL + void *GetInterface(size_t n) { return interfaces[n]; } +#endif + +protected: + DECLARE_OBJECT_MODEL + private: WiFiInterface *FindWiFiInterface() const; |