-
Notifications
You must be signed in to change notification settings - Fork 55
Building a binary
As far as the author knows, building a PRK binary, or to be exact, preparing a build environment can be done in only Linux. WSL2 should work, too.
If you are a macOS user, try docker instead, although M1 Mac possibly doesn't work (tell us if it does).
See prk_firmware/Dockerfile. It includes a guidance.
-
Make sure you have CRuby (MRI) because "Static type checking" by Steep will be invoked in the build process
-
Setup Raspberry Pi Pico C/C++ SDK
- Follow the instructions on https://github.com/raspberrypi/pico-sdk#quick-start-your-own-project
- Make sure you have
PICO_SDK_PATHenvironment variable
- Make sure you have
- Follow the instructions on https://github.com/raspberrypi/pico-sdk#quick-start-your-own-project
-
Clone the
prk_firmwarewherever you like(be sure to add
--recursive)git clone --recursive https://github.com/picoruby/prk_firmware.git -
Setup (for the first time only)
cd prk_firmware/ rake setup -
Build
rakeNow you should have
prk_firmware-[version]-[date]-[hash].uf2file inprk_firmware/build/directory.
You may want PRK Firmware not to be a mass storage device in case that your employer doesn't allow you to bring a USB memory 🙈
If so, you can build a binary including your keymap.rb in this way:
-
Clone a keymap repository, for example, "meishi2" which is a 2x2 matrix card-shaped keyboard in
prk_firmware/keyboardsdirectorycd keyboards git clone https://github.com/picoruby/prk_meishi2.git -
Build
cd .. # back to prk_firmware/ rake build_with_keymap[prk_meishi2]Now you should have
prk_firmware-[version]-[date]-no_msc.uf2file inprk_firmware/keyboards/prk_meishi2/build/directory which includes your keymap in code.
- Getting started
- Keyboard features
- Keycodes (ja)
- Mouse (ja)
- Layers and mode key (ja)
- Debounce
- Composite key
- Split-type keyboard
- Keyscan matrix
- Num Lock, Caps Lock and Scroll Lock
- Useful methods that make you free
- BIOS mode
- Other features
- Examples
- Development
- Contribute to the Wiki
- FAQ