Files
teleinsektarij/src/teleinsektarij.ino
Eden Kirin a83cc44bf8 Initial
2025-05-19 10:12:53 +02:00

85 lines
1.8 KiB
C++

#include "hw.h"
#include "comm.h"
#include "measure.h"
#include "dht_measure.h"
#include "defs.h"
#include "disp.h"
unsigned long timestamp_blink = 0;
unsigned long timestamp_http_request = 0;
unsigned long timestamp_ds_measure = 0;
unsigned long timestamp_dht_measure = 0;
bool first_loop = true;
//---------------------------------------------------------------------------------------
void setup()
{
init_hw();
#ifdef SERIAL_DEBUG
Serial.begin(SERIAL_BAUD_RATE);
Serial.setDebugOutput(true);
#endif
init_comm();
init_measure();
init_disp();
first_loop = true;
}
//---------------------------------------------------------------------------------------
void loop()
{
unsigned long current_millis = millis();
// connect WiFi
connect_comm();
if (first_loop)
{
// don't allow sending data to server in the first loop
timestamp_http_request = current_millis;
first_loop = false;
}
// indicate program run
if (current_millis - timestamp_blink > SIGNAL_LED_BLINK_INTERVAL)
{
blink_led(LED_BLUE, 50);
delay(50);
blink_led(LED_BLUE, 50);
timestamp_blink = current_millis;
}
if (current_millis - timestamp_ds_measure > DS_MEASURE_INTERVAL)
{
measure_next_sensor();
timestamp_ds_measure = current_millis;
}
if (current_millis - timestamp_dht_measure > DHT_MEASURE_INTERVAL)
{
dht_read_next_sensor();
timestamp_dht_measure = current_millis;
}
// post data to server
if (comm_is_connected() && current_millis - timestamp_http_request > SEND_DATA_TO_SERVER_INTERVAL)
{
post_data_to_server();
timestamp_http_request = current_millis;
}
handle_disp();
}
//---------------------------------------------------------------------------------------