You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is unsupported to write to flash from one core while the other is using it. Our runtime flash users are the configuration and tinyusb. The current implementation has writeToFlash use multicore_lockout before writing to essentially disable interrupts on the other core (where tinyusb is running). This keeps from crashing the USB host, but the disabling of interrupts does cause e.g. a MagicBoots to unpair and thus authentication can be dropped if that's in the middle of happening when interrupts are disabled.
Meanwhile, we save the config to flash in the following instances:
in Turbo when changing the shot count
in NeoPicoLED (?? need to look into this one)
ConfigManager::setGamepadOptions but this looks like vestigial code
changing JS modes
changing SOCD cleaner modes
setting invert X/Y axis
setting 4-way modes
changing profiles
changing input modes (at boot time)
Most of these are just saving to config after changing a runtime setting, e.g. the SOCD modes, profiles, and similar toggles. In order to not interrupt auth, I think not saving, or saving in a more limited/controlled manner, is worth investigating.
The text was updated successfully, but these errors were encountered:
It is unsupported to write to flash from one core while the other is using it. Our runtime flash users are the configuration and tinyusb. The current implementation has
writeToFlash
usemulticore_lockout
before writing to essentially disable interrupts on the other core (where tinyusb is running). This keeps from crashing the USB host, but the disabling of interrupts does cause e.g. a MagicBoots to unpair and thus authentication can be dropped if that's in the middle of happening when interrupts are disabled.Meanwhile, we save the config to flash in the following instances:
ConfigManager::setGamepadOptions
but this looks like vestigial codeMost of these are just saving to config after changing a runtime setting, e.g. the SOCD modes, profiles, and similar toggles. In order to not interrupt auth, I think not saving, or saving in a more limited/controlled manner, is worth investigating.
The text was updated successfully, but these errors were encountered: