Progress towards a better application FSM, testing

This commit is contained in:
2021-09-06 23:18:43 -04:00
parent 983cd1423e
commit 7e59cd49e8
18 changed files with 462 additions and 17 deletions

View File

@@ -0,0 +1,23 @@
#include "Fsm.h"
class ButtonApplication : Fsm {
class ReadConfigValuesState : public State {
public:
ReadConfigValuesState(ButtonApplication &fsm) :
fsm(fsm)
{}
void onEntry() override {
}
void step() override {
}
private:
ButtonApplication &fsm;
} read_config_values_state {*this};
};

View File

@@ -3,9 +3,12 @@
#include <PubSubClient.h>
#include <Wire.h>
#include "ArduinoGpio.h"
#include "config.h"
#include "mqtt.h"
#include "util.h"
#include "DebounceFsm.h"
#include "ArduinoClock.h"
#define BTN_PIN D0
#define RED_LED_PIN 4
@@ -17,6 +20,10 @@
static WiFiClient wifiClient;
static PubSubClient mqttClient;
static ArduinoClock main_clock;
static ArduinoGpioInput button_input(BTN_PIN);
static DebounceFsm button_fsm(main_clock, button_input, 50, true, [](){}, [](){});
void blink(int pin, int times, int onMillis, int offMillis) {
// for (int i = 0; i < times; i++) {
// digitalWrite(pin, HIGH);
@@ -111,6 +118,23 @@ void setup() {
ESP.deepSleep(0, RFMode::RF_NO_CAL);
}
enum ApplicationState {
READ_CONFIG_VALUES,
INIT_WIFI_CONFIG_SERVER,
INIT_WIFI_CLIENT,
INIT_MQTT,
RUN_WIFI_CONFIG_SERVER,
READ_SENSOR,
PUBLISH_MQTT,
SLEEP,
} app_state;
enum SensorState {
INIT_BUS,
REQUESTING_STATUS,
DONE,
} sensor_state;
void loop() {
}

View File