Basic Function works

This commit is contained in:
2022-01-10 00:55:04 +01:00
parent 402535051a
commit bfa4272334
6 changed files with 98 additions and 50 deletions

View File

@@ -1,6 +1,4 @@
#include <Arduino.h>
#include <ESPUI.h>
#include "config.h"
#include "webui.h"
uint16_t tab_lube;
uint16_t tab_wheel;
@@ -21,6 +19,7 @@ uint16_t num_wheel_dist;
uint16_t num_tank_capacity;
uint16_t num_tank_notify;
uint16_t num_dose_per_pulse;
uint16_t label_tankRemain;
uint16_t button_reset_tank;
@@ -51,11 +50,14 @@ void SettingChanged_Callback(Control *sender, int type)
LubeConfig.tankCapacity_ml = ESPUI.getControl(num_tank_capacity)->value.toInt();
else if (sender->id == num_tank_notify)
LubeConfig.TankRemindAtPercentage = ESPUI.getControl(num_tank_notify)->value.toInt();
else if (sender->id == num_dose_per_pulse)
LubeConfig.amountPerDose_µl = ESPUI.getControl(num_dose_per_pulse)->value.toInt();
}
void buttons_Callback(Control *sender, int type)
{
if (type != B_UP) return;
if (type != B_UP)
return;
if (sender->id == button_wheelcalc)
{
@@ -66,19 +68,21 @@ void buttons_Callback(Control *sender, int type)
ESPUI.updateControlValue(num_wheel_dist, String(LubeConfig.DistancePerRevolution_mm));
}
if(sender->id == button_reset_tank)
if (sender->id == button_reset_tank)
{
LubeConfig.tankRemain_µl = LubeConfig.tankCapacity_ml * 1000;
ESPUI.print(label_tankRemain, String(LubeConfig.tankRemain_µl / 1000));
}
if(sender->id == button_purge)
if (sender->id == button_purge)
{
int pulses = ESPUI.getControl(num_purge_pulses)->value.toInt();
Serial.printf("Starting to Purge with %d pulses", pulses);
globals.purgePulses = pulses;
globals.resumeStatus = globals.systemStatus;
globals.systemStatus = sysStat_Purge;
}
if (sender->id == button_store)
{
StoreConfig_EEPROM();
@@ -107,13 +111,14 @@ void initWebUI()
num_wheel_ratio = ESPUI.addControl(ControlType::Number, "Höhe/Breite-Verhältniss", String(LubeConfig.TireWidthHeight_Ratio), ControlColor::Peterriver, tab_wheel, &SettingChanged_Callback);
num_wheel_rim = ESPUI.addControl(ControlType::Number, "Felgendurchmesser (Zoll)", String(LubeConfig.RimDiameter_Inch), ControlColor::Peterriver, tab_wheel, &SettingChanged_Callback);
button_wheelcalc = ESPUI.addControl(ControlType::Button, "Abrollumfang aus Reifendaten berechnen", "Berechnen", ControlColor::Peterriver, tab_wheel, &buttons_Callback);
num_wheel_dist = ESPUI.addControl(ControlType::Number, "Wegstrecke pro Umdrehung (mm)", String(LubeConfig.DistancePerRevolution_mm), ControlColor::Wetasphalt, tab_wheel, &SettingChanged_Callback);
num_wheel_dist = ESPUI.addControl(ControlType::Number, "Wegstrecke pro Radumdrehung (mm)", String(LubeConfig.DistancePerRevolution_mm), ControlColor::Wetasphalt, tab_wheel, &SettingChanged_Callback);
num_wheel_ppr = ESPUI.addControl(ControlType::Number, "Sensorimpulse pro Umdrehung", String(LubeConfig.PulsePerRevolution), ControlColor::Wetasphalt, tab_wheel, &SettingChanged_Callback);
num_tank_capacity = ESPUI.addControl(ControlType::Number, "Tankinhalt maximal (ml)", String(LubeConfig.tankCapacity_ml), ControlColor::Carrot, tab_tank, &SettingChanged_Callback);
num_tank_notify = ESPUI.addControl(ControlType::Number, "Tankinhalt Warnung (%)", String(LubeConfig.TankRemindAtPercentage), ControlColor::Carrot, tab_tank, &SettingChanged_Callback);
num_dose_per_pulse = ESPUI.addControl(ControlType::Number, "Menge pro Pumpenimpuls (µl)", String(LubeConfig.amountPerDose_µl), ControlColor::Carrot, tab_tank, &SettingChanged_Callback);
label_tankRemain = ESPUI.addControl(ControlType::Label, "Tankinhalt verbleibend (ml, geschätzt)",String(LubeConfig.tankRemain_µl / 1000), ControlColor::Alizarin, tab_maintenance);
label_tankRemain = ESPUI.addControl(ControlType::Label, "Tankinhalt verbleibend (ml, geschätzt)", String(LubeConfig.tankRemain_µl / 1000), ControlColor::Alizarin, tab_maintenance);
button_reset_tank = ESPUI.addControl(ControlType::Button, "Tankinhalt zurücksetzen", "Reset", ControlColor::Alizarin, tab_maintenance, &buttons_Callback);
num_purge_pulses = ESPUI.addControl(ControlType::Number, "Entlüftung Impulse", "10", ControlColor::Alizarin, tab_maintenance);
button_purge = ESPUI.addControl(ControlType::Button, "Leitung Entlüften", "Start", ControlColor::Alizarin, tab_maintenance, &buttons_Callback);