#include <ReservoirExtension.cpp>
#include <MessageBus.cpp>
#include <LightsExtension.cpp>
#include <Context.h>
#include <RelaysExtension.cpp>
#include <InputExtension.cpp>
#include "LCDDisplay.cpp"
//#include "MuxController.cpp"
#include "MuxController.h"
Context ctx;
//MuxController* mux = new MuxController();
ReservoirExtension reservoirExtension(ctx);
LightsExtension lightExtension(ctx);
RelaysExtension relayExtension(ctx);
InputExtension inputExtension(ctx);
LCDDisplay display(ctx);
void setup() {
// Set the comm rate
Serial.begin(115200);
//ctx.mux.addMux(1, 3, 10, 38, 39, 2, 36);
MuxController* mux = ctx.getMux();
mux->addMux(1, 3, 10, 38, 39, 2, 36);
mux->addMux(2, 3, 10, 38, 39, 2, 15);
// Default status
ctx.set(ContextConstants::MODE, ContextConstants::NORMAL);
ctx.set(ContextConstants::FLOW_SENSORS_ENABLED, ContextConstants::FALSE);
// Setup extensions
reservoirExtension.setup();
lightExtension.setup();
relayExtension.setup();
inputExtension.setup();
Wire.begin(37, 4); // SDA, SCL
display.setup();
ctx.set("STATUS", "Sistema|JD v1.0 (IK)");
display.printFromContext("STATUS");
}
void loop() {
reservoirExtension.loop();
lightExtension.loop();
relayExtension.loop();
inputExtension.loop();
display.loop();
/*
ctx.setMessage("CISTERNA", "WATERLEVEL", "Cisterna level:|" + String(52.5) + "%");
ctx.setMessage("PROC_WATER", "WATERLEVEL", "Proc level:|45.2%");
ctx.setMessage("OSMOSIS", "STATUS", "Osmosis system:|Running");
*/
//mux.writeDigital(115, HIGH);
delay(10);
}
RS1 Level Alert
RS1 Level
Audio Alert
Maint
Clean Proc Water
CISTERNA
CRUDE_WATER
PROC_WATER
Bomb Cisterna->Ag. Crud.
TO_CRUD_WATER_PUMP
Bomb Ag. Crud.->Ag. Proc.
TO_OSMOSIS_WATER_PUMP
Bomb Ag. Proc.->Osmosis
TO_PROC_WATER_PUMP
Osmosis
OSMOSIS_EQUIPMENT
Flow Sensors
Run dry Tolerance
FILTER_MAINTENANCE_
BUTTON
EMERGENCY_BUTTON
SILENCE_ALARM_
BUTTON
BUFFER
CLEAN_PROCESS_WATER_
RESERVES_BUTTON
TO_CRUDE_WATER_PUMP_LIGHT
TO_PROC_WATER_PUMP_LIGHT
SYSTEM_RESET_
BUTTON
Loading
cd74hc4067
cd74hc4067
Loading
cd74hc4067
cd74hc4067
Loading
cd74hc4067
cd74hc4067
MAINTENANCE
CLEANUP_LIGHT
TO_CRUDE_WATER_PUMP_LIGHT
TO_PROC_WATER_PUMP_LIGHT
TO_OSMOSIS_PUMP_LIGHT
ALERT