|
|
|
@ -15,7 +15,7 @@ that's been bundled out into its own FreeRTOS module (using the ESP IDF librarie
|
|
|
|
|
|
|
|
|
|
|
|
#define MOTOR_STATUS_UPDATE_PERIOD_MS 500
|
|
|
|
#define MOTOR_STATUS_UPDATE_PERIOD_MS 500
|
|
|
|
#define WHEEL_STATUS_UPDATE_PERIOD_MS 1000
|
|
|
|
#define WHEEL_STATUS_UPDATE_PERIOD_MS 1000
|
|
|
|
#define BIN_STATUS_UPDATE_PERIOD_MS 3000
|
|
|
|
#define BIN_STATUS_UPDATE_PERIOD_MS 3000 // also includes oil pressure sensor
|
|
|
|
#define PIPE_PRESSURE_UPDATE_PERIOD_MS 2000
|
|
|
|
#define PIPE_PRESSURE_UPDATE_PERIOD_MS 2000
|
|
|
|
#define HEARTBEAT_PERIOD_MS 1000
|
|
|
|
#define HEARTBEAT_PERIOD_MS 1000
|
|
|
|
|
|
|
|
|
|
|
|
@ -47,6 +47,8 @@ void setup() {
|
|
|
|
pinMode(GPIO_BIN2_EMPTY, INPUT);
|
|
|
|
pinMode(GPIO_BIN2_EMPTY, INPUT);
|
|
|
|
pinMode(GPIO_BIN3_EMPTY, INPUT);
|
|
|
|
pinMode(GPIO_BIN3_EMPTY, INPUT);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pinMode(GPIO_OIL_PRESSURE, INPUT);
|
|
|
|
|
|
|
|
|
|
|
|
i2c_comms_setup();
|
|
|
|
i2c_comms_setup();
|
|
|
|
wheel_speed_setup();
|
|
|
|
wheel_speed_setup();
|
|
|
|
bin_level_setup();
|
|
|
|
bin_level_setup();
|
|
|
|
@ -336,6 +338,9 @@ void loop() {
|
|
|
|
|
|
|
|
|
|
|
|
sprintf(msg_buffer, "%lu %d %.2f", now, digitalRead(GPIO_BIN3_EMPTY), get_bin_level(BIN_3));
|
|
|
|
sprintf(msg_buffer, "%lu %d %.2f", now, digitalRead(GPIO_BIN3_EMPTY), get_bin_level(BIN_3));
|
|
|
|
mqtt_client.publish("airseeder/status/bin3", msg_buffer, true);
|
|
|
|
mqtt_client.publish("airseeder/status/bin3", msg_buffer, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sprintf(msg_buffer, "%lu %d", now, digitalRead(GPIO_OIL_PRESSURE));
|
|
|
|
|
|
|
|
mqtt_client.publish("airseeder/status/oilpressure", msg_buffer, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Periodically publish the heartbeat
|
|
|
|
// Periodically publish the heartbeat
|
|
|
|
|