All changes to release version 0.3.0 for the firmware #36

Merged
ZAdamMac merged 10 commits from f/power-mangement-enhance into main 2023-09-23 21:31:05 -03:00
ZAdamMac commented 2023-09-23 21:28:52 -03:00 (Migrated from github.com)

v 0.3.0 - Power Management Updates

  • StateMachine - and thus the user progress data, are now persisted to FRAM.
    • Saves will persist between loss of power or BOR.
    • On BOR, user is prompted to confirm whether to clear the data or not using a localizeable warning.
  • Fixed a small logic bug that was increasing frame render times.
  • The battery LED and alert LED can now blink at one of two rates. This uses less power than leaving them on continuously.
  • Implemented DISPLAY_sleepLCD and DISPLAY_wakeLCD to turn on and off the display respectively. A new state integer is being used to determine if it is necessary to run the display update code. A full refresh is called when waking the display.
    • Implemented a debug callable to sleep the LCD.
    • Alerts currently trigger when the display is asleep and will wake the LCD.
  • Adds a new function HID_dumpQueue which blindly empties the input queue without handling it. This is useful in a variety of cases.
    • Currently called when waking the screen from sleep mode.
  • Adds Low Battery Detection near start of the main gameplay loop. Sets the global flag BATTERY_LOW from battery.h to a true-ish value if the battery has been detected to be low.
    • This exposed issue #35 in the hardware, which needs to be corrected.
    • When detected, the low battery will blink the LED.
    • Adds support for the LBO sensor to HWINIT
    • Adds crude support for showing the Low Battery Icon on the main game screen.
  • Corrects a longstanding issue that was causing full screen refreshes instead of the promised by-line refreshes. Should help with display-driven power usage.

Less-documented:

  • Corrects an issue in the revision D backplane schematic (but not the backplane pcb layout - yet) that corrects issue #35 in-hardware. The same effect can be achieved by removing resistor R3 on the revision C hardware.
  • Adds a new preprocessor directive to the Makefile that causes debugging-useful information to be printed to a file in the build directory for later use. This was helpful in developing the display sleep functionality.
# v 0.3.0 - Power Management Updates - StateMachine - and thus the user progress data, are now persisted to FRAM. - Saves will persist between loss of power or BOR. - On BOR, user is prompted to confirm whether to clear the data or not using a localizeable warning. - Fixed a small logic bug that was increasing frame render times. - The battery LED and alert LED can now blink at one of two rates. This uses less power than leaving them on continuously. - Implemented DISPLAY_sleepLCD and DISPLAY_wakeLCD to turn on and off the display respectively. A new state integer is being used to determine if it is necessary to run the display update code. A full refresh is called when waking the display. - Implemented a debug callable to sleep the LCD. - Alerts currently trigger when the display is asleep and will wake the LCD. - Adds a new function `HID_dumpQueue` which blindly empties the input queue without handling it. This is useful in a variety of cases. - Currently called when waking the screen from sleep mode. - Adds Low Battery Detection near start of the main gameplay loop. Sets the global flag `BATTERY_LOW` from battery.h to a true-ish value if the battery has been detected to be low. - This exposed issue #35 in the hardware, which needs to be corrected. - When detected, the low battery will blink the LED. - Adds support for the LBO sensor to HWINIT - Adds crude support for showing the Low Battery Icon on the main game screen. - Corrects a longstanding issue that was causing full screen refreshes instead of the promised by-line refreshes. Should help with display-driven power usage. Less-documented: - Corrects an issue in the revision D backplane *schematic* (but not the backplane pcb layout - yet) that corrects issue #35 in-hardware. The same effect can be achieved by removing resistor R3 on the revision C hardware. - Adds a new preprocessor directive to the Makefile that causes debugging-useful information to be printed to a file in the build directory for later use. This was helpful in developing the display sleep functionality.
ZAdamMac commented 2023-09-23 21:30:58 -03:00 (Migrated from github.com)

These changes do not include the service manual updates. Most of the service manual changes for this firmware update will be fairly minor as player functionality was not really changed. A project to redesign the service manual and provide an online documentation source of similar comprehensive coverage is planned and will be started in the next 30 days.

Otherwise, good to merge.

These changes *do not* include the service manual updates. Most of the service manual changes for this firmware update will be fairly minor as player functionality was not really changed. A project to redesign the service manual and provide an online documentation source of similar comprehensive coverage is planned and will be started in the next 30 days. Otherwise, good to merge.
Sign in to join this conversation.
No description provided.