Skip to content
Snippets Groups Projects
icbm.ino 663 B
Newer Older
Cyril Danilevski's avatar
Cyril Danilevski committed
#include "esp32_ethernet.hpp"
Cyril Danilevski's avatar
Cyril Danilevski committed
#include "mpod.hpp"
#include "pins.hpp"
Cyril Danilevski's avatar
Cyril Danilevski committed
#include "rest.hpp"
Cyril Danilevski's avatar
Cyril Danilevski committed

unsigned long start;
extern bool eth_connected;
Cyril Danilevski's avatar
Cyril Danilevski committed
extern SNMP::Manager snmp;
Cyril Danilevski's avatar
Cyril Danilevski committed

void setup() {
    Serial.begin(115200);
    initializeMCP();
Cyril Danilevski's avatar
Cyril Danilevski committed
    initializeNetwork();
    initializeRoutes();
Cyril Danilevski's avatar
Cyril Danilevski committed
    initializeSNMP();
Cyril Danilevski's avatar
Cyril Danilevski committed
    start = millis();

    poll_port_expander();
Cyril Danilevski's avatar
Cyril Danilevski committed
}

enum {
    NONE,
    ON,
    OFF,
};

void serial_loop() {
Cyril Danilevski's avatar
Cyril Danilevski committed
    if (millis() - start >= 1000) {
        start = millis();
        Serial.print(eth_connected ? "." : "-");
Cyril Danilevski's avatar
Cyril Danilevski committed
    }
}

void loop() {
    isr_check_loop();
Cyril Danilevski's avatar
Cyril Danilevski committed
    snmp.loop();
    restServer.handleClient();
    toggle_status_led();
    serial_loop();
Cyril Danilevski's avatar
Cyril Danilevski committed
}