From fe571d4396e4185a7f923aebbcfcb9d426bee217 Mon Sep 17 00:00:00 2001 From: David Crocker Date: Sun, 4 Jun 2017 09:54:49 +0100 Subject: [PATCH] Version 1.19beta5 Fixed spin hang in Network module caused by output buffer being re-used after it was released Added support for SPI temperature sensor based on an ADC whose output is linear with temperature --- ...bin => DuetEthernetFirmware-1.19beta5.bin} | Bin 293732 -> 294156 bytes ...ta4.bin => DuetWiFiFirmware-1.19beta5.bin} | Bin 297108 -> 297532 bytes src/Configuration.h | 3 +- src/DuetNG/NetworkResponder.cpp | 1 + src/GCodes/GCodes.cpp | 1 + src/Heating/TemperatureSensor.cpp | 89 ++++++++++++++++-- src/Heating/TemperatureSensor.h | 10 +- src/OutputMemory.cpp | 2 +- src/Platform.cpp | 20 +++- src/Platform.h | 9 ++ src/RepRap.cpp | 4 +- src/Version.h | 4 +- 12 files changed, 124 insertions(+), 19 deletions(-) rename Release/Duet-Ethernet/Edge/{DuetEthernetFirmware-1.19beta4.bin => DuetEthernetFirmware-1.19beta5.bin} (63%) rename Release/Duet-WiFi/Edge/{DuetWiFiFirmware-1.19beta4.bin => DuetWiFiFirmware-1.19beta5.bin} (61%) diff --git a/Release/Duet-Ethernet/Edge/DuetEthernetFirmware-1.19beta4.bin b/Release/Duet-Ethernet/Edge/DuetEthernetFirmware-1.19beta5.bin similarity index 63% rename from Release/Duet-Ethernet/Edge/DuetEthernetFirmware-1.19beta4.bin rename to Release/Duet-Ethernet/Edge/DuetEthernetFirmware-1.19beta5.bin index b440384ed043b3b8299f9418aae0af68ba292b89..04406ab3c31a75cee028abcc935c4df291db4bf2 100644 GIT binary patch delta 57198 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 D#=Bp| delta 56655 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%0D?!bh|8zerf?a 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 k9Uk(ktIK0k-NtdB(lfhwdth(^b diff --git a/Release/Duet-WiFi/Edge/DuetWiFiFirmware-1.19beta4.bin b/Release/Duet-WiFi/Edge/DuetWiFiFirmware-1.19beta5.bin similarity index 61% rename from Release/Duet-WiFi/Edge/DuetWiFiFirmware-1.19beta4.bin rename to Release/Duet-WiFi/Edge/DuetWiFiFirmware-1.19beta5.bin index 0711fb994f2bd205f2acb1722fcb22905b5aac15..873cecc531436126a65ef6569c94e47f2b45240c 100644 GIT binary patch delta 59046 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 N#e%^J^0D(~@=uAN)Di#y diff --git a/src/Configuration.h b/src/Configuration.h index b44cf3a..abde541 100644 --- a/src/Configuration.h +++ b/src/Configuration.h @@ -105,12 +105,13 @@ static_assert(DefaultMaxTempExcursion > TEMPERATURE_CLOSE_ENOUGH, "DefaultMaxTem // Temperature sense channels const unsigned int FirstThermocoupleChannel = 100; // Temperature sensor channels 100... are thermocouples const unsigned int FirstRtdChannel = 200; // Temperature sensor channels 200... are RTDs +const unsigned int FirstLinearAdcChannel = 300; // Temperature sensor channels 300... use an ADC that provides a linear output over a temperature range // PWM frequencies const unsigned int SlowHeaterPwmFreq = 10; // slow PWM frequency for bed and chamber heaters, compatible with DC/AC SSRs const unsigned int NormalHeaterPwmFreq = 250; // normal PWM frequency used for hot ends const unsigned int DefaultFanPwmFreq = 250; // increase to 25kHz using M106 command to meet Intel 4-wire PWM fan specification -const unsigned int DefaultPinWritePwmFreq = 500; // default PWM frequency for M42 pin writes and extrusion ancilliary PWM +const unsigned int DefaultPinWritePwmFreq = 500; // default PWM frequency for M42 pin writes and extrusion ancillary PWM // Default Z probe values diff --git a/src/DuetNG/NetworkResponder.cpp b/src/DuetNG/NetworkResponder.cpp index 59514c0..aea2b22 100644 --- a/src/DuetNG/NetworkResponder.cpp +++ b/src/DuetNG/NetworkResponder.cpp @@ -177,6 +177,7 @@ void NetworkResponder::ConnectionLost() { CancelUpload(); OutputBuffer::ReleaseAll(outBuf); + outBuf = nullptr; outStack->ReleaseAll(); if (fileBeingSent != nullptr) diff --git a/src/GCodes/GCodes.cpp b/src/GCodes/GCodes.cpp index 90804d6..f26160b 100644 --- a/src/GCodes/GCodes.cpp +++ b/src/GCodes/GCodes.cpp @@ -3147,6 +3147,7 @@ void GCodes::SetHeaterParameters(GCodeBuffer& gb, StringRef& reply) if ( (0 <= thermistor && thermistor < HEATERS) || ((int)FirstThermocoupleChannel <= thermistor && thermistor < (int)(FirstThermocoupleChannel + MaxSpiTempSensors)) || ((int)FirstRtdChannel <= thermistor && thermistor < (int)(FirstRtdChannel + MaxSpiTempSensors)) + || ((int)FirstLinearAdcChannel <= thermistor && thermistor < (int)(FirstLinearAdcChannel + MaxSpiTempSensors)) ) { platform.SetThermistorNumber(heater, thermistor); diff --git a/src/Heating/TemperatureSensor.cpp b/src/Heating/TemperatureSensor.cpp index 2d58701..74a9c39 100644 --- a/src/Heating/TemperatureSensor.cpp +++ b/src/Heating/TemperatureSensor.cpp @@ -48,16 +48,19 @@ const uint32_t MAX31855_Frequency = 4000000; // maximum for MAX31855 is 5MHz const uint32_t MAX31865_Frequency = 4000000; // maximum for MAX31865 is also 5MHz +const uint32_t MCP3204_Frequency = 1000000; // maximum for MCP3204 is 1MHz @ 2.7V, will be slightly higher at 3.3V // SPI modes: // If the inactive state of SCL is LOW (CPOL = 0) (in the case of the MAX31865, this is sampled on the falling edge of CS): -// The MAX31855 sets up the first data bit after the falling edge of CS, and changes the data on each falling clock edge. +// The MAX31855 sets up the first data bit after the falling edge of CLK, and changes the data on each falling clock edge. // So the SAM needs to sample data on the rising clock edge. This requires NCPHA = 1. -// The MAX31865 changes data after the rising edge of CS, and samples input data on the falling edge. +// The MAX31865 changes data after the rising edge of CLK, and samples input data on the falling edge. // This requires NCPHA = 0. +// The MCP3204 samples input data on the rising edge and changes the output data on the rising edge. const uint8_t MAX31855_SpiMode = SPI_MODE_0; const uint8_t MAX31865_SpiMode = SPI_MODE_1; +const uint8_t MCP3204_SpiMode = SPI_MODE_0; // Define the minimum interval between readings. The MAX31865 needs 62.5ms in 50Hz filter mode. const uint32_t MinimumReadInterval = 100; // minimum interval between reads, in milliseconds @@ -175,11 +178,38 @@ TemperatureError TemperatureSensor::TryInitRtd() const : sts; } -TemperatureError TemperatureSensor::GetThermocoupleTemperature(float *t) +// Initialise the linear ADC +void TemperatureSensor::InitLinearAdc(uint8_t cs) +{ + device.csPin = cs; + device.spiMode = MCP3204_SpiMode; + device.clockFrequency = MCP3204_Frequency; + sspi_master_init(&device, 8); + + for (unsigned int i = 0; i < 3; ++i) // try 3 times + { + TryGetLinearAdcTemperature(); + if (lastResult == TemperatureError::success) + { + break; + } + delay(MinimumReadInterval); + } + + lastReadingTime = millis(); + + if (lastResult != TemperatureError::success) + { + reprap.GetPlatform().MessageF(GENERIC_MESSAGE, "Error: failed to initialise daughter board ADC: %s\n", TemperatureErrorString(lastResult)); + } + +} + +TemperatureError TemperatureSensor::GetThermocoupleTemperature(float& t) { if (inInterrupt() || millis() - lastReadingTime < MinimumReadInterval) { - *t = lastTemperature; + t = lastTemperature; } else { @@ -247,7 +277,7 @@ TemperatureError TemperatureSensor::GetThermocoupleTemperature(float *t) rawVal |= (0 - (rawVal & 0x2000)); // sign-extend the sign bit // And convert to from units of 1/4C to 1C - *t = lastTemperature = (float)(0.25 * (float)(int32_t)rawVal); + t = lastTemperature = (float)(0.25 * (float)(int32_t)rawVal); lastResult = TemperatureError::success; } } @@ -255,11 +285,11 @@ TemperatureError TemperatureSensor::GetThermocoupleTemperature(float *t) return lastResult; } -TemperatureError TemperatureSensor::GetRtdTemperature(float *t) +TemperatureError TemperatureSensor::GetRtdTemperature(float& t) { if (inInterrupt() || millis() - lastReadingTime < MinimumReadInterval) { - *t = lastTemperature; + t = lastTemperature; } else { @@ -325,7 +355,7 @@ TemperatureError TemperatureSensor::GetRtdTemperature(float *t) else { const float interpolationFraction = (float)(adcVal - tempTable[low - 1].adcReading)/(float)(tempTable[low].adcReading - tempTable[low - 1].adcReading); - *t = lastTemperature = ((float)(tempTable[low].temperature - tempTable[low - 1].temperature) * interpolationFraction) + t = lastTemperature = ((float)(tempTable[low].temperature - tempTable[low - 1].temperature) * interpolationFraction) + (float)tempTable[low - 1].temperature; //debugPrintf("raw %u low %u interp %f temp %f\n", adcVal, low, interpolationFraction, *t); lastResult = TemperatureError::success; @@ -336,6 +366,49 @@ TemperatureError TemperatureSensor::GetRtdTemperature(float *t) return lastResult; } +TemperatureError TemperatureSensor::GetLinearAdcTemperature(float& t) +{ + if (!inInterrupt() && millis() - lastReadingTime >= MinimumReadInterval) + { + TryGetLinearAdcTemperature(); + } + + t = lastTemperature; + return lastResult; +} + +// Try to get a temperature reading from the linear ADC by doing an SPI transaction +void TemperatureSensor::TryGetLinearAdcTemperature() +{ + // The MCP3204 waits for a high input input bit before it does anything. Call this clock 1. + // The next input bit it high for single-ended operation, low for differential. This is clock 2. + // The next 3 input bits are the channel selection bits. These are clocks 3..5. + // Clock 6 produces a null bit on its trailing edge, which is read by the processor on clock 7. + // Clocks 7..18 produce data bits B11..B0 on their trailing edges, which are read by the MCU on the leading edges of clocks 8-19. + // If we supply further clocks, then clocks 18..29 are the same data but LSB first, omitting bit 0. + // Clocks 30 onwards will be zeros. + // So we need to use at least 19 clocks. We round this up to 24 clocks, and we check that the extra 5 bits we receive are the 5 least significant data bits in reverse order. + + static const uint8_t adcData[] = { 0xC0, 0x00, 0x00 }; // start bit, single ended, channel 0 + uint32_t rawVal; + lastResult = DoSpiTransaction(adcData, 3, rawVal); + //debugPrintf("ADC data %u\n", rawVal); + + if (lastResult == TemperatureError::success) + { + const uint32_t adcVal1 = (rawVal >> 5) & ((1 << 13) - 1); + const uint32_t adcVal2 = ((rawVal & 1) << 5) | ((rawVal & 2) << 3) | ((rawVal & 4) << 1) | ((rawVal & 8) >> 1) | ((rawVal & 16) >> 3) | ((rawVal & 32) >> 5); + if (adcVal1 >= 4096 || adcVal2 != (adcVal1 & ((1 << 6) - 1))) + { + lastResult = TemperatureError::badResponse; + } + else + { + lastTemperature = MinLinearAdcTemp + (LinearAdcDegCPerCount * (float)adcVal1); + } + } +} + // Send and receive 1 to 4 bytes of data and return the result as a single 32-bit word TemperatureError TemperatureSensor::DoSpiTransaction(const uint8_t dataOut[], size_t nbytes, uint32_t& rslt) const { diff --git a/src/Heating/TemperatureSensor.h b/src/Heating/TemperatureSensor.h index 38cb5e3..d54338d 100644 --- a/src/Heating/TemperatureSensor.h +++ b/src/Heating/TemperatureSensor.h @@ -11,17 +11,23 @@ public: TemperatureSensor() {} void InitThermocouple(uint8_t cs); void InitRtd(uint8_t cs); - TemperatureError GetThermocoupleTemperature(float *temp); - TemperatureError GetRtdTemperature(float *temp); + void InitLinearAdc(uint8_t cs); + TemperatureError GetThermocoupleTemperature(float& t); + TemperatureError GetRtdTemperature(float& t); + TemperatureError GetLinearAdcTemperature(float& t); private: TemperatureError DoSpiTransaction(const uint8_t dataOut[], size_t nbytes, uint32_t& rslt) const; TemperatureError TryInitRtd() const; + void TryGetLinearAdcTemperature(); sspi_device device; uint32_t lastReadingTime; float lastTemperature; TemperatureError lastResult; + + static constexpr float MinLinearAdcTemp = 385.0 - (1600.0 - 385.0) * (4.0/16.0); + static constexpr float LinearAdcDegCPerCount = (1600.0 - 385.0)/3200.0; }; #endif // TEMPERATURESENSOR_H diff --git a/src/OutputMemory.cpp b/src/OutputMemory.cpp index 0d6fe1b..1dade00 100644 --- a/src/OutputMemory.cpp +++ b/src/OutputMemory.cpp @@ -408,7 +408,7 @@ size_t OutputBuffer::EncodeReply(OutputBuffer *src, bool allowControlChars) /*static */ OutputBuffer *OutputBuffer::Release(OutputBuffer *buf) { const irqflags_t flags = cpu_irq_save(); - OutputBuffer *nextBuffer = buf->next; + OutputBuffer * const nextBuffer = buf->next; // If this one is reused by another piece of code, don't free it up if (buf->references > 1) diff --git a/src/Platform.cpp b/src/Platform.cpp index 52e2222..ec31cae 100644 --- a/src/Platform.cpp +++ b/src/Platform.cpp @@ -640,6 +640,10 @@ void Platform::SetThermistorNumber(size_t heater, size_t thermistor) { SpiTempSensors[thermistor - FirstRtdChannel].InitRtd(spiTempSenseCsPins[thermistor - FirstRtdChannel]); } + else if (thermistor >= FirstLinearAdcChannel && thermistor < FirstLinearAdcChannel + MaxSpiTempSensors) + { + SpiTempSensors[thermistor - FirstRtdChannel].InitLinearAdc(spiTempSenseCsPins[thermistor - FirstLinearAdcChannel]); + } reprap.GetHeat().ResetFault(heater); } @@ -2067,7 +2071,7 @@ float Platform::GetTemperature(size_t heater, TemperatureError& err) { // MAX31855 thermocouple chip float temp; - err = SpiTempSensors[heaterTempChannels[heater] - FirstThermocoupleChannel].GetThermocoupleTemperature(&temp); + err = SpiTempSensors[heaterTempChannels[heater] - FirstThermocoupleChannel].GetThermocoupleTemperature(temp); return (err == TemperatureError::success) ? temp : BAD_ERROR_TEMPERATURE; } @@ -2075,7 +2079,15 @@ float Platform::GetTemperature(size_t heater, TemperatureError& err) { // MAX31865 RTD chip float temp; - err = SpiTempSensors[heaterTempChannels[heater] - FirstRtdChannel].GetRtdTemperature(&temp); + err = SpiTempSensors[heaterTempChannels[heater] - FirstRtdChannel].GetRtdTemperature(temp); + return (err == TemperatureError::success) ? temp : BAD_ERROR_TEMPERATURE; + } + + if (IsLinearAdcChannel(heater)) + { + // MAX31865 RTD chip + float temp; + err = SpiTempSensors[heaterTempChannels[heater] - FirstRtdChannel].GetLinearAdcTemperature(temp); return (err == TemperatureError::success) ? temp : BAD_ERROR_TEMPERATURE; } @@ -2929,9 +2941,9 @@ void Platform::Message(const MessageType type, OutputBuffer *buffer) break; case HOST_MESSAGE: - if (!SERIAL_MAIN_DEVICE + if ( !SERIAL_MAIN_DEVICE #if SUPPORT_SCANNER - || (reprap.GetScanner().IsRegistered() && !reprap.GetScanner().DoingGCodes()) + || (reprap.GetScanner().IsRegistered() && !reprap.GetScanner().DoingGCodes()) #endif ) { diff --git a/src/Platform.h b/src/Platform.h index c38aa0e..409c231 100644 --- a/src/Platform.h +++ b/src/Platform.h @@ -537,6 +537,9 @@ public: bool IsRtdChannel(uint8_t heater) const pre(heater < HEATERS); + bool IsLinearAdcChannel(uint8_t heater) const + pre(heater < HEATERS); + void UpdateConfiguredHeaters(); bool AnyHeaterHot(uint16_t heaters, float t); // called to see if we need to turn on the hot end fan @@ -1158,6 +1161,12 @@ inline bool Platform::IsRtdChannel(uint8_t heater) const && heaterTempChannels[heater] - FirstRtdChannel < MaxSpiTempSensors; } +inline bool Platform::IsLinearAdcChannel(uint8_t heater) const +{ + return heaterTempChannels[heater] >= FirstLinearAdcChannel + && heaterTempChannels[heater] - FirstLinearAdcChannel < MaxSpiTempSensors; +} + inline const uint8_t* Platform::GetIPAddress() const { return ipAddress; diff --git a/src/RepRap.cpp b/src/RepRap.cpp index 5b15e01..e727bf5 100644 --- a/src/RepRap.cpp +++ b/src/RepRap.cpp @@ -489,7 +489,9 @@ void RepRap::Tick() // We can't set motor currents to 0 here because that requires interrupts to be working, and we are in an ISR } - platform->SoftwareReset((uint16_t)SoftwareResetReason::stuckInSpin); + // We now save the stack when we get stuck in a spin loop + register const uint32_t * stackPtr asm ("sp"); + platform->SoftwareReset((uint16_t)SoftwareResetReason::stuckInSpin, stackPtr + 5); } } } diff --git a/src/Version.h b/src/Version.h index 13ef597..d12c031 100644 --- a/src/Version.h +++ b/src/Version.h @@ -9,11 +9,11 @@ #define SRC_VERSION_H_ #ifndef VERSION -# define VERSION "1.19beta4" +# define VERSION "1.19beta5" #endif #ifndef DATE -# define DATE "2017-06-01" +# define DATE "2017-06-04" #endif #define AUTHORS "reprappro, dc42, chrishamm, t3p3, dnewman"