aboutsummaryrefslogtreecommitdiff
path: root/Arduino
diff options
context:
space:
mode:
authorDonald Delmar Davis <don@suspectdevices.com>2017-10-27 14:45:54 -0700
committerDonald Delmar Davis <don@suspectdevices.com>2017-10-27 14:45:54 -0700
commitabfbbae6cfffb7cd74872b724a40ed021354123f (patch)
treeeaaaef550cdc666b34e97573f23d26313ec68c5d /Arduino
parent6e63962d8d4b9c4dfee50c984be35646aea2a133 (diff)
Generalize EMS as much as possible before implementing gpio and proximity sensors.
Diffstat (limited to 'Arduino')
-rwxr-xr-xArduino/ems-light/Clock.h2
-rwxr-xr-xArduino/ems-light/Configuration.h (renamed from Arduino/ems-light/Common.h)45
-rwxr-xr-xArduino/ems-light/Machine.cpp55
-rwxr-xr-xArduino/ems-light/Machine.h5
-rwxr-xr-xArduino/ems-light/Monitor.h23
-rwxr-xr-xArduino/ems-light/SafetyThird.h159
-rwxr-xr-xArduino/ems-light/keywords.h43
-rwxr-xr-xArduino/ems-templates/Heater.h4
-rwxr-xr-xArduino/ems-templates/Pump.h2
-rwxr-xr-xArduino/ems-templates/Thermocouple.h2
10 files changed, 138 insertions, 202 deletions
diff --git a/Arduino/ems-light/Clock.h b/Arduino/ems-light/Clock.h
index 4b28dc3..fae33fe 100755
--- a/Arduino/ems-light/Clock.h
+++ b/Arduino/ems-light/Clock.h
@@ -36,7 +36,7 @@
#ifndef Clock_h
#define Clock_h
-#include "Common.h"
+#include "Configuration.h"
#include "Monitor.h"
#include "TaskScheduler.h"
diff --git a/Arduino/ems-light/Common.h b/Arduino/ems-light/Configuration.h
index 0ef6dcd..5a54e0b 100755
--- a/Arduino/ems-light/Common.h
+++ b/Arduino/ems-light/Configuration.h
@@ -16,33 +16,18 @@
#define FIRMWAREREV "EMS1"
#endif
-#define LAMP_PIN 13
-#define TS1_CS_PIN 19
-#define TS2_CS_PIN 18
-#define PS1_APIN 1
-
-#define POWER_PIN 17
-
-#define E_STOP_PIN 16
-#define E_STOP_PULLED HIGH
-#define E_STOP_OK HIGH
-
-#define OSDD_PIN 5
-#define LIGHT_CURTAIN_OK LOW
-#define CURTAIN_NOT_CLEAR HIGH
-
-#define LAMP_PIN 13
-#define HTR1_PIN 11
-#define HTR2_PIN 12
-#define PUMP_PIN 10
-#define START_PIN 6
-#define OK_TO_START LOW
-#define SOLENOID_PIN 9
-#define RELAY_6_PIN 14
-
-#define K1_PIN 14
-#define KONTACTOR_OFF LOW
-#define KONTACTOR_ON HIGH
+#define SAFETY_LAMP_PIN 13
+//
+// Define E_STOP_PIN to enable estop switch
+//
+//#define E_STOP_PIN x
+#ifndef E_STOP_PULLED
+#define E_STOP_PULLED 1
+#endif
+//
+// Define K1_PIN if konactor is connected to machine
+//
+//#define K1_PIN x
//
#define POST_TIMESTAMP_DELIMETER ','
@@ -60,14 +45,10 @@
#define DEBUG_LEVEL_EEPROM_ADDR ((uint8_t*) 3)
-#define DEFAULT_HEATER_SETPOINT 260.00
-#define DEFAULT_TIMER_SETPOINT 150
-
#define MONITOR_UART Serial
#define MONITOR_BAUD 9600
-//#define LOGGER_UART Serial1
-//#define LOGGER_BAUD 9600
#define FAKE_A_FLOAT(_f) int((_f)), int(abs((_f) - int(_f))*100)
+#endif
diff --git a/Arduino/ems-light/Machine.cpp b/Arduino/ems-light/Machine.cpp
index a6d2337..fb852a8 100755
--- a/Arduino/ems-light/Machine.cpp
+++ b/Arduino/ems-light/Machine.cpp
@@ -1,9 +1,7 @@
#include "Machine.h"
#include "Monitor.h"
-#include "Thermocouple.h"
+#include "Clock.h"
#include "SafetyThird.h"
-#include "Heater.h"
-#include "Pump.h"
const char statenames[][STATENAMELEN]={STATENAMES};
Machine machine;
@@ -20,9 +18,9 @@ void Machine::init(){
inSafeStateToRun=false;
setState(STATE_SELF_TEST_INIT);
safety.init();
- thermocouple.init();
- heater.init();
- pump.init();
+ // thermocouple.init();
+ //heater.init();
+ //pump.init();
if (state() == STATE_SELF_TEST_INIT) {
inSafeStateToRun=true;
setState(STATE_WARM_UP);
@@ -33,9 +31,9 @@ void Machine::init(){
machineTask.set(500L, TASK_FOREVER, &systemInCharge);
machine.todolist.addTask(machineTask);
machineTask.enable();
- monitor.registerAction(_TMR_, &TMR);
- monitor.registerAction(_TMS_, &TMS);
- monitor.registerAction(_TRM_, &TRM);
+ //monitor.registerAction(_TMR_, &TMR);
+ //monitor.registerAction(_TMS_, &TMS);
+ //monitor.registerAction(_TRM_, &TRM);
}
@@ -64,38 +62,15 @@ static void systemInCharge(){
case STATE_SELF_TEST_INIT:break;
case STATE_WARM_UP:
-#ifdef SKIP_WARM_UP
if (ENTERING) {
- monitor.log("-- STARTING_WARMUP -- (TS1=d.%.02d,TS2=d.%.02d"
- ,FAKE_A_FLOAT(thermocouple.getTemp1())
- ,FAKE_A_FLOAT(thermocouple.getTemp2())
- );
- pump.Press();
- heater.setPoint=DEFAULT_HEATER_SETPOINT;
- heater.isOn=true;
- safety.redLed=255;//fix number foo
- }
- if ((thermocouple.getTemp1() >= heater.setPoint)
- ||(thermocouple.getTemp2() >= heater.setPoint)
- ) {
- monitor.log("-- WARMUP COMPLETE -- (TS1=d.%.02d,TS2=d.%.02d"
- ,FAKE_A_FLOAT(thermocouple.getTemp1())
- ,FAKE_A_FLOAT(thermocouple.getTemp2())
- );
- pump.Release();
+ safety.redLightVal=255;//fix number foo
+ } else {
machine.setState(STATE_RUN_MODE);
}
-#else
- machine.setState(STATE_RUN_MODE);
-#endif
break;
case STATE_RUN_MODE:
if (ENTERING) {
- machine.timerIsRunning=false;
- machine.timeRemaining=machine.timerSetting=DEFAULT_TIMER_SETPOINT;
- monitor.update("TMS","%d",machine.timerSetting);
- monitor.update("TRM","%d",machine.timeRemaining);
- lastUpdate=clock.time();
+ lastUpdate=clock.time();
}
time_t delta;
delta=lastUpdate=(clock.time()-lastUpdate);
@@ -111,7 +86,7 @@ static void systemInCharge(){
if ((machine.timeRemaining==0)
&& machine.timerIsRunning
){
- pump.Release();
+ //pump.Release();
machine.timerIsRunning=false;
monitor.log("-- Job finished --");
machine.timeRemaining=machine.timerSetting;
@@ -124,6 +99,12 @@ static void systemInCharge(){
case STATE_SHUTDOWN:
case STATE_POST_FAILURE:
case STATE_E_SHUTDOWN:
+ if (ENTERING) {
+ safety.redLightVal=255;//fix number foo
+ } else {
+ machine.setState(STATE_RUN_MODE);
+ }
+ break;
case STATE_MANUAL_MODE:
case STATE_DIAGNOSTICS_MODE:break;
case STATE_UNKNOWN_STATE:break;
@@ -140,7 +121,7 @@ static void TMR (uint8_t kwIndex, uint8_t verb,char *args) {
bool wasRunning=machine.timerIsRunning;
bool start=machine.timerIsRunning=atoi(args);
if (start) {
- pump.Press();
+ // pump.Press();
monitor.log("-- Job Started --"); //if was notrunning?
} else {
if (wasRunning) {
diff --git a/Arduino/ems-light/Machine.h b/Arduino/ems-light/Machine.h
index 95b4d21..db7c9fd 100755
--- a/Arduino/ems-light/Machine.h
+++ b/Arduino/ems-light/Machine.h
@@ -1,6 +1,6 @@
#ifndef Machine_h
#define Machine_h
-#include "Common.h"
+#include "Configuration.h"
#include "Monitor.h"
#include "TaskScheduler.h"
// This stuff probably belongs in Machine.h
@@ -34,9 +34,6 @@ enum machine_states {
"DIAGNOSTICS MODE\000 ",\
"UNKNOWN\000 "
-#endif // EMS_COMMON_H
-
-
class Machine;
extern Machine machine;
diff --git a/Arduino/ems-light/Monitor.h b/Arduino/ems-light/Monitor.h
index 7841745..940c98c 100755
--- a/Arduino/ems-light/Monitor.h
+++ b/Arduino/ems-light/Monitor.h
@@ -48,10 +48,10 @@
#ifndef Monitor_h
#define Monitor_h
-#include "Common.h"
+#include "Configuration.h"
class Monitor;
extern Monitor monitor;
-
+//#include "Clock.h"
#include "Machine.h"
#include "Adafruit_SleepyDog.h"
#include "Reset.h"
@@ -110,7 +110,6 @@ class Monitor
public:
-// Stream * console;
char * lookupKey(int ndx);
static char *keyword(int ndx);
@@ -162,14 +161,22 @@ class Monitor
}
static void RST(uint8_t kwIndex, uint8_t verb, char *args) {
- monitor.warn("Rebooting!");
- MONITOR_UART.end();
- Watchdog.enable(150);
+ if (verb=='!') {
+ monitor.warn("Rebooting!");
+ MONITOR_UART.end();
+ Watchdog.enable(150);
+ } else {
+ monitor.update("NAK","RST Requires verb!");
+ }
}
static void BLD(uint8_t kwIndex, uint8_t verb, char *args) {
- monitor.warn("Jumping to Bootloader!");
- initiateReset(10);
+ if (verb=='!') {
+ monitor.warn("Jumping to Bootloader!");
+ initiateReset(10);
+ } else {
+ monitor.update("NAK","BLD Requires verb!");
+ }
}
// stubb
diff --git a/Arduino/ems-light/SafetyThird.h b/Arduino/ems-light/SafetyThird.h
index ea3956c..8fa4f13 100755
--- a/Arduino/ems-light/SafetyThird.h
+++ b/Arduino/ems-light/SafetyThird.h
@@ -11,26 +11,26 @@
* Copyright (c) 2016, Donald Delmar Davis, Suspect Devices
* All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
+ * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in thedocumentation
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in thedocumentation
* and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*-----------------------------------------------------------------------------*/
/*
@@ -47,20 +47,13 @@
#define SafetyThird_h
-#include "Common.h"
+#include "Configuration.h"
#include "Monitor.h"
class SafetyThird;
extern SafetyThird safety;
-#if 0
-#define SAFE_STATE_TO_RUN(S) (\
-(S)==STATE_SELF_TEST_INIT\
-||(S)==STATE_WARM_UP||\
-(S)==STATE_NORMAL_OPERATION\
-)
-#else
-#define SAFE_STATE_TO_RUN(S) machine.inSafeStateToRun
-#endif
+#define RED_FULL_ON (255 * (1 << (ANALOG_WRITE_RESOLUTION - 8)))
+#define RED_OFF 0
// preprocessor logic for core specific WDT implimentation here....
#include <Adafruit_SleepyDog.h>
@@ -68,110 +61,84 @@ extern SafetyThird safety;
static void RED (uint8_t kwIndex, uint8_t verb,char *args) ;
class SafetyThird {
-
- private:
+
+private:
bool _eStop;
bool _prevEStop;
- bool _prevLightCurtain;
-
+ // put the contactor variables back here
+ // mebby look at the light curtain as well
Task _doDoRunRun;
- public:
-
- bool _lightCurtain;
- bool _lightCurtainReset;
-
- static void LCS(uint8_t kwIndex, uint8_t verb, char *args) {
- safety.first();
- monitor.update("LCS","%s",safety._lightCurtain?"ON":"OFF");
- }
-
- static void LCR(uint8_t kwIndex, uint8_t verb, char *args) {
- if (verb=='!') {
- safety._lightCurtainReset = (atoi(args));
- digitalWrite(START_PIN,safety._lightCurtainReset);
- }
- safety.first();
- monitor.update("LCR","%s",safety._lightCurtainReset?"ON":"OFF");
- }
+public:
static void run() {safety.first();}
void first () { // could also be called paranoia.
-#ifdef CAN_READ_ESTOP
+
+#ifdef E_STOP_PIN
_eStop = (digitalRead(E_STOP_PIN)==E_STOP_PULLED );
-#else
- _eStop = ! E_STOP_PULLED;
+#else
+ _eStop = false;
#endif
- _lightCurtain = (digitalRead(OSDD_PIN) == CURTAIN_NOT_CLEAR);
- int state = machine.state();
- if ((SAFE_STATE_TO_RUN (state))
- && !(_eStop)
- && !(_lightCurtain)
+ if ((machine.inSafeStateToRun)
+ && (_eStop)
)
{
- if (!_prevEStop){
- monitor.update("STP","0 E-STOP Released: Contactors are ON");
- }
- if (!_prevLightCurtain){
- monitor.update("LCS","1 WORK AREA CLEARED: Contactors are ON");
- }
-
- digitalWrite(K1_PIN,KONTACTOR_ON);
+ monitor.update("STP","1 ESTOP Pushed: Initiating Emergency Stop");
+ machine.setState(STATE_E_SHUTDOWN);
}
- if (_eStop){
- digitalWrite(K1_PIN,KONTACTOR_OFF); // in most cases this would already be done
- if (!_prevEStop){
+ if (_eStop!=_prevEStop) {
+ _eStop = _prevEStop;
+ if (_eStop){
+ // probably should warn or alert!
monitor.update("STP","1 ESTOP Pushed: Contactors are OFF");
- // fatal....
-
- }
- }
- if (_lightCurtain) {
- digitalWrite(K1_PIN,KONTACTOR_OFF); // in most cases this would already be done
- if(!_prevLightCurtain){
-
- monitor.update("LCS","1 WORK AREA NOT CLEAR: Contactors are OFF");
- // safety pause
-
+#ifdef K1_PIN
+ digitalWrite(K1_PIN,KONTACTOR_OFF);
+#endif
+ } else {
+ monitor.update("STP","0 E-STOP Released: Contactors are ON");
+#ifdef K1_PIN
+ digitalWrite(K1_PIN,KONTACTOR_ON);
+#endif
}
}
_prevEStop=_eStop;
- _prevLightCurtain=_lightCurtain;
}
-
- uint8_t redLed; // red led value prolly bad style
+ uint redLightVal; // red led value prolly bad style
+
+ void redLight(int newVal) {
+ if(newVal!=redLightVal) {
+ redLightVal=newVal;
+ monitor.update("RED","%d",redLightVal);
+ }
+#ifdef SAFETY_LAMP_PIN
+ analogWrite(SAFETY_LAMP_PIN, safety.redLightVal * (1 << (ANALOG_WRITE_RESOLUTION - 8) ) );
+#endif
+ }
void init() {
+#ifdef E_STOP_PIN
pinMode (E_STOP_PIN, INPUT_PULLUP);
- pinMode (OSDD_PIN, INPUT_PULLUP);
- pinMode (START_PIN, OUTPUT);
- digitalWrite(START_PIN, OK_TO_START);
- pinMode (K1_PIN, OUTPUT);
- digitalWrite(K1_PIN, KONTACTOR_OFF);
-
- // http://www.arduino.org/learning/reference/analogwriteresolution
- analogWriteResolution(ANALOG_WRITE_RESOLUTION);
- analogWrite(LAMP_PIN, redLed * (1 << (ANALOG_WRITE_RESOLUTION - 8) ) );
+#endif
+ // Might move this to machine or other more generic place.
+ // http://www.arduino.org/learning/reference/analogwriteresolution
+ analogWriteResolution(ANALOG_WRITE_RESOLUTION);
+
+ redLight(redLightVal=RED_OFF);
_doDoRunRun.set(77L, TASK_FOREVER, &run);
machine.todolist.addTask(_doDoRunRun);
_doDoRunRun.enable();
-
+
monitor.registerAction(_RED_, &RED);
- monitor.registerAction(_LCS_, &LCS);
- monitor.registerAction(_LCR_, &LCR);
}
-// bool cleanShutdown(); // let modules know if we are starting normally
-// void everythingOff();
-// void run();
};
-
static void RED (uint8_t kwIndex, uint8_t verb,char *args) {
- safety.redLed = atol(args);
- analogWrite(LAMP_PIN, safety.redLed * (1 << (ANALOG_WRITE_RESOLUTION - 8) ) );
+ // monitor update?
+ safety.redLight(atol(args));
+
}
diff --git a/Arduino/ems-light/keywords.h b/Arduino/ems-light/keywords.h
index 089bf82..1cf39e1 100755
--- a/Arduino/ems-light/keywords.h
+++ b/Arduino/ems-light/keywords.h
@@ -39,7 +39,7 @@
#define keywords_h
-#define HELPTEXT\
+#define HELPTEXT \
"SYN[! ]sync (hello) "\
"ACK[ : ]acknowlege(yes) "\
"NAK[ : ]negative (no) "\
@@ -71,22 +71,22 @@
"AMT[ :?]Ambient Temp "\
"AMH[ :?]Ambient Humidity"\
"PX1[ :?]Proximity Sense "\
-"AD1[ :?]Analog Input 1"\
-"AD2[ :?]Analog Input 2"\
-"AD3[ :?]Analog Input 3"\
-"AD4[ :?]Analog Input 4"\
-"AD5[ :?]Analog Input 5"\
-"AD6[ :?]Analog Input 6"\
-"AD7[ :?]Analog Input 7"\
-"AD8[ :?]Analog Input 8"\
-"DI1[ :?]Digital Input 1"\
-"DI2[ :?]Digital Input 2"\
-"DI3[ :?]Digital Input 3"\
-"DI4[ :?]Digital Input 4"\
-"DI5[ :?]Digital Input 5"\
-"DI6[ :?]Digital Input 6"\
-"DI7[ :?]Digital Input 7"\
-"DI8[ :?]Digital Input 8"\
+"AD1[ :?]Analog Input 1 "\
+"AD2[ :?]Analog Input 2 "\
+"AD3[ :?]Analog Input 3 "\
+"AD4[ :?]Analog Input 4 "\
+"AD5[ :?]Analog Input 5 "\
+"AD6[ :?]Analog Input 6 "\
+"AD7[ :?]Analog Input 7 "\
+"AD8[ :?]Analog Input 8 "\
+"DI1[ :?]Digital Input 1 "\
+"DI2[ :?]Digital Input 2 "\
+"DI3[ :?]Digital Input 3 "\
+"DI4[ :?]Digital Input 4 "\
+"DI5[ :?]Digital Input 5 "\
+"DI6[ :?]Digital Input 6 "\
+"DI7[ :?]Digital Input 7 "\
+"DI8[ :?]Digital Input 8 "\
"DO1[!:?]Digital Output 1"\
"DO2[!:?]Digital Output 2"\
"DO3[!:?]Digital Output 3"\
@@ -95,7 +95,10 @@
"DO6[!:?]Digital Output 6"\
"DO7[!:?]Digital Output 7"\
"DO8[!:?]Digital Output 8"\
-"NOP[!: ]Not implemented"
+"TMS[!:?]Timer Set "\
+"TMR[!:?]Timer Run(ing) "\
+"TRM[!:?]Time Remaining "\
+"NOP[!: ]Not implemented "
#define KEYWORDS \
@@ -103,7 +106,7 @@
"DBG" "LOG" "STC" "DVL" "LVL" "RST" "BLD" "STP" "CMD" "NOW" "TIM" "MLD" "SOD" \
"EOD" "RED" "AMT" "AMH" "PX1" "AD1" "AD2" "AD3" "AD4" "AD5" "AD6" "AD7" "AD8" \
"DI1" "DI2" "DI3" "DI4" "DI5" "DI6" "DI7" "DI8" "DO1" "DO2" "DO3" "DO4" "DO5" \
-"DO6" "DO7" "DO8" "NOP"
+"DO6" "DO7" "DO8" "TMS" "TMR" "TRM" "NOP"
enum keywordIndex {
@@ -111,7 +114,7 @@ _SYN_,_ACK_,_NAK_,_SWV_,_HWV_,_GIT_,_MEM_,_SSN_,_HLP_,_FTL_,_ALT_,_WAR_,_INF_,
_DBG_,_LOG_,_STC_,_DVL_,_LVL_,_RST_,_BLD_,_STP_,_CMD_,_NOW_,_TIM_,_MLD_,_SOD_,
_EOD_,_RED_,_AMT_,_AMH_,_PX1_,_AD1_,_AD2_,_AD3_,_AD4_,_AD5_,_AD6_,_AD7_,_AD8_,
_DI1_,_DI2_,_DI3_,_DI4_,_DI5_,_DI6_,_DI7_,_DI8_,_DO1_,_DO2_,_DO3_,_DO4_,_DO5_,
-_DO6_,_DO7_,_DO8_,_NOP_};
+_DO6_,_DO7_,_DO8_,_TMS_,_TMR_,_TRM_,_NOP_};
// use enum to determine the size of the keyword arrays.
#define NKEYWORDS _NOP_ + 1
diff --git a/Arduino/ems-templates/Heater.h b/Arduino/ems-templates/Heater.h
index a498e27..52e8137 100755
--- a/Arduino/ems-templates/Heater.h
+++ b/Arduino/ems-templates/Heater.h
@@ -6,14 +6,14 @@
#ifndef HEATER_H
#define HEATER_H
-#include "Common.h"
+#include "Configuration.h"
#include "TaskScheduler.h"
#include "Monitor.h"
#include "Machine.h"
#include "Thermocouple.h"
-// move to common.h
+// move to Configuration.h
#define HEATER_OFF 0
#define HEATER_OUT_MAX 255
diff --git a/Arduino/ems-templates/Pump.h b/Arduino/ems-templates/Pump.h
index c8293dd..6a41ed5 100755
--- a/Arduino/ems-templates/Pump.h
+++ b/Arduino/ems-templates/Pump.h
@@ -4,7 +4,7 @@
#ifndef PUMP_H
#define PUMP_H
-#include "Common.h"
+#include "Configuration.h"
#include "TaskScheduler.h"
#include "Monitor.h"
#include "Machine.h"
diff --git a/Arduino/ems-templates/Thermocouple.h b/Arduino/ems-templates/Thermocouple.h
index 13e72a3..368189b 100755
--- a/Arduino/ems-templates/Thermocouple.h
+++ b/Arduino/ems-templates/Thermocouple.h
@@ -12,7 +12,7 @@
#include <SPI.h>
#include "Adafruit_MAX31855.h"
-#include "Common.h"
+#include "Configuration.h"
#include "TaskScheduler.h"
#include "Monitor.h"
#include "Machine.h"