From 151543b84cf2458026c1c28c1f1460edff914335 Mon Sep 17 00:00:00 2001 From: rljonesau Date: Sun, 28 Oct 2018 08:21:35 +1100 Subject: [PATCH] Smart error checking now performed in Arduino code. App Inventor app re-configured to not check these itself any more. The heater frames sent over blue tooth have the new error codes. --- AppInventor/BluetoothHeater.aia | Bin 222052 -> 246501 bytes Arduino/SenderTrial2/Protocol.cpp | 2 +- Arduino/SenderTrial2/Protocol.h | 4 +++- Arduino/SenderTrial2/SenderTrial2.ino | 24 +++++++++++++++++++----- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/AppInventor/BluetoothHeater.aia b/AppInventor/BluetoothHeater.aia index e66d51aa217d9ae6fc37bd00c00ccc21743d3b65..a097ecd35356d54e1bc4cea72014bb71f6521ad7 100644 GIT binary patch delta 58391 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

W8lK5o<8)Y7eyJeXO3DwXrzdv}tHUn&>6O1z_ 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 F{|i+L!hQe% delta 34372 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 diff --git a/Arduino/SenderTrial2/Protocol.cpp b/Arduino/SenderTrial2/Protocol.cpp index 5715f15..1c3f4c3 100644 --- a/Arduino/SenderTrial2/Protocol.cpp +++ b/Arduino/SenderTrial2/Protocol.cpp @@ -248,7 +248,7 @@ CProtocol::Init(int FrameMode) setGlowPlug_Voltage(0); setGlowPlug_Current(0); Heater.ActualPumpFreq = 0; // fuel pump freq.: 0.1Hz / digit - Heater.ErrorCode = 0; // + Heater.StoredErrorCode = 0; // Heater.Unknown1 = 0; // always 0x00 Heater.FixedPumpFreq = 23; // fixed mode frequency set point: 0.1Hz / digit Heater.Unknown2 = 100; // always 0x64 "100 ?" diff --git a/Arduino/SenderTrial2/Protocol.h b/Arduino/SenderTrial2/Protocol.h index ccb8c3c..92232a3 100644 --- a/Arduino/SenderTrial2/Protocol.h +++ b/Arduino/SenderTrial2/Protocol.h @@ -49,7 +49,7 @@ public: unsigned char GlowPlugCurrent_MSB; // 16 bit - big endian MSB unsigned char GlowPlugCurrent_LSB; // 16 bit - big endian LSB : 10mA / digit unsigned char ActualPumpFreq; // fuel pump freq.: 0.1Hz / digit - unsigned char ErrorCode; // + unsigned char StoredErrorCode; // unsigned char Unknown1; // always 0x00 unsigned char FixedPumpFreq; // fixed mode frequency set point: 0.1Hz / digit unsigned char Unknown2; // always 0x64 "100 ?" @@ -121,6 +121,8 @@ public: void setRunState(unsigned char state) { Heater.RunState = state; }; unsigned char getErrState() { return Heater.ErrState; }; void setErrState(unsigned char state) { Heater.ErrState = state; }; + unsigned char getStoredErrCode() { return Heater.StoredErrorCode; }; + void setStoredErrCode(unsigned char state) { Heater.StoredErrorCode = state; }; // short getVoltage_Supply(); void setVoltage_Supply(short voltsx10); diff --git a/Arduino/SenderTrial2/SenderTrial2.ino b/Arduino/SenderTrial2/SenderTrial2.ino index 397c491..44a78da 100644 --- a/Arduino/SenderTrial2/SenderTrial2.ino +++ b/Arduino/SenderTrial2/SenderTrial2.ino @@ -67,6 +67,7 @@ #include "pins.h" #include "NVStorage.h" #include "debugport.h" +#include "SmartError.h" #define DEBUG_BTRX @@ -136,6 +137,7 @@ CProtocol OEMCtrlFrame; // data packet received from heater in response t CProtocol HeaterFrame1; // data packet received from heater in response to OEM controller packet CProtocol HeaterFrame2; // data packet received from heater in response to our packet CProtocol DefaultBTCParams(CProtocol::CtrlMode); // defines the default parameters, used in case of no OEM controller +CSmartError SmartError; long lastRxTime; // used to observe inter character delays bool hasOEMController = false; @@ -152,10 +154,6 @@ void PrepareTxFrame(const CProtocol& basisFrame, CProtocol& TxFrame, bool isBTCm void setup() { - // initialize serial port to interact with the "blue wire" - // 25000 baud, Tx and Rx channels of Chinese heater comms interface: - // Tx/Rx data to/from heater, - // Note special baud rate for Chinese heater controllers pinMode(Tx2Pin, OUTPUT); digitalWrite(Tx2Pin, HIGH); pinMode(Rx2Pin, INPUT_PULLUP); @@ -163,6 +161,10 @@ void setup() pinMode(KeyPin, OUTPUT); digitalWrite(KeyPin, LOW); + // initialize serial port to interact with the "blue wire" + // 25000 baud, Tx and Rx channels of Chinese heater comms interface: + // Tx/Rx data to/from heater, + // Note special baud rate for Chinese heater controllers #if defined(__arm__) || defined(__AVR__) BlueWireSerial.begin(25000); pinMode(Rx1Pin, INPUT_PULLUP); // required for MUX to work properly @@ -181,7 +183,7 @@ void setup() TxManage.begin(); // ensure Tx enable pin is setup - // define defaults should heater controller be missing + // define defaults should OEM controller be missing DefaultBTCParams.setTemperature_Desired(23); DefaultBTCParams.setTemperature_Actual(22); DefaultBTCParams.Controller.OperatingVoltage = 120; @@ -310,6 +312,11 @@ void loop() else if(CommState.is(CommStates::HeaterReport1) ) { // received heater frame (after controller message), report + + // do some monitoring of the heater state variable + // if suspicious transitions, introduce a smart error! + SmartError.monitor(HeaterFrame1); + // echo heater reponse data to Bluetooth client Bluetooth_SendFrame("[HTR]", HeaterFrame1); @@ -343,6 +350,11 @@ void loop() else if( CommState.is(CommStates::HeaterReport2) ) { // received heater frame (after our control message), report + + // do some monitoring of the heater state variable + // if suspicious transitions, introduce a smart error! + SmartError.monitor(HeaterFrame2); + delay(5); if(!hasOEMController) { // only convey these frames to Bluetooth when NOT using an OEM controller! @@ -391,10 +403,12 @@ void Command_Interpret(const char* pLine) if(strncmp(pLine, "ON", 2) == 0) { TxManage.queueOnRequest(); DebugPort.println("Heater ON"); + SmartError.reset(); } else if(strncmp(pLine, "OFF", 3) == 0) { TxManage.queueOffRequest(); DebugPort.println("Heater OFF"); + SmartError.inhibit(); } else if(strncmp(pLine, "Pmin", 4) == 0) { pLine += 4;