Preparation for release 1.17b (no binaries included)

Fixed bug in M226 handling (thanks chrishamm)
Z probe modulation signal is now driven high only during probing move
for Z probe types 4 upwards
Updated DuetWebCobtrol to 1.14
This commit is contained in:
David Crocker 2017-01-07 10:44:29 +00:00
parent 983271f403
commit 0ae1b2ecd8
9 changed files with 29 additions and 8 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 MiB

After

Width:  |  Height:  |  Size: 3 MiB

View file

@ -25,7 +25,7 @@
#include "matrix.h" #include "matrix.h"
// Functions called by the W5500 module to transfer data to/from the W5500 via SPI // Functions called by the W5500 module to transfer data to/from the W5500 via SPI
const uint32_t SpiClockFrequency = 40000000; const uint32_t SpiClockFrequency = 60000000;
const unsigned int SpiPeripheralChannelId = 0; // we use NPCS0 as the slave select signal const unsigned int SpiPeripheralChannelId = 0; // we use NPCS0 as the slave select signal
#if USE_PDC #if USE_PDC

View file

@ -5,13 +5,14 @@
****************************************************************************************************/ ****************************************************************************************************/
#include "Network.h" #include "Network.h"
#include "Platform.h" #include "Platform.h"
#include "RepRap.h" #include "RepRap.h"
#include "TransactionBuffer.h" #include "TransactionBuffer.h"
#include "TransactionBufferReader.h" #include "TransactionBufferReader.h"
#include "WifiFirmwareUploader.h" #include "WifiFirmwareUploader.h"
// Define exactly one of the following as 1, thje other as zero // Define exactly one of the following as 1, the other as zero
// The PDC seems to be too slow to work reliably without getting transmit underruns, so we use the DMAC now. // The PDC seems to be too slow to work reliably without getting transmit underruns, so we use the DMAC now.
#define USE_PDC 0 // use peripheral DMA controller #define USE_PDC 0 // use peripheral DMA controller
#define USE_DMAC 1 // use general DMA controller #define USE_DMAC 1 // use general DMA controller

View file

@ -495,6 +495,7 @@ void GCodes::Spin()
} }
zProbeTriggered = false; zProbeTriggered = false;
platform->SetProbing(true);
moveBuffer.moveType = 0; moveBuffer.moveType = 0;
moveBuffer.endStopsToCheck = ZProbeActive; moveBuffer.endStopsToCheck = ZProbeActive;
moveBuffer.usePressureAdvance = false; moveBuffer.usePressureAdvance = false;
@ -510,6 +511,7 @@ void GCodes::Spin()
case GCodeState::gridProbing3: // ready to lift the probe after probing the current grid probe point case GCodeState::gridProbing3: // ready to lift the probe after probing the current grid probe point
if (LockMovementAndWaitForStandstill(gb)) if (LockMovementAndWaitForStandstill(gb))
{ {
platform->SetProbing(false);
if (!zProbeTriggered) if (!zProbeTriggered)
{ {
reply.copy("Z probe was not triggered during probing move"); reply.copy("Z probe was not triggered during probing move");
@ -614,7 +616,7 @@ void GCodes::Spin()
// Start a new gcode, or continue to execute one that has already been started: // Start a new gcode, or continue to execute one that has already been started:
void GCodes::StartNextGCode(GCodeBuffer& gb, StringRef& reply) void GCodes::StartNextGCode(GCodeBuffer& gb, StringRef& reply)
{ {
if (isPaused && &gb == fileGCode) if (IsPaused() && &gb == fileGCode)
{ {
// We are paused, so don't process any more gcodes from the file being printed. // We are paused, so don't process any more gcodes from the file being printed.
// There is a potential issue here if fileGCode holds any locks, so unlock everything. // There is a potential issue here if fileGCode holds any locks, so unlock everything.
@ -1407,6 +1409,10 @@ bool GCodes::DoCannedCycleMove(GCodeBuffer& gb, EndstopChecks ce)
moveBuffer.usePressureAdvance = false; moveBuffer.usePressureAdvance = false;
segmentsLeft = 1; segmentsLeft = 1;
cannedCycleMoveQueued = true; cannedCycleMoveQueued = true;
if ((ce & ZProbeActive) != 0)
{
platform->SetProbing(true);
}
} }
return false; return false;
} }
@ -1770,6 +1776,7 @@ int GCodes::DoZProbe(GCodeBuffer& gb, float distance)
if (DoCannedCycleMove(gb, ZProbeActive)) if (DoCannedCycleMove(gb, ZProbeActive))
{ {
platform->SetProbing(false);
return (zProbeTriggered) ? 2 : 1; return (zProbeTriggered) ? 2 : 1;
} }
return -1; return -1;

View file

@ -5,7 +5,7 @@
* Author: David * Author: David
*/ */
#include "Deltaprobe.h" #include "DeltaProbe.h"
#include "DDA.h" #include "DDA.h"
#include "Platform.h" #include "Platform.h"
#include "RepRap.h" #include "RepRap.h"

View file

@ -554,24 +554,27 @@ void Platform::InitZProbe()
AnalogInEnableChannel(zProbeAdcChannel, false); AnalogInEnableChannel(zProbeAdcChannel, false);
pinMode(zProbePin, INPUT_PULLUP); pinMode(zProbePin, INPUT_PULLUP);
pinMode(endStopPins[E0_AXIS], INPUT_PULLUP); pinMode(endStopPins[E0_AXIS], INPUT_PULLUP);
pinMode(zProbeModulationPin, OUTPUT_LOW); // we now set the modulation output high during probing only when using probe types 4 and higher
break; break;
case 5: case 5:
default: default:
AnalogInEnableChannel(zProbeAdcChannel, false); AnalogInEnableChannel(zProbeAdcChannel, false);
pinMode(zProbePin, INPUT_PULLUP); pinMode(zProbePin, INPUT_PULLUP);
pinMode(zProbeModulationPin, OUTPUT_HIGH); // set high to take trash80's HE280 probe Teensy adapter out of reset pinMode(zProbeModulationPin, OUTPUT_LOW); // we now set the modulation output high during probing only when using probe types 4 and higher
break; break;
case 6: case 6:
AnalogInEnableChannel(zProbeAdcChannel, false); AnalogInEnableChannel(zProbeAdcChannel, false);
pinMode(zProbePin, INPUT_PULLUP); pinMode(zProbePin, INPUT_PULLUP);
pinMode(endStopPins[E0_AXIS + 1], INPUT_PULLUP); pinMode(endStopPins[E0_AXIS + 1], INPUT_PULLUP);
pinMode(zProbeModulationPin, OUTPUT_LOW); // we now set the modulation output high during probing only when using probe types 4 and higher
break; break;
case 7: case 7:
AnalogInEnableChannel(zProbeAdcChannel, false); AnalogInEnableChannel(zProbeAdcChannel, false);
pinMode(zProbePin, INPUT_PULLUP); pinMode(zProbePin, INPUT_PULLUP);
pinMode(zProbeModulationPin, OUTPUT_LOW); // we now set the modulation output high during probing only when using probe types 4 and higher
break; //TODO (DeltaProbe) break; //TODO (DeltaProbe)
} }
} }
@ -676,6 +679,15 @@ void Platform::SetZProbeType(int pt)
InitZProbe(); InitZProbe();
} }
void Platform::SetProbing(bool isProbing)
{
if (zProbeType > 3)
{
// For Z probe types other than 1/2/3 we set the modulation pin high at the start of a probing move and low at the end
digitalWrite(zProbeModulationPin, isProbing);
}
}
const ZProbeParameters& Platform::GetZProbeParameters(int32_t probeType) const const ZProbeParameters& Platform::GetZProbeParameters(int32_t probeType) const
{ {
switch (probeType) switch (probeType)

View file

@ -482,6 +482,7 @@ public:
void SetZProbeParameters(int32_t probeType, const struct ZProbeParameters& params); void SetZProbeParameters(int32_t probeType, const struct ZProbeParameters& params);
bool MustHomeXYBeforeZ() const; bool MustHomeXYBeforeZ() const;
bool WriteZProbeParameters(FileStore *f) const; bool WriteZProbeParameters(FileStore *f) const;
void SetProbing(bool isProbing);
// Ancilliary PWM // Ancilliary PWM

View file

@ -9,13 +9,13 @@
#define SRC_VERSION_H_ #define SRC_VERSION_H_
#ifndef VERSION #ifndef VERSION
# define VERSION "1.17a" # define VERSION "1.17b"
#endif #endif
#ifndef DATE #ifndef DATE
# define DATE "2017-01-02" # define DATE "2017-01-07"
#endif #endif
#define AUTHORS "reprappro, dc42, zpl, t3p3, dnewman" #define AUTHORS "reprappro, dc42, chrishamm, t3p3, dnewman"
#endif /* SRC_VERSION_H_ */ #endif /* SRC_VERSION_H_ */