diff options
author | David Crocker <dcrocker@eschertech.com> | 2018-11-13 02:35:25 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2018-11-13 02:35:25 +0300 |
commit | 86a555acf94e8988c0d743b1781da350ff5a57e4 (patch) | |
tree | 8ca51e93f513f27c7508c7a945083808d5757fb6 /src/DuetNG/DueXn.cpp | |
parent | 891a7ff5fb578a82d3ae43f1748be7a347634bee (diff) |
Closer to 2.02RC4
New and changed features:
- Send the mapped fan speed at the start of the fan speed list in the M408 response for PanelDue
- Support PanelDue emergency stop interrupt from UART driver
- Execute residual babystepping immediately
- Warning message are now generated if trying to move motors on internal drivers but VIN is too low or too high
- Increased minimum fullsteps for motor open detection from 4 to 20
- I2C addresses can be specified in hex format e.g. "0x71" or "x71"
- M584 can now use dummy (high) driver numbers to assign an axis or extruder to no driver
- M122 now tells you if the drivers are enabled, or disabled and waiting for the correct voltage
- Added special support for coast-to-end in RecalculateMove
- Brought RADDS build up to date and use RTOS
- Improved HTTP 'page not found' message
- M260 now lets you receive I2C data after sending data
Bug fixes:
- G30 H parameters didn't work if deployprobe.g or retractprobe.g file present
- M600 stopped the machine
- Watchdog initialisation timing was marginal
- Possible fix for issue with using 3 independent Z motors each with a separate endstop switch
- Use a I2C mutex instead of a critical section lock
- Use new I2C driver in CoreNG
- M557 P parameter was not working
- G30 S-2 tool offset was set in the wrong direction
- After G30 S-2, user coordinates were not updated to account for new tool offset
- M918 with a P parameter now resets the display
- Improved the mechanism used to determine which layer is being printed
- 12864 display buttons sometimes disappeared when moving between them
- 12864 display: last byte of images didn't display correctly
- 12864 display: in button commands, "#0" should be substituted, not "menu"
- Don't start executing a G30 S-2 command if no tool is selected
- Http responses now use \r\n as the line ending, not \n
Diffstat (limited to 'src/DuetNG/DueXn.cpp')
-rw-r--r-- | src/DuetNG/DueXn.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/DuetNG/DueXn.cpp b/src/DuetNG/DueXn.cpp index 3a642559..b164fb18 100644 --- a/src/DuetNG/DueXn.cpp +++ b/src/DuetNG/DueXn.cpp @@ -9,6 +9,7 @@ #include "SX1509.h" #include "Platform.h" #include "RepRap.h" +#include "Wire.h" namespace DuetExpansion { @@ -57,7 +58,7 @@ namespace DuetExpansion // Identify which expansion board (if any) is attached and initialise it ExpansionBoardType DueXnInit() { - reprap.GetPlatform().InitI2c(); // initialise I2C + reprap.GetPlatform().InitI2c(); // initialise I2C // DC 2018-07-12: occasionally the SX1509B isn't found after doing a software reset, so try a few more attempts bool ret; @@ -68,6 +69,7 @@ namespace DuetExpansion delay(50); ret = dueXnExpander.begin(DueXnAddress); } while (!ret && attempts < 5); + (void)I2C_IFACE.GetErrorCounts(true); // clear the error counts in case there wasn't a device there or we didn't find it first time if (ret) { @@ -104,7 +106,7 @@ namespace DuetExpansion // Look for an additional output pin expander void AdditionalOutputInit() { - reprap.GetPlatform().InitI2c(); // initialise I2C + reprap.GetPlatform().InitI2c(); // initialise I2C bool ret; unsigned int attempts = 0; @@ -114,6 +116,7 @@ namespace DuetExpansion delay(50); ret = additionalIoExpander.begin(AdditionalIoExpanderAddress); } while (!ret && attempts < 5); + (void)I2C_IFACE.GetErrorCounts(true); // clear the error counts in case there wasn't a device there or we didn't find it first time if (ret) { @@ -275,18 +278,9 @@ namespace DuetExpansion } // Print diagnostic data + // I2C error counts are now reported by Platform, so nothing to report here. void Diagnostics(MessageType mtype) { - Platform& p = reprap.GetPlatform(); - p.Message(mtype, "=== Expansion ===\n"); - if (dueXnBoardType != ExpansionBoardType::none) - { - p.MessageF(mtype, "DueX I2C errors %" PRIu32 "\n", dueXnExpander.GetErrorCount()); - } - if (additionalIoExpanderPresent) - { - p.MessageF(mtype, "Additional expander I2C errors %" PRIu32 "\n", additionalIoExpander.GetErrorCount()); - } } // Diagnose the SX1509 by setting all pins as inputs and reading them |