Releases: nielsonm236/NetMod-ServerApp
General Release 20240612 0226
Most significant changes:
- Code Uploader: Firmware auto-starts when Flash Write and Verify completes.
- Domoticz: Bug Code Uploader over-writes Sensor IDX values.
- Bug: Browser-UPG load, pin 16 can't be used after power cycle. Also affected other builds.
Reminders:
- See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx Flash with "Program/Address Range" range 8000 to FEBF.
- NetworkModule-MQTT-Home.sx Flash with "Program/Current tab" (defaults to range 8000 to FFFF).
- NetworkModule-MQTT-Domo.sx Flash with "Program/Address Range" range 8000 to FE7F.
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-Home-UPG.sx
- NetworkModule-MQTT-Home-BME280-UPG.sx
- NetworkModule-MQTT-Domo-UPG.sx
- NetworkModule-MQTT-Domo-UPG-BME280.sx
Code changes:
- Addressed Issue #193 "Clean up code where SUPPORT_174 == 1 occurs". This simply removes the compiler directive around the alternate pinout code and the directive was only for development.
- Addressed Issue #195 "If I2C EEPROM is missing and SWIM is used to load the Code Uploader no error is produced"
- Addressed Issue #203 "Expand INA226 shunt resistor value options". Only affects special build.
- Addressed Issue #204 "Provide a Browser message indicating "I2C EEPROM Missing" when the code load requires I2C EEPROM".
- Addressed Issue #208 "Consider removing the HTONS and htons functionality to save Flash space". Code remains but it no longer called.
- Addressed Issue #210 "Domo BME code let's me check the DS18B20 feature box". Added validation check to prevent this.
- Addressed Issue #211 "Feature request: It would be nice if the Configuration page shows if PCF8574 was detected". Added indicator on Configuration page.
- Addressed Issue #212 "Code Uploader: feature request, auto-start the firmware when Flash Write and Verify completes". Code now auto-starts.
- Addressed Issue #214 "Feature request: Add Login page". Note: The requestor abandoned the project. The code will not be activated in releases, but will be retained in the code base for a few months, then probably deprecated. The code is complex and will only fit in a Browser UPG build.
- Addressed Issue #217 "Domoticz: Bug found in POST processing. POST may be rejected and Configuration inputs ignored."
- Addressed Issue #218 "Domoticz: Bug - In upgradeable build loading the Code Uploader will over-write the Sensor IDX values"
- Addressed Issue #219 "Bug: When using Upgradeable builds will frequently see a "stack overflow error".
- Addressed Issue #220 "Bug: Pattern filter not working correctly for Name entry field". Fixed pattern filter.
- Addressed Issue #222 "Bug: Browser-UPG load, pin 16 can't be used after power cycle". Likely a compiler mis-interpretation of the code. Changed code to be more explicit with regard to variable size when performing pin masking.
Document changes:
- Added descriptions of Login functions. Note: The requestor abandoned the project. The code will not be activated in releases, but will be retained in the code base for a few months, then probably deprecated. The code is complex and will only fit in a Browser UPG build.
- Corrected miscellaneous typos.
20231009 1022 General Release
Major change; Added Domoticz support.
Changed title from Pre-Release to General Release on Oct 22 2023, and corrected date in title.
Reminders:
- See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx Flash with "Program/Address Range" range 8000 to FEBF.
- NetworkModule-MQTT-Home.sx Flash with "Program/Current tab" (defaults to range 8000 to FFFF).
- NetworkModule-MQTT-Domo.sx Flash with "Program/Address Range" range 8000 to FE7F.
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-Home-UPG.sx
- NetworkModule-MQTT-Home-BME280-UPG.sx
- NetworkModule-MQTT-Domo-UPG.sx
- NetworkModule-MQTT-Domo-UPG-BME280.sx
Now that MQTT Domoticz is supported some naming conventions in Documentation and file names are being modified. The
former "MQTT" builds will now be called "MQTT-Home" since those builds always included Home Assistant support. The new
Domoticz builds will be called "MQTT-Domo".
Code changes:
- Addressed Issue #207 "Open the Wiki in a new tab"
- Addressed Issue #206 "A small amount of Flash can be saved by removing the debug column in Javascript"
- Addressed Issue #205 "BME280 build: When Altitude is entered in meters the IOControl display shows altitude 'meters entered -1'"
- Addressed Issue #201 "Output pin change batch REST commands /50 and /51 broken in 20230801 release"
- Addressed Issue #200 "HomeAssistant MQTT Breaking changes in 2023.8+"
- Addressed Issue #199 "Domoticz with MQTT, request for new feature"
Document changes:
- Moved the "Change Log" section close to the end of the document.
- Added a "Quick Start" section.
- Updated the Features table to include the Domoticz builds
- Updated the screenshots to include Domoticz Configuration and IOControl
- Added section "MQTT Domoticz"
- Addressed Issue #202 "Documentation: about 16 channel relay modules" by adding an additional solution to section "16 Channel Relay Modules".
- Updated the "Programming the Module" section to add information on reprogramming MQTT versions of the code
2023 0803 General Release
Reminders:
- See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #172 "DS18B20 and BME280 data collection timing incorrect"
- Addressed Issue #174 "Need to add yet another Pinout Option - perhaps an algorithmic approach is better"
- Addressed Issue #179 "Special code request for a Software Defined Radio project" (special build / non-public)
- Addressed Issue #180 "Request to add a little more security for an internet exposed device"
- Addressed Issue #181 "Request to add INA226 voltage / current monitor" (special build / non-public)
- Addressed Issue #183 "GET commands are not properly closing"
- Addressed Issue #185 "Still seeing favicon.ico requests from Browsers"
- Addressed Issue #187 "Bug: Link Error Statistics always show TXREIF and RXREIF as zero"
- Addressed Issue #188 "Potential Bug: Two loops in ENC28J60 driver where timeout is needed to prevent hang"
- Addressed Issue #189 "Remove compiler directive DEBUG == 7"
- Addressed Issue #190 "Need commands and code to support Latching Relays (aka Keep Relays)" (special build / non-public)
- Addressed Issue #191 "BME280: Negative altitude in Feet does not display properly"
Document changes:
- Added Pinout Option 4 to section "Pinouts"
- Updated section "REST Commands" to show command reserved for "RF Attenuator Webpage" as part of Issue #179
- Updated section "REST Commands" to include a description of the "Response Lockout" feature as part of Issue #180
- Updated section "REST Commands" to include a description of the "INA226 Webpage" as part of Issue #181
- Updated section “REST Commands” to include a description of the “Latching Relays” feature as part of Issue #190
- Addressed Issue #184 "Problem with Autocomplete on Chrome" by adding section "Browser Issues" to the manual.
- Updated section "Developers: Debug Bytes" as part of Issue #189
20230603 2058 General Release
Reminders:
- See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #175 "Save on IOControl page has stopped working on Chrome?"
- Addressed Issue #176 "Saving PCF8574 Configuration can cause the PCF8574 to disappear"
Document changes:
- None
20230416 1116 General Release
Reminders:
- See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #159 "Boot issue: Sometimes taking 60 to 120 seconds to stabilize the MQTT connection"
- Addressed Issue #163 "Suggestion: Make ILLOPF (Illegal Opcode) and IWDGF (Independent Watchdog) flags visible in the Link Error Statistics display"
- Addressed Issue #166 "Typo: Release 20230328 0200 shows its revision during runtime as 20230326 0200"
- Addressed Issue #167 "UIP Code Retransmission Timeout problem"
- Addressed Issue #170 "Home Assistant cleanup when PCF8574 is removed"
- Fully deprecated the URL /80 command as it was replaced with /50 in previous releases
Document changes:
- Per Issue #159: Added section “Developers: MQTT Local Port Numbers” and updated EEPROM byte definitions to reflect addition of the “rotation_ptr” byte used for rotating the MQTT port number.
- Per Issue #163: Updated the Link Error Statistics information.
- Per Issue #165: "Question (not a problem): is /84 command supposed to return short status output?" added text to the REST command describing the return of short status.
- Per Issue #170: Updated the REST commands to add a description of the /85 command.
- Updated buying information on page 2.
- Updated EEPROM byte definitions to reflect addition of the “options1” byte used to retain additional hardware option settings:
- Force PCF8574 pin delete messages
- Short Form Option format
- PCF8574 presence
- Pinout Options
- Removed superfluous "Notes on" part of section headings
20230328 0200 General Release
Reminders:
- See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #164 "When setting multiple outputs with /51, no status is sent back"
Document changes:
- None
20230325 0137 General Release
Reminders:
See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #161 "URL ON/OFF Cmds not working right in Release 20230324 1435"
Document changes:
- None
20230324 1435 General Release - DON'T USE - FIXING A BUG
The primary reason for this release is to Address Issue #158. A few other issues are also addressed.
Reminders:
See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #138 "Consider parsing URL commands as a string instead of digits"
- Addressed Issue #147 "Question for team: How to handle the MQTT state-req message with PCF8574"
- Addressed Issue #156 "URL command /82 is not returning a valid webpage"
- Addressed Issue #157 "When changing code load types the Configuration settings need to be checked for compatibility"
- Addressed Issue #158 "BME280 build - all pins are outputs even if defined as an input"
Document changes:
- Added section “Developers: URL Command Map”
- Updated section “Notes on MQTT” to include the new state_req24 command for PCF8574 hardware configurations per Issue #147.
- Improved the "Selecting Alternative Pinouts" section.
- Added Issue #148 to the 20230312 release notes. It was addressed in that release but the notation was not included. #148 "When ST-LINK V2 is used to program the device it starts running before reset is released"
- Addressed Issue #160 “PCF8574 startup: All outputs are "weak pullup" for several seconds at power on or reboot” by adding section “Notes on PCF8574 Outputs”.
- Added section “LED” to describe the red LED on the HW-584.
20230312 1441 General Release
This General Release is duplicates the 20230305 pre-release with a few more fixes and additions.
Reminders:
See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
- NetworkModule-Browser.sx
- NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
- NetworkModule-CodeUploader.sx
- NetworkModule-Strings.sx
- NetworkModule-Browser-UPG.sx
- NetworkModule-MQTT-UPG.sx
- NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #115 "How to enhance the needed pins for sensors? Can the PCF8574 module be useful?" that added PCF8574 functionality.
- Addressed Issue #120 "Pin order as build options".
- Addressed Issue #141 "Selectable pinout branch", a bug that was not properly initializing the selectable pinout index.
- Addressed Issue #142 "Added REST command /50 (at /80)". This generated several changes associated with the “Mask and Output Pin settings” functionality as follows:
- Deprecated command /80.
- Added command /50. Does what /80 used to do.
- Added command /51. Does the same as /50, but also returns the Short Form pin state page.
- The /50 and /51 commands only operate on pins 1 to 16.
- The Short Form pin state page shows 16 pins if no PCF8574, and 24 pins if there IS a PCF8574
- Addressed Issue #143 "Linked pins check in check_runtime_changes() should be in check_eeprom_settings()", a performance bug causing code to run more than needed.
- Addressed Issue #144 "periodic_service() function is running too often", a bug causing browser pages to be corrupted on rare occasion.
- Addressed Issue #145 "Timer error has gradually increased - need improved time keeping function"
- Addressed Issue #146 "Incorrect content-length for most pages returning content"
- Changed the Link Error Statistics page to a text only page (no formatting, no buttons) to save Flash space.
- Addressed Issue #151 "Remove "MQTT" and "Browser" text in title of PCF8574 Configuration and IOControl pages"
- Addressed Issue #152 "Short status should respect the setting of the "invert" option for disabled IOs"
- Addressed Issue #154 "Entering a 19 character Device Name results in corruption of the device name"
Document changes:
- Updated the Link Error Statistics description.
- Updated the Mask and Pin settings description for URL commands /50 and /51 in the “Notes on REST Commands” section.
- Updated the Timers description in the “Notes on Individual IO Settings – Browser Only build” section.
- Added section “Developers: Timer Internal Operation”
- Added screen shots for PCF8574 Configuration and IOControl pages
- Added section “PCF8574 Function”
- Added section “Notes on PCF8574 Inputs”
- Added section “Selecting Alternative Pinouts”
- Updated Short Form description to include new option
20230305 1816 Pre-release
This is a pre-release so that users can inform me of any bugs before this is turned into a general release.
Reminders:
See the release notes in the Manual.
Normal builds. These must be flashed with the STLink-V1 / SWIM interface.
NetworkModule-Browser.sx
NetworkModule-MQTT.sx
Upgradeable builds. To use Upgradeable builds you must add an I2C EEPROM. See the Manual for instructions. Once installed future releases can be installed over Ethernet. ALWAYS install the new CodeUploader, then the Strings file, then the UPG code load, in that order.
NetworkModule-CodeUploader.sx
NetworkModule-Strings.sx
NetworkModule-Browser-UPG.sx
NetworkModule-MQTT-UPG.sx
NetworkModule-MQTT-UPG-BME280.sx
Code changes:
- Addressed Issue #115 "How to enhance the needed pins for sensors? Can the PCF8574 module be useful?" that added PCF8574 functionality.
- Addressed Issue #120 "Pin order as build options".
- Addressed Issue #141 "Selectable pinout branch", a bug that was not properly initializing the selectable pinout index.
- Addressed Issue #142 "Added REST command /50 (at /80)". This generated several changes associated with the “Mask and Output Pin settings” functionality as follows:
- Deprecated command /80.
- Added command /50. Does what /80 used to do.
- Added command /51. Does the same as /50, but also returns the Short Form pin state page.
- The /50 and /51 commands only operate on pins 1 to 16.
- The Short Form pin state page shows 16 pins if no PCF8574, and 24 pins if there IS a PCF8574
- Addressed Issue #143 "Linked pins check in check_runtime_changes() should be in check_eeprom_settings()", a performance bug causing code to run more than needed.
- Addressed Issue #144 "periodic_service() function is running too often", a bug causing browser pages to be corrupted on rare occasion.
- Addressed Issue #145 "Timer error has gradually increased - need improved time keeping function"
- Addressed Issue #146 "Incorrect content-length for most pages returning content"
- Changed the Link Error Statistics page to a text only page (no formatting, no buttons) to save Flash space.
Document changes:
- Updated the Link Error Statistics description.
- Updated the Mask and Pin settings description for URL commands /50 and /51 in the “Notes on REST Commands” section.
- Updated the Timers description in the “Notes on Individual IO Settings – Browser Only build” section.
- Added section “Developers: Timer Internal Operation”
- Added screen shots for PCF8574 Configuration and IOControl pages
- Added section “PCF8574 Function”
- Added section “Notes on PCF8574 Inputs”
- Added section “Selecting Alternative Pinouts”