From 4b9ebeaa404cc34c14dba5ae85d30974203cd418 Mon Sep 17 00:00:00 2001 From: Yurii Date: Thu, 16 Nov 2023 10:34:25 +0300 Subject: [PATCH] fix types --- .../WiFiManagerParameters.h | 11 ++++++++ src/Settings.h | 2 +- src/WifiManagerTask.h | 28 +++++++++---------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/lib/WiFiManagerParameters/WiFiManagerParameters.h b/lib/WiFiManagerParameters/WiFiManagerParameters.h index 2208cab..5346d9b 100644 --- a/lib/WiFiManagerParameters/WiFiManagerParameters.h +++ b/lib/WiFiManagerParameters/WiFiManagerParameters.h @@ -9,6 +9,17 @@ public: } }; +class UnsignedIntParameter : public WiFiManagerParameter { +public: + UnsignedIntParameter(const char* id, const char* label, unsigned int value, const uint8_t length = 10) : WiFiManagerParameter("") { + init(id, label, String(value).c_str(), length, "", WFM_LABEL_DEFAULT); + } + + unsigned int getValue() { + return (unsigned int) atoi(WiFiManagerParameter::getValue()); + } +}; + class CheckboxParameter : public WiFiManagerParameter { public: const char* checked = "type=\"checkbox\" checked"; diff --git a/src/Settings.h b/src/Settings.h index 12da380..72df3b4 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -11,7 +11,7 @@ struct Settings { struct { char server[80]; - int port = 1883; + unsigned int port = 1883; char user[32]; char password[32]; char prefix[80] = "opentherm"; diff --git a/src/WifiManagerTask.h b/src/WifiManagerTask.h index 9eaaa09..f6b879a 100644 --- a/src/WifiManagerTask.h +++ b/src/WifiManagerTask.h @@ -7,17 +7,17 @@ WiFiManager wm; WiFiManagerParameter* wmHostname; WiFiManagerParameter* wmMqttServer; -IntParameter* wmMqttPort; +UnsignedIntParameter* wmMqttPort; WiFiManagerParameter* wmMqttUser; WiFiManagerParameter* wmMqttPassword; WiFiManagerParameter* wmMqttPrefix; -IntParameter* wmMqttPublishInterval; -IntParameter* wmOtInPin; -IntParameter* wmOtOutPin; -IntParameter* wmOtMemberIdCode; +UnsignedIntParameter* wmMqttPublishInterval; +UnsignedIntParameter* wmOtInPin; +UnsignedIntParameter* wmOtOutPin; +UnsignedIntParameter* wmOtMemberIdCode; CheckboxParameter* wmOtDHWPresent; -IntParameter* wmOutdoorSensorPin; -IntParameter* wmIndoorSensorPin; +UnsignedIntParameter* wmOutdoorSensorPin; +UnsignedIntParameter* wmIndoorSensorPin; SeparatorParameter* wmSep1; SeparatorParameter* wmSep2; @@ -61,7 +61,7 @@ protected: wmMqttServer = new WiFiManagerParameter("mqtt_server", "MQTT server", settings.mqtt.server, 80); wm.addParameter(wmMqttServer); - wmMqttPort = new IntParameter("mqtt_port", "MQTT port", settings.mqtt.port, 6); + wmMqttPort = new UnsignedIntParameter("mqtt_port", "MQTT port", settings.mqtt.port, 6); wm.addParameter(wmMqttPort); wmMqttUser = new WiFiManagerParameter("mqtt_user", "MQTT username", settings.mqtt.user, 32); @@ -73,19 +73,19 @@ protected: wmMqttPrefix = new WiFiManagerParameter("mqtt_prefix", "MQTT prefix", settings.mqtt.prefix, 32); wm.addParameter(wmMqttPrefix); - wmMqttPublishInterval = new IntParameter("mqtt_publish_interval", "MQTT publish interval", settings.mqtt.interval, 5); + wmMqttPublishInterval = new UnsignedIntParameter("mqtt_publish_interval", "MQTT publish interval", settings.mqtt.interval, 5); wm.addParameter(wmMqttPublishInterval); wmSep1 = new SeparatorParameter(); wm.addParameter(wmSep1); - wmOtInPin = new IntParameter("ot_in_pin", "Opentherm pin IN", settings.opentherm.inPin, 2); + wmOtInPin = new UnsignedIntParameter("ot_in_pin", "Opentherm pin IN", settings.opentherm.inPin, 2); wm.addParameter(wmOtInPin); - wmOtOutPin = new IntParameter("ot_out_pin", "Opentherm pin OUT", settings.opentherm.outPin, 2); + wmOtOutPin = new UnsignedIntParameter("ot_out_pin", "Opentherm pin OUT", settings.opentherm.outPin, 2); wm.addParameter(wmOtOutPin); - wmOtMemberIdCode = new IntParameter("ot_member_id_code", "Opentherm member id", settings.opentherm.memberIdCode, 5); + wmOtMemberIdCode = new UnsignedIntParameter("ot_member_id_code", "Opentherm member id", settings.opentherm.memberIdCode, 5); wm.addParameter(wmOtMemberIdCode); wmOtDHWPresent = new CheckboxParameter("ot_dhw_present", "Opentherm DHW present", settings.opentherm.dhwPresent); @@ -94,10 +94,10 @@ protected: wmSep2 = new SeparatorParameter(); wm.addParameter(wmSep2); - wmOutdoorSensorPin = new IntParameter("outdoor_sensor_pin", "Outdoor sensor pin", settings.sensors.outdoor.pin, 2); + wmOutdoorSensorPin = new UnsignedIntParameter("outdoor_sensor_pin", "Outdoor sensor pin", settings.sensors.outdoor.pin, 2); wm.addParameter(wmOutdoorSensorPin); - wmIndoorSensorPin = new IntParameter("indoor_sensor_pin", "Indoor sensor pin", settings.sensors.indoor.pin, 2); + wmIndoorSensorPin = new UnsignedIntParameter("indoor_sensor_pin", "Indoor sensor pin", settings.sensors.indoor.pin, 2); wm.addParameter(wmIndoorSensorPin); //wm.setCleanConnect(true);