19-Jan-2022
We are gearing up for the next release, v126. Over the next week or two I will begin archiving the current 125 versions.
v126 also comes with an updated Windows and Linux apps that are required for firmware 126. There are a number of changes, bug fixes, new features and enhancements.
Regards
Robert
❤️
3
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
11-Feb-2022
There have been some unexpected issues (or issue) associated with release 127.
I hope to resolve this as quickly as I can. If I cannot, then it is likely that release 127 will still go ahead with the caveat that 1 particular thing does not work.
So having said that, when the new firmware and apps are posted, then the updgrade process will follow the same as before
- use control panel to remove all current apps for this project
- program the firmware, upload, and also upload data sketch files (as they are all changed)
- install the new apps.
The new apps will not work with older firmware.
Regards
Robert
👍
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
14-Feb-2022
I have upload PDF 127-04, and the protocol document revision 26.
This may give you a heads up to look at the new PDF to see all the changes that have taken place since firmware release 125-63
Below is a list of all the firmware changes that have taken place since then.
Apologies it has taken so long in arriving. But I wished to wait till the RTC, NTP and GPS code was working and integrated into main code and task timer,
127-04
Add cold and warm start to GPS
Add name tags for Wind speed and direction device types
Add mDNS name as controller setting on /admin1 (change without reprogramming)
Add Fix type to GPS (/g1 and /admin2)
Clean up init code for all sensors
127-03
Rewrite gps code to use polled NMEA message types
Integrate gps code into task timer
Add error_msg and init_msg types to all sensors and devices (see mydefines.h)
// Fix for some windspeed/winddirection sensors not starting correctly (due to error in setup of tasktimer)
127-02
Change gps altitude to float (but will report as type int to Windows/Linux applications)
Change admin page layout - rename options as gps and move options to another page
Add isDST, isEnabled, Altitude, Satellites to /admin2 page for GPS
Move LocalDateTimeSource to options /admin3 pg
Remove reference to EMULATESQMMETER
Fix isDST on /admin5 showing wrong state when NTP is not enabled
Fix ntp timezone reference /admin6
Fix for windchill factor not returning an error if temp/windspeed exceed limits (Paul)
Fix for incorrect month shown in GPS code related to local time (Paul)
Fix error in setup() handling return val from init_ntpclient()
Fix tempbuff error in main file when using subscribe for mqtt
Fix error for gps date/time in usermqttcode.h
Fix error in rtc date/time in usermqttcode.h
Fix for local date time source reverting to RTC
Fix for GPS altitude using incorrect value
Fix error in mqtt subscribe topic showing null value
126-05
Major rewrite of GPS code
Add error logging to serial port
Fix for /admin5 iSDST not displaying correct state (order is NTP, then GPS, not applicable to RTC)
Fix for /admin2, GPS UTC/LOC date-time not showing
Fix error in rtc.h set_rtc_date_time, t_loc not declared
Fix error in mqttclient.h for rtc date/time
Fix error in displays.h pg9, for rtc date/time
126-04
Add GPS UTC/LOC Date/Time fields to /admin2 web page
Fix for GPS code
126-03
Add isDST to NTP web page, gives indication if current date time is in the DST
Complete code for GPS UTC and LOC time
126-02
Fix for NZ_PTR string not showing if NTP was not enabled
Fix issue of sync rtc to ntp when rtc is set to ESP32
Fix issue of Date/Time fields on /admin8 not showing when using ESP32RTC in Accesspoint mode
Fix issue of Date/Time fields on /admin8 not showing when using ESP32RTC in Stationpoint mode and NTP is disabled
Fix issue of Date/Time fields on /admin8 showing garbage when using ESP32RTC in Stationpoint mode and NTP is disabled
Fix issue of ntpclient() returning sucess when parts of that code fail
Add controllermode, rtcds1307found, rtcesp32found
Rewrite rtc code and some ntp code
setup/init of rtc
add checks around set
improve code error checks
Move debug info into pages
Create defines for ACCESSPOINTMODE and STATIONPOINTMODE (mydefines.h)
Add CONTROLLERMODE setting for ACCESSPOINT AND STATIONMODE (controllerconfig.h)
Create mysqmplusmode, set value to CONTROLLERMODE (mysqmplus-126-02.ino)
Import mysqmplusmode into files that need to determine controller mode
Change init_ntpclient() to return int values which indicate what step failed
Change function calls parameters in rtc.h (most were unnecessary)
Update ntp, rtc, comms and webserver code when handling local time (rtc_loc)
/admin5 ntp code
Update webserver code
/admin8 rtc code
Add DATE TIME
Display date/time fields using 2 digits, leading 0
Fix layout error of NTP Update Interval (min)
Update webserver code
/admin11
Improve code in /admin11 /display.h webserver.h for detecting controller mode
126-01
Move debug definitions into each page
Fix for bme280altitude compiler error when BME280SENSOR was defined
Fix for bme280altitude not being remembered following a restart/reboot
Fix for System Up Time not showing on some admin pages
126-00
Add Paul's code for NTP/RTC/GPS
Add ntp_last_update which hold time of last ntp update, /admin5
Add ntp_last_update to UpdateNTP(), in State_NTP_update
Add ntp_last_update to /admin5 v125-68
Fix incorrect logging messages in ntp.h
Fix for calculation of wind chill factor provided by Paul, 09-Jan-2022
125-67
Add ntp update interval, value stored in mySetupData, changed via /admin5, 15m to 180m (3hr)
Add updating of ntp to task timer, expand machine_state in loop() to check ntp_update
Add Paul's NTP code
125-66
Add sensorID check for bme280 sensor
Add gps utc to gps loc date-time based on value of timezone values
Fix for error in calculation of rainfall (rainfall.h)
125-65
Add file download to web server
Add additional information to /admin11 web page
Change button text descriptors on all /admin pages to reflect what they control
Change mqttuser code to match recent changes in main mqtt code
Rewrite gps code related to generation and use of gps_utc and gps_loc and date-time strings (gps.h)
Rewrite rtc code related to generation and use of rtc_loc, rtc_loc_date and rtc_loc_time (rtc.h)
Rewrite ntp code related to generation and use of ntp_utc and ntp_loc and date-time strings (ntp.h)
Rewrites triggered code changes in comms.h, displays.h, mqtt.h, usermqtt.h, webserver.h)
Fix error get gpsdate and getgpstime in comms.h (returning rtc values instead of gps values)
Fix error in publish MQTT, time was not updating
Fix error for DF-ROBOT anenometer (incorrect spelling DFROBOTMULTIPLIERV3V)
Fix error TSL2591 debug not working
Fix error duplicate code for RTC in /admin11
Fix error for some sensors not showing "disabled in firmware" in /admin11
Fix error nelm not loaded on home page after a controller reboot
125-64
Deprecated LOCALSERIAL
Deprecated SQMSUPPORT
Deprecated EMULATESQMMETER
Remove BME280ALTITUDE
Remove espqueue.h (no longer needed)
Change rtcpresent to rtcfound (now consistent usage for all sensors)
Change json name in web-server home page to bme280alt (was bme280altitude)
Change reserved page sizes in webserver.h and mqttclient.h due to additional values
Add bme280alt as an estimated altitude calculated based on presure reading
Add RTC to list of services in /admin11
Fix admin header number on /admin11
Fix for %HSL% on index.html page
Fix for firmware version, heap and system uptime not showing on /admin11
👍
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
21 Feb 2022
This announces the official release of 127. With gratefut thanks to the contributors of code and ideas, I first acknowledge the immense help and support of the test team and authors
Andrew
Carlos
Gintautas
Graham
Mafassca
Paul
Pete
Tommy
Mafassca
This release is a significant update. Major rewrites and improvements of the GPS, NTP and RTC code was accomplished in this release.
In addition, the new task timer has helped to improve response times and scheduling of competing tasks.
The existing applications should work with this release. The Windows app and Linux app next releases will take advantage of the new features of firmware release 127+
When programming your controller with the new firmware, please make sure you also upload the data sketch files as these have changed
02-Feb-2022
Firmware update 127-07 released
Bug fixes
127-07
Fix for undefined errors windspdname, winddirname, counters/flags/Mux vars in tasktimer.h
127-06
Fix for wind speed sensor compiler error
127-05
Add GPS Positional fix information for each NMEA message type
Add GPS boot mode, Hot, Warm, Cold on /admin2 web page
Add GPS init code to manage start of GPS unit
Add GPS retry command when gps no response occurs
Add firmware call (76) to return wind speed and direction sensor names
Add firmware call (52) to return service indicators
Add firmware call (93) to return all GP Position fix indicators
Change compilation errror dependancy messages to better explain what is required
Change firmware call (12) to return gps altitude as a float value
Change protocol of return values in firmware calls - leading char identifier is dropped
Change setup_task_timer name to init_task_timer (tasktimer.h)
Change refresh rate of TSL2591 sensor from 5s to 3s
Correction, global change from "tls2591" and "tlscorrectionfactor" to "tsl2591" and "tslcorrectionfactor"
Improve code in rainbucket.h for use of update flags used with task timer
Improve code in rainfall.h for use of update flags used with task timer
Improve code in rainsensor.h for use of update flags used with task timer
Improve code in tsl2591sensor.h for use of update flags used with task timer
Remove compilation check for LOCALTIME in controllerconfig.h (deprecated)
Remove Fix type, replace with detailed Positional Fix information
Replace firmware calls (51-57) with one call (51) that returns all k1-k7 values
Replace firmware calls (61-67) with one call (61) that sets all k1-k7 values
Rewrite controller config file handling code (mysetupdata.cpp)
Rewrite mqtt init, startclient, reconnect code, ensure that subsribe is handled correctly
Rewrite mqtt subscribe code, create high level handler, use subscribe callback to signal higher level code
Fix for rainfall.h using deprecated rtc code. Add requirement check for RTC dependancy
Fix error in define of init_msg_print (mydefines.h)
Fix error in calculation of cntlr_config.jsn file (mysetupdata.cpp)
Fix error in firmware call (37) and (38) setting gain and time for TSL2591 sensor
Fix compilation error for BME280 sensor 'FOUNDSTR' was not declared
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
128-35RC1
Add /cmds to Web Server (lists commands that the webserver supports)
Add averaging and sample size to /tsl json response from Web Server
Add Watchdog Timer
Add runtime debug code
Add checkboxes to set display page options on /admin4 of Management Server
Change /tlscf call in web server to /tsl and add averaging and samplesize to JSON response
Fix CRITICAL for /download causing non-response
Fix incorrect debug messages /admin8
Fix incorrect debug messages /admin11
Fix for calculating rain totals (rain values start at 9am each day - previous totals where from 11:59pm)
128-35
Fix for Management Server /admin6 NTP showing NTP as connected when NTP is not connected
128-34
changed json calls /mqtt and /ntp on webserver
GENERAL 128 CODE BASE (128-00 to 128-33)
Change layout of controllerconfig.h file
Change SQM conversion formula 0.4 -> 0.45 for more realistic sqm value
Create new /defines folder and move variable settings from controllerconfig.h file to separate files in the /defines folder
Add new rssi and heapmsg functions
Add helper function set_date_time_strings() and use in classes that generate date/time strings
Add port checking for services in Management, TCPIP and Web servers
Add checks for Management Server/Web Server/TCPIP Server loop code
Change Management Server/Web Server/TCPIP Server Start code to allow restarting with a different port number
Change mylatitude and mylongitude to char[]
Change majority of strings to char[]
Change to new protocol 031, update TCP/IP server code
Remove dependancy of Webserver for JSONSUPPORT
Remove obsolete/redundant debugging statements
Remove checkip
Fix for compilation warnings about un-initialised variables (gps, rtc)
Fix error in debug print for Weather Underground
Fix undefined reference in rainfall.h (when EXTERNALRAINFALL is enabled)
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix error in calculation of previous days rainfall (rainbucket.h)
Fix for /download creating a null file when the file is not found
Fix error in copy_tm_struct() - month was incorrectly being set
CLASSES
Create classes for all sensors (TSL2591, BME280, MLX90614, RAIN, GPS)
Create classes for all services/servers (DISPLAY, TCP/IP, NTP, MQTT, mDNS, RTC, Weather Underground, Webserver)
Add helper functions for all classes so that #defines can be minimised
TASK TIMER
Change to tasktimer, using unsigned int for max count values related to MQTT and NTP
Fix task timer errors when using longer delay times
CONTROLLER DATA CLASS
Rename mysqmsetupdata files as ControllerData and rename class to ControllerData
Add GPS format (DD/DMS)
Add Management Server port number
Add MQTT Authentication (enable/disable, name, password)
Add MQTT keepalive
Add MQTT Subscribe enable/disable
Add TSL2591 Averaging enable/disable
Add TSL2591 Sample size
Remove GPS boot mode
Remove mDNS name
Remove SYNC RTC to NTP Interval time
DISPLAY CLASS
Change order of display screens
Remove #if statements
Fix for display page time being truncated
Fix for page display string not updating correctly when less than 9 digits
GPS CLASS
Add DD and DMS gps formats (Decimal and Degree Minutes Seconds)
Add Static GPS class to handle static values for myLatitude and myLongitude
Add new code to handle static gps values, including truncate and DD and DMS formats
Generate truncated geo-location values in code that parses NMEA messages
Change gps updates to 2s polls
Checking for GPS update moved into main state machine and now controlled via the task timer
Rewrite gps latitude and longitude decode routines
Rewrite truncate routines to cover new latitude and longitude formats
Fix Critical for gps not displaying latitude and longitude for negative degrees ('S' and 'E')
Fix for GPS var gll_position_mode_indicator returning null
Fix for GPS not working with longer task times
Fix for GPS not recovering from no response or invalid responses
Fix for latitude and longitude not updating after a change in truncate/static state from Management Server
MANAGEMENT SERVER CLASS
Add new Management Server
Add authentication to Management server and all admin files
Add MQTT start stop to Management Server /admin7 MQTT page
Add GPS format choice (DD or DMS) to Management Server GPS page /admin2
Add raw GPS geo-location values to GPS page /admin2
Add Webserver management to /admin1 (start, stop, change port)
Deprecate RECEIVEMQTTCOMMANDS - Move to Management Server
Move all admin functions from Web server to Management server
Move ElegantOTA from Web server to Management server
Remove mDNS from Management Server System page - mDNS deprecated
Rewrite file not found method
Fix for controller reboot not redirecting and loading page after a controller reboot
Fix for /admin9 code to set RTC, simplify
mDNS CLASS
Delete mDNS Service [deprecated]
MQTT CLASS
Add mutex around the use of mqtt_subscribemsg_flag
Add keepalive (15-180s)
Add MQTT subscribe enable to Managment and TCPIP servers
Add MQTT authentication (enable, disable, name, password to ControllerData and on /ad
Deprecate MQTT RECEIVEMQTTCOMMANDS from controllerconfig.h
Implement range check for MQTT Publish interval (now in seconds, 60-1800, default 60)
Remove duplicated (and orphaned) code for reconnecting to MQTT broker
Tidy text descriptions /admin6
Fix for MQTT connect authentification error
Fix for MQTT reconnection issue
Fix for JSON message - Firmware was changed to string type
NTP CLASS
Implement range check for NTP Update interval (now in minutes, 10-60, default 30)
Remove redundant code from NTP Client
Fix for NTP last update displaying incorrect values
Fix for updateNTP not working
Fix for NTP reconnect not working
Fix errors in NTP when using ESP32RTC with NTP Enabled
RTC CLASS
Deprecate SyncRTCtoNTP Interval Time (sync RTC to NTP is done at same time as updateNTP)
Fix error in RTCESP32 when NTP is disabled
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix in /admin9 code to set RTC, simplify
Fix errors in RTC/NTP when using ESP32RTC with NTP Enabled
TCPIP SERVER CLASS
Delete comms.h file and migrate to new TCPIP Server class
Add multiple connections (up to 4) to TCPIP server class
Add calls to TCPIP server to Start/Stop Management Server, and return Management Server state
Add get NTPClientstate to TCPIP server
Add NTP update interval get/set to TCPIP server
Add MQTT start stop to TCPIP server
Rewrite code handling based in new protocol 031
Fix for ntp update always starting with default 30m
TSL2591 CLASS
Improvements to TSL2591 sensor code
Add averaging and sample size to TSL2591 code
Add settings control for TSL2591 in Management Server
Add TSL2591 Sample Size Get/Set helpers to controllerdata, Management and TCPIP Servers
Add TSL2591 Averaging Get/Set helpers to controllerdata, Management and TCPIP Servers
Fix for TSL2591 sensor code (occassionally gain and integration time were not set correctly)
Fix for sample size and averaging not in sync with controller values
WEB SERVER CLASS
Delete webserver.h file and replace with new sqmwebserver class
Add MQTT subscribe enable state to /mqtt json response
Delete rtcsynctime from /ntp request, rtcsynctime deprecated
Include user custom json code into web server
WEATHER UNDERGROUND CLASS
Code overhaul, upload all values.
UNCHANGED (these have not been placed into a class, and only minor code fixes have been applied)
ESPNOW
JSONSUPPORT
WINDSPEED
WIND DIRECTION
RAINFALL EXTERNAL
RAIN BUCKET
Last edit: brownrb 2022-04-26
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
04-May-2022 Update on next release
The next major release of mySQM+ will be posted here very shortly. There are many changes and
new applications to go with the next release, plus new features.
It will be a new firmware, new apps, new pdf and thus NOT backward compatitble with prior firmware or applications.
More details will be posted in the days ahead. A lot of work has gone into this release, probably more so that any previous release.
in that task I have received much help from the test team as well as code contributions and ideas. The next release is better because of that. I have recognised them in the opening pages of the PDF and in the firmware pages. I cannot thank them enough for their contributions and this has made my task so much lighter. They are
Paul Porters
Carlos Muñoz
Tommy Lee
Pete
Andrew
Graham
Gintautas D
Mafassca
Wolfe
Jairo
There are a number of new things and a lot of improvements on existing ones. mySQM+ has morhped from small beginnings to a behometh killer app for the ESP32. I continue to be amazed at how great this little chip really is.
The Windows application has had some GUI changes.
Firmware 128+ represents a significant move forward. Please note that this new firmware 128+, the new Windows app / Linux App / ASCOM OC . will only work with v128+, and these apps will not work with older firmware.
I have posted a few videos recently concerning v128+ and if you have not watched them I encourage you to do so, as a lot of things have changed and for the most part, the new 128+ is radically changed over v127.
I appreciate the wait, it has taken much longer than I expected.
Cheers
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
25-May 2020
I have begun the upload of the next release.
THESE ARE NOT COMPATIBLE WITH FIRMWARE 127 or lower. The firmware v127 or lower is deprecated and no longer supported, including those apps or driver that works with v127 or lower.
The current ASCOM OC driver and LINUX app should work with this release.
regards
Robert
This is the very long list of changes since firmware 127-07
FIRMWARE REVISION CHANGES
128-36
Public release
128-35RC7
Fix for MLX90614 redefining the I2C address value
Fix for wind direction offset /admin3
Fix for 3D print as5600 wind direction compilation error
Fix for error in /data/cmds.html file
Fix for error in management server - otaupdate undefined variables
Fix error in MQTT subscribe callback
128-35RC6
Change wind direction offset as displayed in /admin3 [Graham H]
Fix for ESP32RTC
Fix for TEXTDISPLAY not updating after a reboot
Fix for incorrect NTP error message
128-35RC5
Add winddiroffset [Graham H] to tcpip server, controllerdata, management server
Add reboot delay to controllerdata
Rewrite all init/info/warning/error messages
Rewrite initialization code for gps (and static gps)
Remove orphaned defines from previous versions
Fix for espnow compilation error
128-35RC4
Add reboot icon for graphic display
Change getjson() to return type bool
Change init_espnow() to return type bool
Remove all init messages from classes, now in the class handlers
Rewrite init functions for classes and ensure all init() and start() return bool type
Fix ipStr not showing local ip
128-35RC3
Add Graphic display
Add description for Beaufort on Web Home Page from WMO classification [Graham H]
Change rain on Web Server Home page (was 0 or 1, now No or Yes) [Graham H]
Change to tasktimer, remove conditional defines
Remove delay(10); from all code: legacy code left from esp8266 prototype
Rewrite Display code
Rewrite NTP checks in main loop()
Simplify code that starts/restarts ntpclient in main file, managementserver.cpp and tcpip_server.cpp
Fix for controller reboot when 3D-Print Anemomter is enabled (Graham H)
Fix for windspeed value not changing when a pulse type Anemometer is enabled (Graham H)
Fix for Invalid digit when External Rainfall and RTCESP32 are defined
Fix for External Rainfall being reset twice when time is 08:59am
Fix for ACCESSPOINT error of undefined mySSID_1 and myPASSWORD_1
Fix for display not starting when disabled then enabled in Management and TCPIP Servers
128-35RC2
Cosmetic text change /admin7.html for MQTT Subscribe Enable []
Cosmetic text change /admin6.html for NTP Interval time []
Fix for Web server JSON reponse /date - source not in ""
Fix for Web server JSON responses /tsl (samplesize and averaging) /mqtt (client_state), /ntp (rtcsyncntp)
Fix for Web server home page JSON response (gps date/time/lat/lon values not in "")
Fix for data/cmds.h file, change tls to tsl
Fix for data/cmds.h file, remove buttons at bottom of page
Fix for AdminPg.replace("%RAI%", ENABLEDSTR)); in ManagementServer.cpp [Graham]
Fix for Web server index page not changing rain condition dry-wet [Graham]
128-35RC1
Add /cmds to Web Server (lists commands that the webserver supports)
Add averaging and sample size to /tsl json response from Web Server
Add Watchdog Timer
Add runtime debug code
Add checkboxes to set display page options on /admin4 of Management Server
Change /tlscf call in web server to /tsl and add averaging and samplesize to JSON response
Fix CRITICAL for /download causing non-response
Fix incorrect debug messages /admin8
Fix incorrect debug messages /admin11
Fix for calculating rain totals (rain values start at 9am each day - previous totals where from 11:59pm)
128-35
Fix for Management Server /admin6 NTP showing NTP as connected when NTP is not connected
128-34
changed json calls /mqtt and /ntp on webserver
GENERAL 128 CODE BASE (128-00 to 128-33)
Change layout of controllerconfig.h file
Change SQM conversion formula 0.4 -> 0.45 for more realistic sqm value
Create new /defines folder and move variable settings from controllerconfig.h file to separate files in the /defines folder
Add new rssi and heapmsg functions
Add helper function set_date_time_strings() and use in classes that generate date/time strings
Add port checking for services in Management, TCPIP and Web servers
Add checks for Management Server/Web Server/TCPIP Server loop code
Change Management Server/Web Server/TCPIP Server Start code to allow restarting with a different port number
Change mylatitude and mylongitude to char[]
Change majority of strings to char[]
Change to new protocol 031, update TCP/IP server code
Remove dependancy of Webserver for JSONSUPPORT
Remove obsolete/redundant debugging statements
Remove checkip
Fix for compilation warnings about un-initialised variables (gps, rtc)
Fix error in debug print for Weather Underground
Fix undefined reference in rainfall.h (when EXTERNALRAINFALL is enabled)
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix error in calculation of previous days rainfall (rainbucket.h)
Fix for /download creating a null file when the file is not found
Fix error in copy_tm_struct() - month was incorrectly being set
CLASSES
Create classes for all sensors (TSL2591, BME280, MLX90614, RAIN, GPS)
Create classes for all services/servers (DISPLAY, TCP/IP, NTP, MQTT, mDNS, RTC, Weather Underground, Webserver)
Add helper functions for all classes so that #defines can be minimised
TASK TIMER
Change to tasktimer, using unsigned int for max count values related to MQTT and NTP
Fix task timer errors when using longer delay times
CONTROLLER DATA CLASS
Rename mysqmsetupdata files as ControllerData and rename class to ControllerData
Add GPS format (DD/DMS)
Add Management Server port number
Add MQTT Authentication (enable/disable, name, password)
Add MQTT keepalive
Add MQTT Subscribe enable/disable
Add TSL2591 Averaging enable/disable
Add TSL2591 Sample size
Remove GPS boot mode
Remove mDNS name
Remove SYNC RTC to NTP Interval time
DISPLAY CLASS
Change order of display screens
Remove #if statements
Fix for display page time being truncated
Fix for page display string not updating correctly when less than 9 digits
GPS CLASS
Add DD and DMS gps formats (Decimal and Degree Minutes Seconds)
Add Static GPS class to handle static values for myLatitude and myLongitude
Add new code to handle static gps values, including truncate and DD and DMS formats
Generate truncated geo-location values in code that parses NMEA messages
Change gps updates to 2s polls
Checking for GPS update moved into main state machine and now controlled via the task timer
Rewrite gps latitude and longitude decode routines
Rewrite truncate routines to cover new latitude and longitude formats
Fix Critical for gps not displaying latitude and longitude for negative degrees ('S' and 'E')
Fix for GPS var gll_position_mode_indicator returning null
Fix for GPS not working with longer task times
Fix for GPS not recovering from no response or invalid responses
Fix for latitude and longitude not updating after a change in truncate/static state from Management Server
MANAGEMENT SERVER CLASS
Add new Management Server
Add authentication to Management server and all admin files
Add MQTT start stop to Management Server /admin7 MQTT page
Add GPS format choice (DD or DMS) to Management Server GPS page /admin2
Add raw GPS geo-location values to GPS page /admin2
Add Webserver management to /admin1 (start, stop, change port)
Deprecate RECEIVEMQTTCOMMANDS - Move to Management Server
Move all admin functions from Web server to Management server
Move ElegantOTA from Web server to Management server
Remove mDNS from Management Server System page - mDNS deprecated
Rewrite file not found method
Fix for controller reboot not redirecting and loading page after a controller reboot
Fix for /admin9 code to set RTC, simplify
mDNS CLASS
Delete mDNS Service [deprecated]
MQTT CLASS
Add mutex around the use of mqtt_subscribemsg_flag
Add keepalive (15-180s)
Add MQTT subscribe enable to Managment and TCPIP servers
Add MQTT authentication (enable, disable, name, password to ControllerData and on /ad
Deprecate MQTT RECEIVEMQTTCOMMANDS from controllerconfig.h
Implement range check for MQTT Publish interval (now in seconds, 60-1800, default 60)
Remove duplicated (and orphaned) code for reconnecting to MQTT broker
Tidy text descriptions /admin6
Fix for MQTT connect authentification error
Fix for MQTT reconnection issue
Fix for JSON message - Firmware was changed to string type
NTP CLASS
Implement range check for NTP Update interval (now in minutes, 10-60, default 30)
Remove redundant code from NTP Client
Fix for NTP last update displaying incorrect values
Fix for updateNTP not working
Fix for NTP reconnect not working
Fix errors in NTP when using ESP32RTC with NTP Enabled
RTC CLASS
Deprecate SyncRTCtoNTP Interval Time (sync RTC to NTP is done at same time as updateNTP)
Fix error in RTCESP32 when NTP is disabled
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix in /admin9 code to set RTC, simplify
Fix errors in RTC/NTP when using ESP32RTC with NTP Enabled
TCPIP SERVER CLASS
Delete comms.h file and migrate to new TCPIP Server class
Add multiple connections (up to 4) to TCPIP server class
Add calls to TCPIP server to Start/Stop Management Server, and return Management Server state
Add get NTPClientstate to TCPIP server
Add NTP update interval get/set to TCPIP server
Add MQTT start stop to TCPIP server
Rewrite code handling based in new protocol 031
Fix for ntp update always starting with default 30m
TSL2591 CLASS
Improvements to TSL2591 sensor code
Add averaging and sample size to TSL2591 code
Add settings control for TSL2591 in Management Server
Add TSL2591 Sample Size Get/Set helpers to controllerdata, Management and TCPIP Servers
Add TSL2591 Averaging Get/Set helpers to controllerdata, Management and TCPIP Servers
Fix for TSL2591 sensor code (occassionally gain and integration time were not set correctly)
Fix for sample size and averaging not in sync with controller values
WEB SERVER CLASS
Delete webserver.h file and replace with new sqmwebserver class
Add MQTT subscribe enable state to /mqtt json response
Delete rtcsynctime from /ntp request, rtcsynctime deprecated
Include user custom json code into web server
WEATHER UNDERGROUND CLASS
Code overhaul, upload all values.
UNCHANGED (these have not been placed into a class, and only minor code fixes have been applied)
ESPNOW
JSONSUPPORT
WINDSPEED
WIND DIRECTION
RAINFALL EXTERNAL
RAIN BUCKET
17-Jun-2022
I am happy to announce that Firmware 129-01 will be posted here next week.
The release will include all the fixes from 128-36 onwards. This is a firmware update, meaning that the current latest versions of Applications and PDF etc will work this this update.
Regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Changes
129-01
Class initializers
Convert wind direction to class
Add authenicate to delete, upload, notfound Management Server pages
Fix text message error in Management Server handlers
Fix for otaupdate_defines.h reference (Ryan P)
Fix error of multiple defines for OTA (Ryan P)
Fix controller reboot when changing cloud model values (Ryan P)
Fix for /admin12 webserver state shown incorrectly
123-38
Fix for K1-K7 values not updating when using Windows Application
Fix for otaupdate showing as false when Elegantota is enabled (/admin12)
123-37
Fix for error when trying to compile when ENABLEOTAUPDATE was defined
Fix for management server crash when /admin6 was used to set the cloud model values
Fix for tcpip server crash when case 44: was used to set the cloud model values
regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have uploaded firmware zip file 129-04 which includes all the tests, daughterboard code, etc.
I thank Paul and Gintautas for their help, ideas and time.
16 July 2022
Update. I will post the new firmware update 129-06 in a few days. This has a number of bug fixes.
The pdf and verything else does not need to be updated.
The fixes since 129-04 are
129-06
Fix for external rainfall last_rain check (rainfall.h)
Fix for external rainfall handling day totals (rainfall.h)
129-05
Rewrite rain bucket code
Fix for external rainfall calculating day totals
Fix for compilation error "staticip" when compiling ACCESSPOINT
Fix compilation issues when using Arduino Core ESP32 2.0.4
Fix for setting RTC (tcpip_server.cpp case 93)
If you are not aware, the Arduino core for ESP32 was recently updated to v2.0.4
This causes compilation errors of the firmware
The firmware compiles fine with core esp32 of 2.0.3 and lower. If you are having programs revert back to 2.0.3 of the Core.
The next release 129-06 should work without issue on Arduino Core ESP32 of 2.0.4
Regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
11-Sept-2022
mySQM+ Update
This week I will be uploading the next release of mySQM+
Firmware 129-17RC2
Windows Application 0_0_5_6
PDF 129-17RC2
mySQM+ ASCOM OC Test Application 1_0_0_14
and I will also archive the old versions.
First, my thanks to the test team for their contributions, time and patience in this update. They are listed in the firmware and I am very grateful for their help.
This is a major update. Before installing the applications, remove any existing
applications first using Control Panel.
You will have to update the Arduino Core for ESP32 to version 2.0.4 before attempting to compile the new firmware. You also have to set the File preferences Compiler Warnings in the Arduino IDE to default
The Controller settings has been changed. This means you must upload the new data sketch files after uploading the new firmware.
After uploading the new firmware and new data sketch files, you should run the Management Server to enable/start various options. Most options have a default state of Disabled and Not Running, for example, the Web Server.
You should read the PDF again. Many things have changed and new options have been added. Pay good attention to the Management Server pages. They have all changed.
Also, look at how things are defined now. There are config files in the defines sub folder. Read the PDF to learn what these are and what you might need to change in some of those define files.
Today I will upload the PDF so those of you that are going to update will have something to refer to when reading the above.
Cheers
Robert
The list of firmware changes to this release are
129-17RC2
Add ambient, humidity, pressure, skyobject, skyambient to set interface of Web Server
Fix for GPS starting with read, instead of poll
Fix for ArduinoOTA not rebooting controller after an OTA update
Fix for MLX90614 sensor intermittent start error
129-17RC1
Recode JSONSUPPORT as a class, provide a user method to handle JSON response
Fix for ArduinoOTA
129-17
GPS poll, read and parse routines consolidated (less space, faster, more robust)
129-16
ESPNOW is a class and add source server address and status
Add default ESPNOW remotemessage handler for user code in class ESPNOW
Add Sync NTP Now button to /admin6 page right of ntp last update time
Add Weather Underground settings to /admin10
Add Weather Underground Publish Enable and Update Interval
Add ESPNOW as a service to /admin12
Add rssi WiFi signal strength description to /admin12 (stationmode only)
ESPNOW and Jsonsupport settings moved to /admin1
Changes to admin pages /admin1, /admin6. /admin7, /admin10 pages
Change ESPNOW src mac address to string, add conversion function, String <> unint8:t []
Change width button sizes on web pages to be the same width
Change SPIFFS save config to reset counter (reduces repetitive saves to SPIFFS)
Consolidate initialisation of vars into single function
Removed all debug code (to free up space)
Rewrite GPS code that finds, parses geo-location data
Rewrite Management Server code page handlers
Rewrite NTP code (simplify and make faster)
Fix for Web Server port linked to tcpipserver
Fix for truncation of GPS altitude
Fix for GPS causing controller crashes
Fix RTC bug in set date-time
Fix Display not starting with GPS
129-15
Rewrite NTP code
Fix for admin11 page loading admin1 page when values are changed
Fix for device name defaulting to myFP2ESP32
129-14
Rewrite jsonsupport as class
Add WiFi reconnect if connection is lost (station mode only)
Add jsonsupport state, servername, request, interval, timeout to ControllerData, /admin10
Add BOOTMSGS to setup()
Fix for Windspeed Adafruit not updating windspeed
Fix for jsonsupport not connecting to remote server
Fix for /admin4 text Display Page Time option not displayed
129-12
Adjust task timer counters for windspeed and rainsensor
Add timer to handle sampling of windspeed
Remove windspeed updates from task timer and assign to new timer
Windspeed now updated at 5s intervals
Windspeed avg/gust updated at 30s via software flag (not task timer)
Rewrite start display helper function to better handle start/stop
Rewrite start MQTT helper function
Rewrite start NTP helper function
Fix references for OTAName and OTAPassword in otaupdate.h
Fix task timer flag for gps updates in setup() and loop()
Fix for duplicate initialisation of vars for init_ntpclient()
129-11
Use new timer code for Windspeed, change logic, double buffer samples
129-10
Rewrite logic for Windspeed
129-09RC2
Fix for undefined reference HTTPRESPONSECODESTR in jsonsupport.h (Paul)
Fix for Management Server, HPCust reverts to /admin1 and not /admin11 (Paul)
129-09RC1
Fix GPS issues related to new code
Add device name
Add ota name, ota password and ota ID to ControllerData and Management Server
Add checks to start method of classes to prevent restarting a class that is already started
Fix for Windspeed using wrong mutex and wrong flag
Fix for MQTT always sending the same system time
Fix for Adafruit Wind speed sensor giving incorrect wind speed values
Fix for crash/reboot when GPS is enabled but no sensor is attached to controller
129-08
Rewrite rain tipping bucket code as class
Rewrite wind speed sensor code as class
Add helper functions for rain bucket
Add helper functions for wind speed
129-07
Add text defines for messages in wind_speed.h
Add support for DS3231 RTC
Add error/warning/info codes to all sensors/servers/services (replace text messages to free up space)
Add helper for ESPNOW
Add helper for JSONSUPPORT
Add helper for OTAUPDATE (ArduinoOTA)
Disable ESP32 WiFi modem sleep mode
Fix for compile error in web_server.cpp line 845 (Paul)
Fix for rain bucket totals over estimating rainfall (Gintautas D)
Fix for error in wind_speed.h when debugging Adafruit sensor (Andre)
Fix for weather underground dailyrain value (Paul)
Fix for rain tipping bucket not working when wind speed sensor is enabled (Gintautas D)
Fix for voltagesensors() compiler error (Andre)
Fix for ESPNOW and WiFi issues when ESPNOW is enabled
129-06
Fix for external rainfall last_rain check (rainfall.h)
Fix for external rainfall handling day totals (rainfall.h)
Fix for bme280altitude always shown on webserver homepage, when disabled (Paul, web_server.cpp)
129-05
Rewrite rain bucket code
Fix for external rainfall calculating day totals
Fix for compilation error "staticip" when compiling ACCESSPOINT
Fix compilation issues when using Arduino Core ESP32 2.0.4
Fix for setting RTC (tcpip_server.cpp case 93)
Last edit: brownrb 2022-09-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Files are uploaded. Make sure you consult the PDF because a lot of things have changed and where to find them has changed, please read the PDF before asking "where is such and such"
My personal thanks again to the test test for their help without which this would not be possible
Paul, Tommy, Wolf, Gintautas, Kurt, Jairo, Stargazer, Andrew and Graham.
New firmware - 130 this is a huge update. After programming the controller, you MUST upload the data sketch files. Under no cirmcumstances upload any prior-saved config files to the controller. If u do that the controller in all likelyhood will crash, because the format and data within the config files has changed. https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/
06-Dec-2022
I am hoping to finish release 133 soon. Not sure if this will be this month or next.
The hold up is working through all the examples with the new firmware written for the myESP32DB project.
Regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
24-01-2023
The next release for mySQM+ will be available towards the end of this week, and includes
Firmware release 133_19
Updated PDF 133_19
Windows application update 0061
Protocol update 034
Many thanks to all the testers and assistance and advice that was given to me.
This will be a major update. Both firmware and data sketch files need to be uploaded to the controller. This must be done using Serial USB. Unexpected results will occur if using OTA to do this update.
Regards
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
19-Jan-2022
We are gearing up for the next release, v126. Over the next week or two I will begin archiving the current 125 versions.
v126 also comes with an updated Windows and Linux apps that are required for firmware 126. There are a number of changes, bug fixes, new features and enhancements.
Regards
Robert
11-Feb-2022
There have been some unexpected issues (or issue) associated with release 127.
I hope to resolve this as quickly as I can. If I cannot, then it is likely that release 127 will still go ahead with the caveat that 1 particular thing does not work.
So having said that, when the new firmware and apps are posted, then the updgrade process will follow the same as before
- use control panel to remove all current apps for this project
- program the firmware, upload, and also upload data sketch files (as they are all changed)
- install the new apps.
The new apps will not work with older firmware.
Regards
Robert
14-Feb-2022
I have upload PDF 127-04, and the protocol document revision 26.
This may give you a heads up to look at the new PDF to see all the changes that have taken place since firmware release 125-63
Below is a list of all the firmware changes that have taken place since then.
Apologies it has taken so long in arriving. But I wished to wait till the RTC, NTP and GPS code was working and integrated into main code and task timer,
127-04
Add cold and warm start to GPS
Add name tags for Wind speed and direction device types
Add mDNS name as controller setting on /admin1 (change without reprogramming)
Add Fix type to GPS (/g1 and /admin2)
Clean up init code for all sensors
127-03
Rewrite gps code to use polled NMEA message types
Integrate gps code into task timer
Add error_msg and init_msg types to all sensors and devices (see mydefines.h)
// Fix for some windspeed/winddirection sensors not starting correctly (due to error in setup of tasktimer)
127-02
Change gps altitude to float (but will report as type int to Windows/Linux applications)
Change admin page layout - rename options as gps and move options to another page
Add isDST, isEnabled, Altitude, Satellites to /admin2 page for GPS
Move LocalDateTimeSource to options /admin3 pg
Remove reference to EMULATESQMMETER
Fix isDST on /admin5 showing wrong state when NTP is not enabled
Fix ntp timezone reference /admin6
Fix for windchill factor not returning an error if temp/windspeed exceed limits (Paul)
Fix for incorrect month shown in GPS code related to local time (Paul)
Fix error in setup() handling return val from init_ntpclient()
Fix tempbuff error in main file when using subscribe for mqtt
Fix error for gps date/time in usermqttcode.h
Fix error in rtc date/time in usermqttcode.h
Fix for local date time source reverting to RTC
Fix for GPS altitude using incorrect value
Fix error in mqtt subscribe topic showing null value
126-05
Major rewrite of GPS code
Add error logging to serial port
Fix for /admin5 iSDST not displaying correct state (order is NTP, then GPS, not applicable to RTC)
Fix for /admin2, GPS UTC/LOC date-time not showing
Fix error in rtc.h set_rtc_date_time, t_loc not declared
Fix error in mqttclient.h for rtc date/time
Fix error in displays.h pg9, for rtc date/time
126-04
Add GPS UTC/LOC Date/Time fields to /admin2 web page
Fix for GPS code
126-03
Add isDST to NTP web page, gives indication if current date time is in the DST
Complete code for GPS UTC and LOC time
126-02
Fix for NZ_PTR string not showing if NTP was not enabled
Fix issue of sync rtc to ntp when rtc is set to ESP32
Fix issue of Date/Time fields on /admin8 not showing when using ESP32RTC in Accesspoint mode
Fix issue of Date/Time fields on /admin8 not showing when using ESP32RTC in Stationpoint mode and NTP is disabled
Fix issue of Date/Time fields on /admin8 showing garbage when using ESP32RTC in Stationpoint mode and NTP is disabled
Fix issue of ntpclient() returning sucess when parts of that code fail
Add controllermode, rtcds1307found, rtcesp32found
Rewrite rtc code and some ntp code
setup/init of rtc
add checks around set
improve code error checks
Move debug info into pages
Create defines for ACCESSPOINTMODE and STATIONPOINTMODE (mydefines.h)
Add CONTROLLERMODE setting for ACCESSPOINT AND STATIONMODE (controllerconfig.h)
Create mysqmplusmode, set value to CONTROLLERMODE (mysqmplus-126-02.ino)
Import mysqmplusmode into files that need to determine controller mode
Change init_ntpclient() to return int values which indicate what step failed
Change function calls parameters in rtc.h (most were unnecessary)
Update ntp, rtc, comms and webserver code when handling local time (rtc_loc)
/admin5 ntp code
Update webserver code
/admin8 rtc code
Add DATE TIME
Display date/time fields using 2 digits, leading 0
Fix layout error of NTP Update Interval (min)
Update webserver code
/admin11
Improve code in /admin11 /display.h webserver.h for detecting controller mode
126-01
Move debug definitions into each page
Fix for bme280altitude compiler error when BME280SENSOR was defined
Fix for bme280altitude not being remembered following a restart/reboot
Fix for System Up Time not showing on some admin pages
126-00
Add Paul's code for NTP/RTC/GPS
Add ntp_last_update which hold time of last ntp update, /admin5
Add ntp_last_update to UpdateNTP(), in State_NTP_update
Add ntp_last_update to /admin5 v125-68
Fix incorrect logging messages in ntp.h
Fix for calculation of wind chill factor provided by Paul, 09-Jan-2022
125-67
Add ntp update interval, value stored in mySetupData, changed via /admin5, 15m to 180m (3hr)
Add updating of ntp to task timer, expand machine_state in loop() to check ntp_update
Add Paul's NTP code
125-66
Add sensorID check for bme280 sensor
Add gps utc to gps loc date-time based on value of timezone values
Fix for error in calculation of rainfall (rainfall.h)
125-65
Add file download to web server
Add additional information to /admin11 web page
Change button text descriptors on all /admin pages to reflect what they control
Change mqttuser code to match recent changes in main mqtt code
Rewrite gps code related to generation and use of gps_utc and gps_loc and date-time strings (gps.h)
Rewrite rtc code related to generation and use of rtc_loc, rtc_loc_date and rtc_loc_time (rtc.h)
Rewrite ntp code related to generation and use of ntp_utc and ntp_loc and date-time strings (ntp.h)
Rewrites triggered code changes in comms.h, displays.h, mqtt.h, usermqtt.h, webserver.h)
Fix error get gpsdate and getgpstime in comms.h (returning rtc values instead of gps values)
Fix error in publish MQTT, time was not updating
Fix error for DF-ROBOT anenometer (incorrect spelling DFROBOTMULTIPLIERV3V)
Fix error TSL2591 debug not working
Fix error duplicate code for RTC in /admin11
Fix error for some sensors not showing "disabled in firmware" in /admin11
Fix error nelm not loaded on home page after a controller reboot
125-64
Deprecated LOCALSERIAL
Deprecated SQMSUPPORT
Deprecated EMULATESQMMETER
Remove BME280ALTITUDE
Remove espqueue.h (no longer needed)
Change rtcpresent to rtcfound (now consistent usage for all sensors)
Change json name in web-server home page to bme280alt (was bme280altitude)
Change reserved page sizes in webserver.h and mqttclient.h due to additional values
Add bme280alt as an estimated altitude calculated based on presure reading
Add RTC to list of services in /admin11
Fix admin header number on /admin11
Fix for %HSL% on index.html page
Fix for firmware version, heap and system uptime not showing on /admin11
21 Feb 2022
This announces the official release of 127. With gratefut thanks to the contributors of code and ideas, I first acknowledge the immense help and support of the test team and authors
Andrew
Carlos
Gintautas
Graham
Mafassca
Paul
Pete
Tommy
Mafassca
This release is a significant update. Major rewrites and improvements of the GPS, NTP and RTC code was accomplished in this release.
In addition, the new task timer has helped to improve response times and scheduling of competing tasks.
The existing applications should work with this release. The Windows app and Linux app next releases will take advantage of the new features of firmware release 127+
When programming your controller with the new firmware, please make sure you also upload the data sketch files as these have changed
Please find the following updates
Firmware 127-04-01
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mySQMPLUS-Firmware-127-04-01.zip/download
PDF v127-04
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20127-04.pdf/download
protocol PDf v026
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Protocol%20026.pdf/download
regards
Robert
02-Feb-2022
Firmware update 127-07 released
Bug fixes
127-07
Fix for undefined errors windspdname, winddirname, counters/flags/Mux vars in tasktimer.h
127-06
Fix for wind speed sensor compiler error
127-05
Add GPS Positional fix information for each NMEA message type
Add GPS boot mode, Hot, Warm, Cold on /admin2 web page
Add GPS init code to manage start of GPS unit
Add GPS retry command when gps no response occurs
Add firmware call (76) to return wind speed and direction sensor names
Add firmware call (52) to return service indicators
Add firmware call (93) to return all GP Position fix indicators
Change compilation errror dependancy messages to better explain what is required
Change firmware call (12) to return gps altitude as a float value
Change protocol of return values in firmware calls - leading char identifier is dropped
Change setup_task_timer name to init_task_timer (tasktimer.h)
Change refresh rate of TSL2591 sensor from 5s to 3s
Correction, global change from "tls2591" and "tlscorrectionfactor" to "tsl2591" and "tslcorrectionfactor"
Improve code in rainbucket.h for use of update flags used with task timer
Improve code in rainfall.h for use of update flags used with task timer
Improve code in rainsensor.h for use of update flags used with task timer
Improve code in tsl2591sensor.h for use of update flags used with task timer
Remove compilation check for LOCALTIME in controllerconfig.h (deprecated)
Remove Fix type, replace with detailed Positional Fix information
Replace firmware calls (51-57) with one call (51) that returns all k1-k7 values
Replace firmware calls (61-67) with one call (61) that sets all k1-k7 values
Rewrite controller config file handling code (mysetupdata.cpp)
Rewrite mqtt init, startclient, reconnect code, ensure that subsribe is handled correctly
Rewrite mqtt subscribe code, create high level handler, use subscribe callback to signal higher level code
Fix for rainfall.h using deprecated rtc code. Add requirement check for RTC dependancy
Fix error in define of init_msg_print (mydefines.h)
Fix error in calculation of cntlr_config.jsn file (mysetupdata.cpp)
Fix error in firmware call (37) and (38) setting gain and time for TSL2591 sensor
Fix compilation error for BME280 sensor 'FOUNDSTR' was not declared
Sorry wrong post here...
Last edit: elythomaslumber 2022-03-03
Last edit: elythomaslumber 2022-03-03
26 April 2022
Next release of mySQM+ is coming soon.
https://youtu.be/BQNQ06G6n00
regards
Robert
and the list of changes/fixes
FIRMWARE REVISION CHANGES
128-35RC1
Add /cmds to Web Server (lists commands that the webserver supports)
Add averaging and sample size to /tsl json response from Web Server
Add Watchdog Timer
Add runtime debug code
Add checkboxes to set display page options on /admin4 of Management Server
Change /tlscf call in web server to /tsl and add averaging and samplesize to JSON response
Fix CRITICAL for /download causing non-response
Fix incorrect debug messages /admin8
Fix incorrect debug messages /admin11
Fix for calculating rain totals (rain values start at 9am each day - previous totals where from 11:59pm)
128-35
Fix for Management Server /admin6 NTP showing NTP as connected when NTP is not connected
128-34
changed json calls /mqtt and /ntp on webserver
GENERAL 128 CODE BASE (128-00 to 128-33)
Change layout of controllerconfig.h file
Change SQM conversion formula 0.4 -> 0.45 for more realistic sqm value
Create new /defines folder and move variable settings from controllerconfig.h file to separate files in the /defines folder
Add new rssi and heapmsg functions
Add helper function set_date_time_strings() and use in classes that generate date/time strings
Add port checking for services in Management, TCPIP and Web servers
Add checks for Management Server/Web Server/TCPIP Server loop code
Change Management Server/Web Server/TCPIP Server Start code to allow restarting with a different port number
Change mylatitude and mylongitude to char[]
Change majority of strings to char[]
Change to new protocol 031, update TCP/IP server code
Remove dependancy of Webserver for JSONSUPPORT
Remove obsolete/redundant debugging statements
Remove checkip
Fix for compilation warnings about un-initialised variables (gps, rtc)
Fix error in debug print for Weather Underground
Fix undefined reference in rainfall.h (when EXTERNALRAINFALL is enabled)
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix error in calculation of previous days rainfall (rainbucket.h)
Fix for /download creating a null file when the file is not found
Fix error in copy_tm_struct() - month was incorrectly being set
CLASSES
Create classes for all sensors (TSL2591, BME280, MLX90614, RAIN, GPS)
Create classes for all services/servers (DISPLAY, TCP/IP, NTP, MQTT, mDNS, RTC, Weather Underground, Webserver)
Add helper functions for all classes so that #defines can be minimised
TASK TIMER
Change to tasktimer, using unsigned int for max count values related to MQTT and NTP
Fix task timer errors when using longer delay times
CONTROLLER DATA CLASS
Rename mysqmsetupdata files as ControllerData and rename class to ControllerData
Add GPS format (DD/DMS)
Add Management Server port number
Add MQTT Authentication (enable/disable, name, password)
Add MQTT keepalive
Add MQTT Subscribe enable/disable
Add TSL2591 Averaging enable/disable
Add TSL2591 Sample size
Remove GPS boot mode
Remove mDNS name
Remove SYNC RTC to NTP Interval time
DISPLAY CLASS
Change order of display screens
Remove #if statements
Fix for display page time being truncated
Fix for page display string not updating correctly when less than 9 digits
GPS CLASS
Add DD and DMS gps formats (Decimal and Degree Minutes Seconds)
Add Static GPS class to handle static values for myLatitude and myLongitude
Add new code to handle static gps values, including truncate and DD and DMS formats
Generate truncated geo-location values in code that parses NMEA messages
Change gps updates to 2s polls
Checking for GPS update moved into main state machine and now controlled via the task timer
Rewrite gps latitude and longitude decode routines
Rewrite truncate routines to cover new latitude and longitude formats
Fix Critical for gps not displaying latitude and longitude for negative degrees ('S' and 'E')
Fix for GPS var gll_position_mode_indicator returning null
Fix for GPS not working with longer task times
Fix for GPS not recovering from no response or invalid responses
Fix for latitude and longitude not updating after a change in truncate/static state from Management Server
MANAGEMENT SERVER CLASS
Add new Management Server
Add authentication to Management server and all admin files
Add MQTT start stop to Management Server /admin7 MQTT page
Add GPS format choice (DD or DMS) to Management Server GPS page /admin2
Add raw GPS geo-location values to GPS page /admin2
Add Webserver management to /admin1 (start, stop, change port)
Deprecate RECEIVEMQTTCOMMANDS - Move to Management Server
Move all admin functions from Web server to Management server
Move ElegantOTA from Web server to Management server
Remove mDNS from Management Server System page - mDNS deprecated
Rewrite file not found method
Fix for controller reboot not redirecting and loading page after a controller reboot
Fix for /admin9 code to set RTC, simplify
mDNS CLASS
Delete mDNS Service [deprecated]
MQTT CLASS
Add mutex around the use of mqtt_subscribemsg_flag
Add keepalive (15-180s)
Add MQTT subscribe enable to Managment and TCPIP servers
Add MQTT authentication (enable, disable, name, password to ControllerData and on /ad
Deprecate MQTT RECEIVEMQTTCOMMANDS from controllerconfig.h
Implement range check for MQTT Publish interval (now in seconds, 60-1800, default 60)
Remove duplicated (and orphaned) code for reconnecting to MQTT broker
Tidy text descriptions /admin6
Fix for MQTT connect authentification error
Fix for MQTT reconnection issue
Fix for JSON message - Firmware was changed to string type
NTP CLASS
Implement range check for NTP Update interval (now in minutes, 10-60, default 30)
Remove redundant code from NTP Client
Fix for NTP last update displaying incorrect values
Fix for updateNTP not working
Fix for NTP reconnect not working
Fix errors in NTP when using ESP32RTC with NTP Enabled
RTC CLASS
Deprecate SyncRTCtoNTP Interval Time (sync RTC to NTP is done at same time as updateNTP)
Fix error in RTCESP32 when NTP is disabled
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix in /admin9 code to set RTC, simplify
Fix errors in RTC/NTP when using ESP32RTC with NTP Enabled
TCPIP SERVER CLASS
Delete comms.h file and migrate to new TCPIP Server class
Add multiple connections (up to 4) to TCPIP server class
Add calls to TCPIP server to Start/Stop Management Server, and return Management Server state
Add get NTPClientstate to TCPIP server
Add NTP update interval get/set to TCPIP server
Add MQTT start stop to TCPIP server
Rewrite code handling based in new protocol 031
Fix for ntp update always starting with default 30m
TSL2591 CLASS
Improvements to TSL2591 sensor code
Add averaging and sample size to TSL2591 code
Add settings control for TSL2591 in Management Server
Add TSL2591 Sample Size Get/Set helpers to controllerdata, Management and TCPIP Servers
Add TSL2591 Averaging Get/Set helpers to controllerdata, Management and TCPIP Servers
Fix for TSL2591 sensor code (occassionally gain and integration time were not set correctly)
Fix for sample size and averaging not in sync with controller values
WEB SERVER CLASS
Delete webserver.h file and replace with new sqmwebserver class
Add MQTT subscribe enable state to /mqtt json response
Delete rtcsynctime from /ntp request, rtcsynctime deprecated
Include user custom json code into web server
WEATHER UNDERGROUND CLASS
Code overhaul, upload all values.
UNCHANGED (these have not been placed into a class, and only minor code fixes have been applied)
ESPNOW
JSONSUPPORT
WINDSPEED
WIND DIRECTION
RAINFALL EXTERNAL
RAIN BUCKET
Last edit: brownrb 2022-04-26
04-May-2022 Update on next release
The next major release of mySQM+ will be posted here very shortly. There are many changes and
new applications to go with the next release, plus new features.
It will be a new firmware, new apps, new pdf and thus NOT backward compatitble with prior firmware or applications.
Youtube has the latest update video, v128-35RC1.
https://youtu.be/BQNQ06G6n00
There is another follow up video I am posting now
https://youtu.be/gHJKx0Q65uE
I of course with to thank the team who have helped and contributed to the next release, without whom this release would not be possible.
Regards
Robert
22-May-2022
Update on next release
More details will be posted in the days ahead. A lot of work has gone into this release, probably more so that any previous release.
in that task I have received much help from the test team as well as code contributions and ideas. The next release is better because of that. I have recognised them in the opening pages of the PDF and in the firmware pages. I cannot thank them enough for their contributions and this has made my task so much lighter. They are
Paul Porters
Carlos Muñoz
Tommy Lee
Pete
Andrew
Graham
Gintautas D
Mafassca
Wolfe
Jairo
There are a number of new things and a lot of improvements on existing ones. mySQM+ has morhped from small beginnings to a behometh killer app for the ESP32. I continue to be amazed at how great this little chip really is.
The Windows application has had some GUI changes.
Firmware 128+ represents a significant move forward. Please note that this new firmware 128+, the new Windows app / Linux App / ASCOM OC . will only work with v128+, and these apps will not work with older firmware.
I have posted a few videos recently concerning v128+ and if you have not watched them I encourage you to do so, as a lot of things have changed and for the most part, the new 128+ is radically changed over v127.
I appreciate the wait, it has taken much longer than I expected.
Cheers
Robert
25-May 2020
I have begun the upload of the next release.
THESE ARE NOT COMPATIBLE WITH FIRMWARE 127 or lower. The firmware v127 or lower is deprecated and no longer supported, including those apps or driver that works with v127 or lower.
The PDF has been uploaded
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20128-36.pdf/download
There is a new protocol document
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Protocol%20032.pdf/download
New Windows application
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mysqmplus_win11_0055.zip/download
New Firmware 128-36
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mySQMPLUS-Firmware-128-36.zip/download
The current ASCOM OC driver and LINUX app should work with this release.
regards
Robert
This is the very long list of changes since firmware 127-07
FIRMWARE REVISION CHANGES
128-36
Public release
128-35RC7
Fix for MLX90614 redefining the I2C address value
Fix for wind direction offset /admin3
Fix for 3D print as5600 wind direction compilation error
Fix for error in /data/cmds.html file
Fix for error in management server - otaupdate undefined variables
Fix error in MQTT subscribe callback
128-35RC6
Change wind direction offset as displayed in /admin3 [Graham H]
Fix for ESP32RTC
Fix for TEXTDISPLAY not updating after a reboot
Fix for incorrect NTP error message
128-35RC5
Add winddiroffset [Graham H] to tcpip server, controllerdata, management server
Add reboot delay to controllerdata
Rewrite all init/info/warning/error messages
Rewrite initialization code for gps (and static gps)
Remove orphaned defines from previous versions
Fix for espnow compilation error
128-35RC4
Add reboot icon for graphic display
Change getjson() to return type bool
Change init_espnow() to return type bool
Remove all init messages from classes, now in the class handlers
Rewrite init functions for classes and ensure all init() and start() return bool type
Fix ipStr not showing local ip
128-35RC3
Add Graphic display
Add description for Beaufort on Web Home Page from WMO classification [Graham H]
Change rain on Web Server Home page (was 0 or 1, now No or Yes) [Graham H]
Change to tasktimer, remove conditional defines
Remove delay(10); from all code: legacy code left from esp8266 prototype
Rewrite Display code
Rewrite NTP checks in main loop()
Simplify code that starts/restarts ntpclient in main file, managementserver.cpp and tcpip_server.cpp
Fix for controller reboot when 3D-Print Anemomter is enabled (Graham H)
Fix for windspeed value not changing when a pulse type Anemometer is enabled (Graham H)
Fix for Invalid digit when External Rainfall and RTCESP32 are defined
Fix for External Rainfall being reset twice when time is 08:59am
Fix for ACCESSPOINT error of undefined mySSID_1 and myPASSWORD_1
Fix for display not starting when disabled then enabled in Management and TCPIP Servers
128-35RC2
Cosmetic text change /admin7.html for MQTT Subscribe Enable []
Cosmetic text change /admin6.html for NTP Interval time []
Fix for Web server JSON reponse /date - source not in ""
Fix for Web server JSON responses /tsl (samplesize and averaging) /mqtt (client_state), /ntp (rtcsyncntp)
Fix for Web server home page JSON response (gps date/time/lat/lon values not in "")
Fix for data/cmds.h file, change tls to tsl
Fix for data/cmds.h file, remove buttons at bottom of page
Fix for AdminPg.replace("%RAI%", ENABLEDSTR)); in ManagementServer.cpp [Graham]
Fix for Web server index page not changing rain condition dry-wet [Graham]
128-35RC1
Add /cmds to Web Server (lists commands that the webserver supports)
Add averaging and sample size to /tsl json response from Web Server
Add Watchdog Timer
Add runtime debug code
Add checkboxes to set display page options on /admin4 of Management Server
Change /tlscf call in web server to /tsl and add averaging and samplesize to JSON response
Fix CRITICAL for /download causing non-response
Fix incorrect debug messages /admin8
Fix incorrect debug messages /admin11
Fix for calculating rain totals (rain values start at 9am each day - previous totals where from 11:59pm)
128-35
Fix for Management Server /admin6 NTP showing NTP as connected when NTP is not connected
128-34
changed json calls /mqtt and /ntp on webserver
GENERAL 128 CODE BASE (128-00 to 128-33)
Change layout of controllerconfig.h file
Change SQM conversion formula 0.4 -> 0.45 for more realistic sqm value
Create new /defines folder and move variable settings from controllerconfig.h file to separate files in the /defines folder
Add new rssi and heapmsg functions
Add helper function set_date_time_strings() and use in classes that generate date/time strings
Add port checking for services in Management, TCPIP and Web servers
Add checks for Management Server/Web Server/TCPIP Server loop code
Change Management Server/Web Server/TCPIP Server Start code to allow restarting with a different port number
Change mylatitude and mylongitude to char[]
Change majority of strings to char[]
Change to new protocol 031, update TCP/IP server code
Remove dependancy of Webserver for JSONSUPPORT
Remove obsolete/redundant debugging statements
Remove checkip
Fix for compilation warnings about un-initialised variables (gps, rtc)
Fix error in debug print for Weather Underground
Fix undefined reference in rainfall.h (when EXTERNALRAINFALL is enabled)
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix error in calculation of previous days rainfall (rainbucket.h)
Fix for /download creating a null file when the file is not found
Fix error in copy_tm_struct() - month was incorrectly being set
CLASSES
Create classes for all sensors (TSL2591, BME280, MLX90614, RAIN, GPS)
Create classes for all services/servers (DISPLAY, TCP/IP, NTP, MQTT, mDNS, RTC, Weather Underground, Webserver)
Add helper functions for all classes so that #defines can be minimised
TASK TIMER
Change to tasktimer, using unsigned int for max count values related to MQTT and NTP
Fix task timer errors when using longer delay times
CONTROLLER DATA CLASS
Rename mysqmsetupdata files as ControllerData and rename class to ControllerData
Add GPS format (DD/DMS)
Add Management Server port number
Add MQTT Authentication (enable/disable, name, password)
Add MQTT keepalive
Add MQTT Subscribe enable/disable
Add TSL2591 Averaging enable/disable
Add TSL2591 Sample size
Remove GPS boot mode
Remove mDNS name
Remove SYNC RTC to NTP Interval time
DISPLAY CLASS
Change order of display screens
Remove #if statements
Fix for display page time being truncated
Fix for page display string not updating correctly when less than 9 digits
GPS CLASS
Add DD and DMS gps formats (Decimal and Degree Minutes Seconds)
Add Static GPS class to handle static values for myLatitude and myLongitude
Add new code to handle static gps values, including truncate and DD and DMS formats
Generate truncated geo-location values in code that parses NMEA messages
Change gps updates to 2s polls
Checking for GPS update moved into main state machine and now controlled via the task timer
Rewrite gps latitude and longitude decode routines
Rewrite truncate routines to cover new latitude and longitude formats
Fix Critical for gps not displaying latitude and longitude for negative degrees ('S' and 'E')
Fix for GPS var gll_position_mode_indicator returning null
Fix for GPS not working with longer task times
Fix for GPS not recovering from no response or invalid responses
Fix for latitude and longitude not updating after a change in truncate/static state from Management Server
MANAGEMENT SERVER CLASS
Add new Management Server
Add authentication to Management server and all admin files
Add MQTT start stop to Management Server /admin7 MQTT page
Add GPS format choice (DD or DMS) to Management Server GPS page /admin2
Add raw GPS geo-location values to GPS page /admin2
Add Webserver management to /admin1 (start, stop, change port)
Deprecate RECEIVEMQTTCOMMANDS - Move to Management Server
Move all admin functions from Web server to Management server
Move ElegantOTA from Web server to Management server
Remove mDNS from Management Server System page - mDNS deprecated
Rewrite file not found method
Fix for controller reboot not redirecting and loading page after a controller reboot
Fix for /admin9 code to set RTC, simplify
mDNS CLASS
Delete mDNS Service [deprecated]
MQTT CLASS
Add mutex around the use of mqtt_subscribemsg_flag
Add keepalive (15-180s)
Add MQTT subscribe enable to Managment and TCPIP servers
Add MQTT authentication (enable, disable, name, password to ControllerData and on /ad
Deprecate MQTT RECEIVEMQTTCOMMANDS from controllerconfig.h
Implement range check for MQTT Publish interval (now in seconds, 60-1800, default 60)
Remove duplicated (and orphaned) code for reconnecting to MQTT broker
Tidy text descriptions /admin6
Fix for MQTT connect authentification error
Fix for MQTT reconnection issue
Fix for JSON message - Firmware was changed to string type
NTP CLASS
Implement range check for NTP Update interval (now in minutes, 10-60, default 30)
Remove redundant code from NTP Client
Fix for NTP last update displaying incorrect values
Fix for updateNTP not working
Fix for NTP reconnect not working
Fix errors in NTP when using ESP32RTC with NTP Enabled
RTC CLASS
Deprecate SyncRTCtoNTP Interval Time (sync RTC to NTP is done at same time as updateNTP)
Fix error in RTCESP32 when NTP is disabled
Fix for RTC initialisation overwriting existing RTC values on reboot
Fix in /admin9 code to set RTC, simplify
Fix errors in RTC/NTP when using ESP32RTC with NTP Enabled
TCPIP SERVER CLASS
Delete comms.h file and migrate to new TCPIP Server class
Add multiple connections (up to 4) to TCPIP server class
Add calls to TCPIP server to Start/Stop Management Server, and return Management Server state
Add get NTPClientstate to TCPIP server
Add NTP update interval get/set to TCPIP server
Add MQTT start stop to TCPIP server
Rewrite code handling based in new protocol 031
Fix for ntp update always starting with default 30m
TSL2591 CLASS
Improvements to TSL2591 sensor code
Add averaging and sample size to TSL2591 code
Add settings control for TSL2591 in Management Server
Add TSL2591 Sample Size Get/Set helpers to controllerdata, Management and TCPIP Servers
Add TSL2591 Averaging Get/Set helpers to controllerdata, Management and TCPIP Servers
Fix for TSL2591 sensor code (occassionally gain and integration time were not set correctly)
Fix for sample size and averaging not in sync with controller values
WEB SERVER CLASS
Delete webserver.h file and replace with new sqmwebserver class
Add MQTT subscribe enable state to /mqtt json response
Delete rtcsynctime from /ntp request, rtcsynctime deprecated
Include user custom json code into web server
WEATHER UNDERGROUND CLASS
Code overhaul, upload all values.
UNCHANGED (these have not been placed into a class, and only minor code fixes have been applied)
ESPNOW
JSONSUPPORT
WINDSPEED
WIND DIRECTION
RAINFALL EXTERNAL
RAIN BUCKET
-----------------------------------------------------------------------------------------------------------------------------
127-xx End of Line, Migrated to 128-00 branch
Last edit: brownrb 2022-05-25
17-Jun-2022
I am happy to announce that Firmware 129-01 will be posted here next week.
The release will include all the fixes from 128-36 onwards. This is a firmware update, meaning that the current latest versions of Applications and PDF etc will work this this update.
Regards
Robert
22-Jun-2022
Firmware update 129-01, with thanks to the testing team and helpers
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mySQMPLUS-Firmware-129-01.zip/download
PDF Update 129-01
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20129-01.pdf/download
Changes
129-01
Class initializers
Convert wind direction to class
Add authenicate to delete, upload, notfound Management Server pages
Fix text message error in Management Server handlers
Fix for otaupdate_defines.h reference (Ryan P)
Fix error of multiple defines for OTA (Ryan P)
Fix controller reboot when changing cloud model values (Ryan P)
Fix for /admin12 webserver state shown incorrectly
123-38
Fix for K1-K7 values not updating when using Windows Application
Fix for otaupdate showing as false when Elegantota is enabled (/admin12)
123-37
Fix for error when trying to compile when ENABLEOTAUPDATE was defined
Fix for management server crash when /admin6 was used to set the cloud model values
Fix for tcpip server crash when case 44: was used to set the cloud model values
regards
Robert
27-Jun-2022
Just to let all of you know, another firmware update will be posted soon, that addresses a small number of issues with 129-01
Regards
Robert
July update-2022
I have uploaded firmware zip file 129-04 which includes all the tests, daughterboard code, etc.
I thank Paul and Gintautas for their help, ideas and time.
Paul also updated mySQMWEB, which is the GUI running on a Pi box. So I have also uploaded that https://sourceforge.net/projects/mysqmproesp32/files/mySQMWEB/
I have done a little house clean-up of older files, as is my practice, I don't like posting or keeping online older stuff.
The PDF did not need updating so the curent pdf 129-01 covers everything in 129-04 (because 02, 03 are fixing of errors in code).
regards
Robert
16 July 2022
Update. I will post the new firmware update 129-06 in a few days. This has a number of bug fixes.
The pdf and verything else does not need to be updated.
The fixes since 129-04 are
129-06
Fix for external rainfall last_rain check (rainfall.h)
Fix for external rainfall handling day totals (rainfall.h)
129-05
Rewrite rain bucket code
Fix for external rainfall calculating day totals
Fix for compilation error "staticip" when compiling ACCESSPOINT
Fix compilation issues when using Arduino Core ESP32 2.0.4
Fix for setting RTC (tcpip_server.cpp case 93)
If you are not aware, the Arduino core for ESP32 was recently updated to v2.0.4
This causes compilation errors of the firmware
The firmware compiles fine with core esp32 of 2.0.3 and lower. If you are having programs revert back to 2.0.3 of the Core.
The next release 129-06 should work without issue on Arduino Core ESP32 of 2.0.4
Regards
Robert
11-Sept-2022
mySQM+ Update
This week I will be uploading the next release of mySQM+
Firmware 129-17RC2
Windows Application 0_0_5_6
PDF 129-17RC2
mySQM+ ASCOM OC Test Application 1_0_0_14
and I will also archive the old versions.
First, my thanks to the test team for their contributions, time and patience in this update. They are listed in the firmware and I am very grateful for their help.
This is a major update. Before installing the applications, remove any existing
applications first using Control Panel.
You will have to update the Arduino Core for ESP32 to version 2.0.4 before attempting to compile the new firmware. You also have to set the File preferences Compiler Warnings in the Arduino IDE to default
The Controller settings has been changed. This means you must upload the new data sketch files after uploading the new firmware.
After uploading the new firmware and new data sketch files, you should run the Management Server to enable/start various options. Most options have a default state of Disabled and Not Running, for example, the Web Server.
You should read the PDF again. Many things have changed and new options have been added. Pay good attention to the Management Server pages. They have all changed.
Also, look at how things are defined now. There are config files in the defines sub folder. Read the PDF to learn what these are and what you might need to change in some of those define files.
Today I will upload the PDF so those of you that are going to update will have something to refer to when reading the above.
Cheers
Robert
The list of firmware changes to this release are
129-17RC2
Add ambient, humidity, pressure, skyobject, skyambient to set interface of Web Server
Fix for GPS starting with read, instead of poll
Fix for ArduinoOTA not rebooting controller after an OTA update
Fix for MLX90614 sensor intermittent start error
129-17RC1
Recode JSONSUPPORT as a class, provide a user method to handle JSON response
Fix for ArduinoOTA
129-17
GPS poll, read and parse routines consolidated (less space, faster, more robust)
129-16
ESPNOW is a class and add source server address and status
Add default ESPNOW remotemessage handler for user code in class ESPNOW
Add Sync NTP Now button to /admin6 page right of ntp last update time
Add Weather Underground settings to /admin10
Add Weather Underground Publish Enable and Update Interval
Add ESPNOW as a service to /admin12
Add rssi WiFi signal strength description to /admin12 (stationmode only)
ESPNOW and Jsonsupport settings moved to /admin1
Changes to admin pages /admin1, /admin6. /admin7, /admin10 pages
Change ESPNOW src mac address to string, add conversion function, String <> unint8:t []
Change width button sizes on web pages to be the same width
Change SPIFFS save config to reset counter (reduces repetitive saves to SPIFFS)
Consolidate initialisation of vars into single function
Removed all debug code (to free up space)
Rewrite GPS code that finds, parses geo-location data
Rewrite Management Server code page handlers
Rewrite NTP code (simplify and make faster)
Fix for Web Server port linked to tcpipserver
Fix for truncation of GPS altitude
Fix for GPS causing controller crashes
Fix RTC bug in set date-time
Fix Display not starting with GPS
129-15
Rewrite NTP code
Fix for admin11 page loading admin1 page when values are changed
Fix for device name defaulting to myFP2ESP32
129-14
Rewrite jsonsupport as class
Add WiFi reconnect if connection is lost (station mode only)
Add jsonsupport state, servername, request, interval, timeout to ControllerData, /admin10
Add BOOTMSGS to setup()
Fix for Windspeed Adafruit not updating windspeed
Fix for jsonsupport not connecting to remote server
Fix for /admin4 text Display Page Time option not displayed
129-12
Adjust task timer counters for windspeed and rainsensor
Add timer to handle sampling of windspeed
Remove windspeed updates from task timer and assign to new timer
Windspeed now updated at 5s intervals
Windspeed avg/gust updated at 30s via software flag (not task timer)
Rewrite start display helper function to better handle start/stop
Rewrite start MQTT helper function
Rewrite start NTP helper function
Fix references for OTAName and OTAPassword in otaupdate.h
Fix task timer flag for gps updates in setup() and loop()
Fix for duplicate initialisation of vars for init_ntpclient()
129-11
Use new timer code for Windspeed, change logic, double buffer samples
129-10
Rewrite logic for Windspeed
129-09RC2
Fix for undefined reference HTTPRESPONSECODESTR in jsonsupport.h (Paul)
Fix for Management Server, HPCust reverts to /admin1 and not /admin11 (Paul)
129-09RC1
Fix GPS issues related to new code
Add device name
Add ota name, ota password and ota ID to ControllerData and Management Server
Add checks to start method of classes to prevent restarting a class that is already started
Fix for Windspeed using wrong mutex and wrong flag
Fix for MQTT always sending the same system time
Fix for Adafruit Wind speed sensor giving incorrect wind speed values
Fix for crash/reboot when GPS is enabled but no sensor is attached to controller
129-08
Rewrite rain tipping bucket code as class
Rewrite wind speed sensor code as class
Add helper functions for rain bucket
Add helper functions for wind speed
129-07
Add text defines for messages in wind_speed.h
Add support for DS3231 RTC
Add error/warning/info codes to all sensors/servers/services (replace text messages to free up space)
Add helper for ESPNOW
Add helper for JSONSUPPORT
Add helper for OTAUPDATE (ArduinoOTA)
Disable ESP32 WiFi modem sleep mode
Fix for compile error in web_server.cpp line 845 (Paul)
Fix for rain bucket totals over estimating rainfall (Gintautas D)
Fix for error in wind_speed.h when debugging Adafruit sensor (Andre)
Fix for weather underground dailyrain value (Paul)
Fix for rain tipping bucket not working when wind speed sensor is enabled (Gintautas D)
Fix for voltagesensors() compiler error (Andre)
Fix for ESPNOW and WiFi issues when ESPNOW is enabled
129-06
Fix for external rainfall last_rain check (rainfall.h)
Fix for external rainfall handling day totals (rainfall.h)
Fix for bme280altitude always shown on webserver homepage, when disabled (Paul, web_server.cpp)
129-05
Rewrite rain bucket code
Fix for external rainfall calculating day totals
Fix for compilation error "staticip" when compiling ACCESSPOINT
Fix compilation issues when using Arduino Core ESP32 2.0.4
Fix for setting RTC (tcpip_server.cpp case 93)
Last edit: brownrb 2022-09-11
16-Sep-2022
Windows App
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUS_0_0_5_6.zip/download
Firmware
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mySQMPLUS-Firmware-129-17RC2.zip/download
Cheers
Robert
Do not use the new Windows app on previous verions of firmware
VERY IMPORTANT
Remove the current Windows app before installing this new version.
If you are not upgrading the firmware then DO NOT install this version
FIRMWARE
You must have arduino esp32 core 2.0.4 installed
Set Compiler Options to "Default" for Arduino Preferences
You must upload the data sketch files after programming with this new firmware
Under NO circumstances upload a previously saved config file.
29-Sep-2022
Major release of v130
Files are uploaded. Make sure you consult the PDF because a lot of things have changed and where to find them has changed, please read the PDF before asking "where is such and such"
My personal thanks again to the test test for their help without which this would not be possible
Paul, Tommy, Wolf, Gintautas, Kurt, Jairo, Stargazer, Andrew and Graham.
New PDF 032
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/
New firmware - 130 this is a huge update. After programming the controller, you MUST upload the data sketch files. Under no cirmcumstances upload any prior-saved config files to the controller. If u do that the controller in all likelyhood will crash, because the format and data within the config files has changed.
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/
New Windows app 0060
uninstall the previous app. Then install the new version
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/
New ascom driver 019**
unistall the previous app. Then install the new version 019
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/ASCOM/
06-Oct-2022
Linux application, updated for use with firmware 129 or later.
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/
Regards
Robert
06-Dec-2022
I am hoping to finish release 133 soon. Not sure if this will be this month or next.
The hold up is working through all the examples with the new firmware written for the myESP32DB project.
Regards
Robert
05-Jan-2023
the next update for mySQM+ is nearing completion
Firmware 133-17
Windows application 0_0_6_0
PDF 133-16
regards
Robert
08-Jan-2023
New PDF
https://sourceforge.net/projects/mysqmproesp32/files/latest/download
New Firmware
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mysqmplus%20firmware-133-17.zip/download
Still to be uploaded
Remote examples using myesp32db as a remote device sending data to mysqm+
Regards
Robert
Last edit: brownrb 2023-01-08
24-01-2023
The next release for mySQM+ will be available towards the end of this week, and includes
Firmware release 133_19
Updated PDF 133_19
Windows application update 0061
Protocol update 034
Many thanks to all the testers and assistance and advice that was given to me.
This will be a major update. Both firmware and data sketch files need to be uploaded to the controller. This must be done using Serial USB. Unexpected results will occur if using OTA to do this update.
Regards
Robert