Skip to content

Releases: skjdghsdjgsdj/babypod-software

v2.3.0

25 Oct 02:02
Compare
Choose a tag to compare

Breaking change: you need to add a new setting in settings.toml:

# Increase the CircuitPython stack size; must be a multiple of 4 and larger than the default of
# 1536. Try 1600. If you still get "pystack exhausted" errors, nudge this up slowly.
CIRCUITPY_PYSTACK_SIZE=1600

Without this change, you may get "pystack exhausted" errors in some scenarios like auto-resuming timers.

Other notable changes:

  • Documentation updates
  • Added ability to have a list of known Wi-Fi networks and connect to the first one found instead of exactly one network
  • Auto-resume from first found named timer instead of assuming most recent timer is named
  • Added requirement for larger CircuitPython call stacks: ESP32-S3 Feathers have enough RAM for this, but after some refactoring to have cleaner code, the call stack size has increased so this needs to increase too.
  • Fixed timers on devices without an RTC not resuming automatically
  • Added support for solid food when showing recent feedings
  • Refactored main menu code to allow for bitmask configuration of items to show instead of requiring code changes
  • Automatically select last selected main menu item after going through the flow once
  • Fixed food type bitmask being misapplied in some cases
  • Annotated abstract classes and methods as such using abc and stubs for CircuitPython which doesn't support them
  • Fixed various bugs around timer management
  • Soft shutdown 30 seconds into a sleep timer if option is enabled
  • Timers persist to the offline state when started offline so shutting off the BabyPod midway through a timer resumes it automatically both online (as before) and offline (new)
  • Less noisy debug output to the console
  • Some refactoring of the startup process to avoid unnecessary imports and potentially speed it up
  • Added ability to either delete or ignore individual failed events when replaying offline events
  • Renamed diaper change options to be grosser but more obvious
  • Other bug fixes and refactoring, doubtless introducing new bugs

v2.2.0

16 Oct 21:53
Compare
Choose a tag to compare

Notable changes:

  • Major refactoring of UI code for consistency's sake
  • Show a user-facing error if initializing the SD card fails
  • Fixed bug in offline event storage that could cause events to be played back in the wrong order
  • Fixed bug that caused RTC to be set improperly or be set in a loop if the timezone is UTC
  • Less noisy debug output
  • Success modals can now be dismissed manually before they naturally time out
  • Reduced time needed to hold down center button for power off and down arrow for reset
  • Rearranged some feeding methods
  • Fixed bug where holding Down to reset wouldn't work unless soft power control was enabled

v2.1.1

14 Oct 16:24
Compare
Choose a tag to compare

Notable fixes/changes:

  • Avoid flicker on LCD backlight startup when color is overridden
  • Pumping timers now auto-resume when online
  • Print traceback for uncaught exceptions
  • Idle warning now at one minute by default and shutdown at three minutes
  • Made idle wait tick listener much less aggressive to conserve a bit of battery
  • Explicitly enable Wi-Fi radio when going online to avoid getting stuck offline when cycling offline status repeatedly
  • Added option (off by default) to auto power off when saving a timer after waiting 10 seconds
  • Keep alive for 5 minutes, not 1, on uncaught exceptions to make clean builds more likely to succeed
  • Modal dialogs can now auto-dismiss after a given number of seconds

v2.1.0

08 Oct 17:00
Compare
Choose a tag to compare

Notable changes:

  • Fix for Adafruit LCD not initializing
  • Message of the Day (MOTD) support added
  • Startup message now centered
  • Pumping sessions now use timers (requires Baby Buddy 2.6.0 or newer to be effective; older versions will record pumpings but without durations)
  • Added global exception handler and watchdog
  • Fixed broken progress bar on Sparkfun LCD
  • Long press Down for reset
  • Error handling now doesn't clear and show battery
  • More stable entry to and exit from deep sleep
  • Explicitly disconnect from Wi-Fi when going offline and reconnect when going back online before replaying events
  • Added --build-release-zip option to build-and-deploy.py and auto-create missing directories
  • Automatic soft shutdown (if enabled) when idle for five minutes

v2.0.0

02 Oct 19:03
Compare
Choose a tag to compare

Notable updates since prior release:

  • Supports both the prior Adafruit LCD with backpack plus Sparkfun's SerLCD with QWIIC/STEMMA QT connector. The Sparkfun LCD is faster to render and physically takes up less space, particularly as the backlight control is through I2C and not separate pins on the Feather itself.
  • Supports soft power control with the rotary encoder in addition to the prior mode of a hard switch wired to EN/GND
  • Build script can now output to a user-specified directory
  • Added exemplar settings.toml for faster setup
  • More reliable detection of battery chaging state
  • Workaround for a CircuitPython bug that doesn't parse ISO timestamps ending with "Z" which Baby Buddy will emit when data is stored as UTC
  • Timers autoresume when online instead of needing to select the corresponding menu item first
  • Added sleep tracking; removed tummy time from menu--code is still there should you wish to use it
  • Better user-facing error messages
  • Applied timeout setting to API calls in addition to Wi-Fi connection itself
  • Offline support!
  • Reduced likelihood of 301 redirects to Baby Buddy
  • Running timers >= 1 hr now show "x hr y min z sec"
  • Most requests now automatically have notes about what BabyPod initiated it and battery state changes
  • Removed option to disable backlight given it makes negative LCDs useless when it's off
  • Show last feeding on main menu
  • Autodetection of child ID instead of assuming 1
  • Feeding bitmask to hide unnecessary feeding options from menu
  • Rewrote build script as a Python script instead of Bash with many more options
  • Built assets now target CircuitPython 9.1.x
  • Wi-Fi device hostname is now set to "babypod-macid" to more easily identify a BabyPod on the network
  • Low battery warning
  • Many other minor bug fixes, tweaks, and logging improvements

1.0.0

07 May 17:30
Compare
Choose a tag to compare

Initial release