Skip to content

Releases: picoruby/prk_firmware

A Whole New PicoRuby😎

17 Nov 00:07
Compare
Choose a tag to compare

Almost one year has passed since the last release. We have been working on improving the PRK Firmware!

Breaking Change 💣

  • No breaking change in this release

New Feature 🎉

  • On startup, if you connect a terminal emulator to com port, you can skip starting the keyboard task by pressing s according to the message on the terminal
    • This feature is useful when your keymap.rb breaks and hangs up the keyboard
    • Note that s key should be sent from the other keyboard that is working fine. This means you have to have multiple keyboards (I'm sure you do)⌨⌨⌨⌨

Improvement 🔈

  • Replace PicoRuby with a new one:
    • The Ruby parser is now Prism!
    • Many bugs are fixed in the virtual machine and libraries
    • Stability should be improved a lot🤞

Full Changelog: 0.9.23...0.10.0

Load external libraries by `require`

19 Nov 05:52
Compare
Choose a tag to compare
Pre-release

require and load🧐

  • It is now possible to load external libraries by require and load. See wiki/require

Full Changelog: 0.9.22...0.9.23

cocot46plus works!!!!

04 Sep 09:46
Compare
Choose a tag to compare
cocot46plus works!!!! Pre-release
Pre-release

Software (Bitbang) SPI

  • PicoRuby now supports software SPI because cocot46plus takes advantage of pins other than the hardware SPI of RP2040. See the example keymap.rb in picoruby/prk_cocot46plus

Mouse 🐭🖱🖲️

23 May 00:01
Compare
Choose a tag to compare
Mouse 🐭🖱🖲️ Pre-release
Pre-release

Mouse class with I2C, SPI, and ADC

  • Now you can configure any device such as a trackball, touchpad, and joystick as a Mouse by taking advantage of hardware peripheral features like I2C, SPI, and ADC
  • Currently, a Mouse instance on the partner half of a split-type keyboard does not work. We are investigating how to implement
  • Because this Mouse feature is experimental, the API design may change during the implementation to make it work on both halves
  • Take a good look at wiki/Mouse

The mass storage drive is re-implemented with File class of PicoRuby

  • The name of the drive is changed from PRKFirmware to PRK DRIVE
  • keymap.rb is no longer deleted on re-installing PRK's uf2
  • This re-implementation basically should not affect any other keyboard behaviors

Known issue

  • Although the drive's functionality is sanity, the host computer sometimes recognizes the drive name as USB Drive instead of PRK DRIVE. Send us a patch if you could fix it!

What's Changed

New Contributors

Full Changelog: 0.9.20...0.9.21

Fix start-up bug and deprecate the one-way UART

26 Dec 02:59
Compare
Choose a tag to compare

Bug fix 💡

  • The instability when start-up especially upgrading uf2 is fixed

Deprecation

  • Hardware one-way UART on split-type is deprecated. Instead, software mutual UART is now the default and the only option
    • Keyboard#mutual_uart_at_my_own_risk= no longer takes any effect

What's Changed

Full Changelog: 0.9.19...0.9.20

Working on macOS and iOS again 🍎

04 Dec 09:06
59fe7f7
Compare
Choose a tag to compare
Pre-release

Bug fix🐛

  • An issue that PRK isn't recognized by macOS and iOS from version 0.9.15

Improvement 🔈

  • Sounder pitch might become correct than before but the author experiences somehow unstable behavior until now. Please ping us your opinion from an actual usage

What's Changed

New Contributors

Full Changelog: 0.9.18...0.9.19

RGB Matrix, Sounder and Music Macro Language🌈🎸🎼

17 Sep 00:37
Compare
Choose a tag to compare

RGB Matrix🌈

See wiki/RGB Matrix.

Sounder🎸 & Music Macro Language🎼

See wiki/Sounder and wiki/Music Macro Languagel

Keyboard#inject_switch

You can arbitrarily inject a switch position of the matrix as if it was tapped.

See wiki/Keyboard#inject_switch.

[Experimental] BIOS mode🛠️

See wiki/BIOS mode.

Many thanks to @yswallow !!!!

Consumer key, Rotaty encoder & Debug print

06 Aug 02:24
Compare
Choose a tag to compare

Consumer key 🔈🔇🔊

See wiki/Consumer key

Keyboard#send_key🎛️

It now accepts multiple keycodes.
Good for combining with rotary encoders. Check an example on wiki/Rotary encoder.

PRK_DESCRIPTION📝

Version number, built date, and revision hash are shown on the serial console at boot time.

PicoRuby version 3.1🔥

The programming processing system, PicoRuby, upgraded from 3.0 to 3.1.
This shouldn't affect any external behavior regarding keyboard (hopefully🤞).

One beneficial thing to users is that the functionality of exceptions improved.
Let's say you mistakenly write kbd = Keyb_oard.new, not kbd = Keyboard.new, an error message will show on the serial console:

In such a situation, your keyboard doesn't work as a keyboard but the PRKFirmware storage drive keeps alive. Until version 0.9.16, the drive was unexpectedly unmounted and you might have difficulty rewriting your keymap.rb.

Again, we strongly recommend using a serial console when your keymap.rb doesn't work. See wiki/Debug print

Bug fix🐛

  • An issue related to "Startup time reduced⌨💨" issues/120
  • An issue of RGB issue/122
  • Improve serial console print that used to be often tangled

Big thanks to @yswallow and @techmech-keeb

[Experimental] Startup time reduced💨

20 Jul 13:01
5837b38
Compare
Choose a tag to compare
Pre-release

Improvements

  • The startup time has been significantly reduced😎
    Because this is an experimental improvement, we really hope all guys try this version and report to us if there's a problem of any kind🙏

🕹Joystick and more👾

19 Jul 07:27
Compare
Choose a tag to compare
Pre-release

Joystick

Improvements

Bug fix

  • A bug that some alias keycodes didn't work issue/106
  • Some fixes of VIA. Thanks to @yswallow