diff --git a/Config.h b/Config.h index d680bbc..f81a610 100644 --- a/Config.h +++ b/Config.h @@ -30,7 +30,6 @@ #define CO2_PURGE_RETRACTION_PERIOD 500 #define FILL_SENSORS_TIMER_FREQUENCY 100000 // 100ms This value needs to be defined in microseconds. #define FILL_SENSORS_TRIGGER 400 // Int between 0 and 1023 used to trigger the fill sensor: operating voltage(5v or 3.3v) / 1024 - /** * Feature flags */ diff --git a/InputConfig.h b/InputConfig.h index 7631c4f..f2bf6af 100644 --- a/InputConfig.h +++ b/InputConfig.h @@ -23,13 +23,9 @@ /** * Pin definitions */ +const int BEER_INLET_SOL[] = {5, 6, 7}; //Pin numbers of the inlet solenoids +const byte BEER_FILL_SENSOR[] = {A0, A1, A2}; //Pin numbers of the fill sensors #define START_BUTTON 8 -#define BEER_INLET_SOL_1 5 -#define BEER_INLET_SOL_2 6 -#define BEER_INLET_SOL_3 7 -#define BEER_FILL_SENSOR_1 A0 -#define BEER_FILL_SENSOR_2 A1 -#define BEER_FILL_SENSOR_3 A2 #define CO2_PURGE_SOL 4 #define FILL_RAIL_SOL 3 #define BEER_BELT_SOL 2 diff --git a/OpenBeerFiller.ino b/OpenBeerFiller.ino index a0b45af..b3528ad 100644 --- a/OpenBeerFiller.ino +++ b/OpenBeerFiller.ino @@ -35,13 +35,11 @@ * ******************************* VARIABLES ********************************* * *************************************************************************** */ -volatile bool fillSensor1Triggered = false; -volatile bool fillSensor2Triggered = false; -volatile bool fillSensor3Triggered = false; +bool triggerState[9]; // Maximum number of fillers bool idleMessageDisplayed = false; enum ProgramState {UNDEF,IDLE,START,FILLING,STOP}; ProgramState currentState = UNDEF; - +int numberFillers; /** * *************************************************************************** * ******************************** FUNCTIONS ******************************** @@ -49,9 +47,9 @@ ProgramState currentState = UNDEF; */ void setupPins() { // Filler solenoids. - pinMode(BEER_INLET_SOL_1, OUTPUT); - pinMode(BEER_INLET_SOL_2, OUTPUT); - pinMode(BEER_INLET_SOL_3, OUTPUT); + for(int i=0; i