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
path: root/src/DuetM
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2020-05-27 23:06:57 +0300
committerDavid Crocker <dcrocker@eschertech.com>2020-05-27 23:06:57 +0300
commitabb62a3aee28addfce053d6f0d9c82d85160c595 (patch)
treee3cfb1698c0262ec52a2b9c9a2ed3015dfe7e72b /src/DuetM
parent4082db3e809db86a06cb9d807f21cf1d377bc948 (diff)
Various
Bug fix: fix filament needed array overflow when then GCode file contains a filament used comment line with too many values Adjust the number of stepper drivers on Duet 2 if a 12864 display is configured Changed step pulse code to not use paralell write because those are not available on the 5LC board (or on LPC-based boards) Changed 12864 LCD pin allocations for Duet NG Removed calls to SafeStrtoul from BinaryParser and IoPorts
Diffstat (limited to 'src/DuetM')
-rw-r--r--src/DuetM/Pins_DuetM.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/DuetM/Pins_DuetM.h b/src/DuetM/Pins_DuetM.h
index 33ff5e36..912f534c 100644
--- a/src/DuetM/Pins_DuetM.h
+++ b/src/DuetM/Pins_DuetM.h
@@ -305,20 +305,16 @@ namespace StepPins
: 0;
}
- // Set the specified step pins high
- // This needs to be as fast as possible, so we do a parallel write to the port(s).
- // We rely on only those port bits that are step pins being set in the PIO_OWSR register of each port
- static inline void StepDriversHigh(uint32_t driverMap) noexcept
+ // Set the specified step pins high. This needs to be fast.
+ static inline __attribute__((always_inline)) void StepDriversHigh(uint32_t driverMap) noexcept
{
- PIOC->PIO_ODSR = driverMap; // on Duet Maestro all step pins are on port C
+ PIOC->PIO_SODR = driverMap; // on Duet Maestro all step pins are on port C
}
- // Set all step pins low
- // This needs to be as fast as possible, so we do a parallel write to the port(s).
- // We rely on only those port bits that are step pins being set in the PIO_OWSR register of each port
- static inline void StepDriversLow() noexcept
+ // Set the specified step pins low. This needs to be fast.
+ static inline void __attribute__((always_inline)) StepDriversLow(uint32_t driverMap) noexcept
{
- PIOC->PIO_ODSR = 0; // on Duet Maestro all step pins are on port C
+ PIOC->PIO_CODR = driverMap; // on Duet Maestro all step pins are on port C
}
}