Plans for keyboard / battery STM32 firmware

What are the plans for the STM32 api? Is it going to be stable? Can we expect users to upgrade to new versions (just so some code was updated)? I guess the flashing method precludes including an STM32 firmware with every uf2…

I don’t know about the plans, but I have my own version with various fixes and improvements…
http://ffauploads.com/picocalc_keyboard.ino.bin

differences from stock shipped firmware:

  • ability to read backlight of screen and keyboard
  • ability to read battery %
  • allows setting backlight of keyboard
  • other bugfixes from current firmware related to i2c and such

differences from both stock and current firmware:

  • improved backlight curves (in my opinion) for display and keyboard
  • ability to read battery % sooner after boot (2 seconds instead of 20)
4 Likes

Any pointers to what you mean by “current” firmware?

Is it the one @hisptoot provided here?
discussion:

download:

source:

Or is there another one that I missed somewhere on the forums? As far as I know, the only one on the official Clockwork repo is the one that shipped with the device, which still has bugs (or at least is missing features) and is out of date. Would be good to see some/all of these keyboard fixes made in the official Clockwork repo, @guu.

Also, @pkr, is source for your custom keyboard firmware available anywhere?

I’m also wondering if either of these newer keyboard firmwares fixes the keyboard disconnect issue we’ve been facing with updated versions of the PicoMite builds sync’d with the latest from the PicoMite devs. I thought it was something that changed in the PicoMite sources and was causing a conflict, but maybe it was the keyboard firmware all along! Guess I need to flash and find out…

By “current” I mean the latest source code on the official GitHub. There has been only one binary update, and that was to fix the battery % reporting. The firmware must be manually compiled to get the latest fixes.

Most of the changes for my version can be found @ PicoCalc/Code/picocalc_keyboard at master · prokrypt/PicoCalc · GitHub

I haven’t submitted any of the backlight curve improvements because it’s done in a pretty ugly (quick and dirty) way. I’m just waiting for someone more computer-literate to go “oh hey, I really like this” and incorporate my improvements and make a pull request :laughing:

2 Likes

Ah, I stand corrected – I didn’t realize there was an official github update for the keyboard firmware. Though hopefully they’ll update the binary too since not everyone will want to build it. Not to mention I hope they start including it on the shipped devices. :wink:

Thanks for the source pointer!

I’m most interested in i2c fixes, so I’m probably not “that guy”, but the backlight curve improvements sound like they could be useful. I kind of found a happy backlight setting for myself and haven’t changed it since, but I also don’t tend to use the PicoCalc in drastically different environments, so I haven’t had the need to change it. Maybe I should go outside! (Hehe)

Some features I’d like added to the keyboard firmware:

  • API to change the delay and repeat timing of keys
  • (I don’t know if that’s possible) define hotkeys for rebooting the pico when it’s crashed, or in USB fs mode.

Both of those are certainly possible. Shift+powerbutton might be a nice combo for power reset…

http://ffauploads.com/picocalc_keyboard_rebooter2.bin there, I implemented shift+power for reboot, just for shits and giggles… I have it reset the i2c system too, so it may or may not resolve keyboard problems when they pop up…

4 Likes

Where are we at now with the STM32 code ?.

I have questions too…

  1. How do we flash the onboard STM32 ?, no doubt via the USBC but with what software ?.
  2. How can we tell what version is in there now ?, hopefully by MMBasic somehow too.
  3. In what way is the ‘official’ v1.1 better than what is supplied ?
1 Like

Thanks, Windows here so will be using CubeProgrammer. Yet what is this mention of a v1.2 ?

  • Open file ,load PicoCalc_BIOS_v1.2.bin

It’s the latest keyboard firmware

1 Like

Thanks !, do we have a changelog/feature list for 1.2 ?

commit log shows something like changelog

1 Like