aboutsummaryrefslogtreecommitdiff
path: root/Arduino/ems/Common.h
blob: 51e4f40fec971b364c41bc32d979ca7d985f67e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*------------------------------------------------------------------
 * Common defines for EMS hardware
 */

#ifndef EMS_COMMON_h
#define EMS_COMMON_h

#include <Arduino.h>

#define GIT_VERSION "xxxxxxxxxxxxxxxxx"
#define MAX_PSN_LENGTH 33
//
// reccommend major and minor rev plus build date.
//
#ifndef FIRMWAREREV
#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 POST_TIMESTAMP_DELIMETER ','

// analog write resolution (new for m0s)
#define ANALOG_WRITE_RESOLUTION 8

// tzoffset from localtime (PDT) to GMT (7 hrs) in seconds
#define LOCAL_TZ_OFFSET ( 7L * 3600L )

// non volitile memory addresses go here...... 
#define CLEAN_SHUTDOWN_EEPROM_ADDR ((uint8_t *)0)
#define CLEAN_SHUTDOWN_CODE 0xAA   //unlikely to randomly be in there
#define LOG_LEVEL_EEPROM_ADDR ((uint8_t*) 2)
#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)

// This stuff probably belongs in Machine.h

#define STATENAMELEN 25

enum machine_states {
    STATE_OFF,
    STATE_SELF_TEST_INIT,
    STATE_WARM_UP,
    STATE_RUN_MODE,
    STATE_SHUTDOWN,
    STATE_POST_FAILURE,
    STATE_E_SHUTDOWN,
    STATE_MANUAL_MODE,
    STATE_DIAGNOSTICS_MODE,
    STATE_UNKNOWN_STATE,
};

#define NSTATES (STATE_UNKNOWN_STATE)

#define STATENAMES \
"OFF\000              ",\
"SELF TEST INIT\000   ",\
"WARMUP\000           ",\
"NORMAL OPERATION\000 ",\
"SHUT DOWN\000        ",\
"POST FAILURE\000     ",\
"EMERGENCY STOP\000   ",\
"MANUAL MODE          ",\
"DIAGNOSTICS MODE\000 ",\
"UNKNOWN\000          "

#endif  // EMS_COMMON_H