#state-machine #keyboard #keyboard-layout #bare-metal #embedded-devices #firmware

nightly no-std kll-core

KLL state-machine implementation focused on no_std embedded/bare-metal targets

9 releases

0.1.8 May 19, 2023
0.1.7 Nov 29, 2022
0.1.4 Jun 5, 2022
0.1.2 May 22, 2022
0.1.0 Apr 30, 2022

#2055 in Embedded development

Download history 30/week @ 2024-06-15 44/week @ 2024-06-22 7/week @ 2024-06-29 23/week @ 2024-07-06 30/week @ 2024-07-13 20/week @ 2024-07-20 26/week @ 2024-07-27 28/week @ 2024-08-03 18/week @ 2024-08-10 13/week @ 2024-08-17 21/week @ 2024-08-24 30/week @ 2024-08-31 11/week @ 2024-09-07 11/week @ 2024-09-14 53/week @ 2024-09-21 42/week @ 2024-09-28

121 downloads per month
Used in 11 crates (7 directly)

MIT/Apache

170KB
4K SLoC

kll-core

Rust docs.rs Crates.io Crates.io Crates.io

kll-core is the KLL (Kiibohd Layout Language) funcitonal state machine implementation. It is designed to be paired with the kll-compiler crate to process the generate state machine.

The main use-case for kll-core is embedded environments (no_std); however, it does work in standard environments. kll-core uses externally defined datastructures to build the state-machine so the functionality can be manipulated without having to recompile kll-core. This is especially important for embedded devices so firmware can be updated without having to change state configuration.

Usage

See kiibohd-firmware for the primary use-case.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~2.5MB
~53K SLoC