Releases: 3urobeat/nodemcu-clock
Releases · 3urobeat/nodemcu-clock
Version 0.10.1
- Added custom loading indicator char and implemented indicateLoading() when making network requests
- Added metadata to all pages to simplify how showing the title bar and hiding the mini clock works
- Fixed news page trying to display empty article, leading to softlocked device because page wouldn't switch
- Fixed weather page trying to display data from failed request
- Fixed wifi SSID match check hanging on empty SSID names
- Fixed mini clock being hidden when page takes time to load
- Added timeout to wifi connection attempt to prevent potential softlock
- Added different startup message to differentiate between Searching and Connecting stage
- Added two compile flags to ESP32 configuration
- Added an experimental fix to prevent the device from crashing when parsing some Spotify responses
- Updated file headers to ISO dates and removed trailing whitespaces
- Improved networking debug log messages
- Added a README
- Minor other changes
Version 0.10.0
- Added a Spotify currently playing page!
- Includes full oAuth flow integration
- Includes two json parsers
- Includes setupMode page integration for clientID & clientSecret
- Added support for the ESP32 Wrover!
- Added support for setting a NOHTTPS flag to save ~10% flash
- Added support for passing an existing parserLib object to httpGetJson()
- Rewrote httpGetJson to add support for https
- Removed httpGetJson HTTPClient dependency
- httpGetJson now retrieves the httpCode and returns it
- initWifi() now sets a hostname to make device identification easier
- Renamed debugMemory() to debug()
- Fixed news API denying response caused by missing User-Agent
- Fixed memory corruption in strrpl() and getTime()
- Fixed preferences openweathermaptoken, pageElementSwitch & spotifyRefreshToken key too long error
- Fixed city on weather page glitching into next page when no api key error is displayed
- Fixed city name on weather page glitching into Loading... msg
- Updated NoiascaLiquidCrystal lib to fix issues on latest esp32 firmware
- Changed License from MIT to GPL
- Minor other changes
Version 0.9.0
- Code affected by DEBUG and IGNOREFS is now cut out at compile-time using build flags and ifdef macros for noticeable memory & flash usage improvements
- Both settings are now also moved to
platformio.ini
as build flags
- Both settings are now also moved to
- Reworked PIO config file to make configuring easier
- Added a sunrise/sunset page element switch to the weather page!
- Added a createCustomChars() helper with up & down arrows for weather page
- Renamed Config setting clockWeekdaySwitch to pageElementSwitch as it is now used for the weather page as well
- Added some notes and a repo README hyperlink to the setupMode webpage
- Fixed corrupted strrpl result caused by uninitialized buffer char array
- Fixed potential pageOrder bug in setupMode where a null byte could be missing at the end of an element
- Fixed empty pageOrder entry not getting ignored as expected
- Improved memory usage of strrpl()
- Added proper docs to all functions
- Minor other changes
Version 0.8.1
- Added config showuntil special case: Set value for a page to 0 to let the page progress on event (for example for news page when it fully displayed a string)
- Rewrote httpGetJson helper to use a streaming parser for way better memory efficiency
- Improved debugMemory() to provide more information, more concise and only send it when mem usage changed
- Updated getLocation() helper, weather & news page to use new json streaming parser
- Added IGNOREFS setting to config to overwrite settings in filesystem to make debugging easier
- Added a warning message if no API key was provided and skip the page if it requires one
- Optimized RAM usage of setupMode when not enabled
- Moved debugMemory() to a dedicated helper
- Removed httpsGetJson() function as I don't care about https anymore (SSL uses more mem than you can imagine)
- Removed ArduinoJson dependency
- Serial debug output is now enabled when DEBUG is true to get more information from outside my code
- Calling debugMemory() more often from different places to track allocation & deallocation better
- Compressed webpage to use less flash
Version 0.8.0
- Added a setupMode! Bridge pins GROUND and D0 of the ESP8266 devkit to activate!
- setupMode hosts a wifi network and webpage at
192.168.1.1
where you can edit and save all config values to the internal filesystem - setupMode will automatically activate when no wifi networks were found
- Config values defined at compile-time in
config.cpp
will be written to flash on first boot if flash is empty so you can still flash the device with pre-configured settings - (This took a lot of time and I'm really proud of the result lol)
- setupMode hosts a wifi network and webpage at
- Amount of wifi networks that can be configured is now limited to 5
Note: News page currently causes OOM error, crashing the device - a rewrite of the whole news page and API interaction helper is planned.
Version 0.7.0
- Fixed UTF8 issues on news page! Hurray!
- Fixed news page spamming API because of datatype overflow
- Changed universal data types to Arduino specific ones
- Removed a few unnecessary lcd clear calls
- Replaced formatInt() with lcdHelper's toFixedLengthNumber()
- Replaced manual animation with lcdHelper's animationPrint
- Updated dependencies
Version 0.6.0
- Cleaned up the whole codebase
- Split up code into more files and added separate config folder
- Split up pages code into setup() and update() functions
- Organized helper exports to file order
Version 0.5.2
- Switched to my lcdHelper library
- Added loading message when loading news page
- Fixed "Loading..." message on news page not getting overwritten/cleared
- Fixed "Loading..." message on news page not clearing content
- Fixed source & publish date not being shown when loading is done
- Fixed first article on news page getting skipped on first execution
- Fixed clock page date/weekday reprinting every 250ms
- Converted all Strings to char arrays
Version 0.5.1
Fixed wrong parameter in geolocating function resulting in broken news page.
Version 0.5.0
Added news page! Added movingPrint() lcd helper to display long strings with a moving animation. General optimizations (memory, display, API calls). Added error message when no matching wifi network was found. Added date/weekday flipping to clock page. Added custom setCursor and print functions to be able to track display content and cursor position. Fixed Sting being able to overflow to another row when printing to screen. Added option to set showuntil for each page separately. Simplified a few function calls.