rmk 0.8.3

Keyboard firmware written in Rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "rmk"
version = "0.8.3"
authors = ["Haobo Gu <haobogu@outlook.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Keyboard firmware written in Rust"
homepage = "https://github.com/haobogu/rmk"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/haobogu/rmk"
resolver = "2"

[package.metadata.docs.rs]
features = [
    "split",
    "vial",
    "async_matrix",
    "_ble",
]

[features]
_ble = [
    "dep:trouble-host",
    "dep:rand_core",
    "dep:bt-hci",
    "storage",
]
_esp_ble = [
    "_ble",
    "dep:esp-hal",
]
_no_usb = []
_nrf_ble = [
    "_ble",
    "dep:embassy-nrf",
]
adafruit_bl = ["_nrf_ble"]
async_matrix = []
col2row = []
controller = []
default = [
    "defmt",
    "storage",
    "vial",
    "vial_lock",
]
defmt = [
    "dep:defmt",
    "rmk-types/defmt",
    "embedded-hal/defmt-03",
    "embedded-hal-async/defmt-03",
    "embedded-io-async/defmt-03",
    "embassy-time/defmt",
    "embassy-usb/defmt",
    "embassy-sync/defmt",
    "embassy-futures/defmt",
    "embassy-executor/defmt",
    "usbd-hid/defmt",
    "sequential-storage/defmt",
    "embassy-nrf?/defmt",
    "postcard/use-defmt",
    "trouble-host?/defmt",
    "bt-hci?/defmt",
    "heapless/defmt",
]
esp32c3_ble = [
    "_esp_ble",
    "_no_usb",
]
esp32c6_ble = [
    "_esp_ble",
    "_no_usb",
]
esp32s3_ble = ["_esp_ble"]
host = []
log = [
    "dep:log",
    "trouble-host?/log",
]
nrf52810_ble = [
    "_nrf_ble",
    "_no_usb",
]
nrf52811_ble = [
    "_nrf_ble",
    "_no_usb",
]
nrf52832_ble = [
    "_nrf_ble",
    "_no_usb",
]
nrf52833_ble = ["_nrf_ble"]
nrf52840_ble = ["_nrf_ble"]
pico_w_ble = [
    "_ble",
    "dep:embassy-rp",
]
rp2040 = [
    "dep:embassy-rp",
    "dep:embassy-hal-internal",
    "dep:rp-pac",
    "dep:pio",
    "dep:fixed",
]
split = [
    "controller",
    "trouble-host?/gatt-client-notification-queue-size-4",
]
std = [
    "embassy-executor/arch-std",
    "embassy-executor/executor-thread",
    "embassy-time/std",
    "embassy-time/generic-queue-128",
    "critical-section?/std",
]
storage = [
    "dep:embedded-storage",
    "dep:embedded-storage-async",
]
usb_log = [
    "dep:embassy-usb-logger",
    "log",
]
vial = ["host"]
vial_lock = ["vial"]

[lib]
name = "rmk"
path = "src/lib.rs"
doctest = false

[[test]]
name = "keyboard_combo_test"
path = "tests/keyboard_combo_test.rs"

[[test]]
name = "keyboard_layer_test"
path = "tests/keyboard_layer_test.rs"

[[test]]
name = "keyboard_macro_test"
path = "tests/keyboard_macro_test.rs"

[[test]]
name = "keyboard_morse_hold_on_other_press_test"
path = "tests/keyboard_morse_hold_on_other_press_test.rs"

[[test]]
name = "keyboard_morse_hrm_test"
path = "tests/keyboard_morse_hrm_test.rs"

[[test]]
name = "keyboard_morse_permissive_hold_test"
path = "tests/keyboard_morse_permissive_hold_test.rs"

[[test]]
name = "keyboard_morse_tap_dance_test"
path = "tests/keyboard_morse_tap_dance_test.rs"

[[test]]
name = "keyboard_morse_test"
path = "tests/keyboard_morse_test.rs"

[[test]]
name = "keyboard_one_shot_test"
path = "tests/keyboard_one_shot_test.rs"

[dependencies.bitfield-struct]
version = "0.12"

[dependencies.bt-hci]
version = "0.6"
optional = true

[dependencies.byteorder]
version = "1"
default-features = false

[dependencies.critical-section]
version = "1.2"
optional = true

[dependencies.defmt]
version = "1.0"
optional = true

[dependencies.document-features]
version = "0.2"

[dependencies.embassy-embedded-hal]
version = "0.5"

[dependencies.embassy-executor]
version = "0.9"

[dependencies.embassy-futures]
version = "0.1"

[dependencies.embassy-hal-internal]
version = "0.3.0"
optional = true

[dependencies.embassy-nrf]
version = "0.8"
features = [
    "unstable-pac",
    "time",
]
optional = true

[dependencies.embassy-rp]
version = "0.8"
optional = true

[dependencies.embassy-sync]
version = "0.7"

[dependencies.embassy-time]
version = "0.5"

[dependencies.embassy-usb]
version = "0.5"
features = [
    "max-interface-count-8",
    "max-handler-count-8",
]

[dependencies.embassy-usb-logger]
version = "0.5"
optional = true

[dependencies.embedded-hal]
version = "1.0.0"

[dependencies.embedded-hal-async]
version = "1.0.0"

[dependencies.embedded-io-async]
version = "0.6"

[dependencies.embedded-storage]
version = "0.3"
optional = true

[dependencies.embedded-storage-async]
version = "0.4"
optional = true

[dependencies.esp-hal]
version = "1.0"
optional = true

[dependencies.fixed]
version = "1.28.0"
optional = true

[dependencies.futures]
version = "0.3"
features = ["async-await"]
default-features = false

[dependencies.heapless]
version = "0.9"

[dependencies.log]
version = "0.4"
optional = true

[dependencies.paste]
version = "1"

[dependencies.pio]
version = "0.3.0"
optional = true

[dependencies.postcard]
version = "1"
features = ["experimental-derive"]

[dependencies.rand_core]
version = "0.6"
optional = true

[dependencies.rmk-macro]
version = "=0.7.1"

[dependencies.rmk-types]
version = "=0.2.2"

[dependencies.rp-pac]
version = "7.0.0"
optional = true

[dependencies.sequential-storage]
version = "6.0"

[dependencies.serde]
version = "1"
features = ["derive"]
default-features = false

[dependencies.ssmarshal]
version = "1.0"
default-features = false

[dependencies.static_cell]
version = "2"

[dependencies.strum]
version = "0.27"
features = ["derive"]
default-features = false

[dependencies.trouble-host]
version = "0.5.1"
features = [
    "gatt",
    "scan",
    "derive",
    "security",
]
optional = true

[dependencies.usbd-hid]
version = "0.9"

[dev-dependencies.critical-section]
version = "1.2"

[dev-dependencies.ctor]
version = "0.6.0"

[dev-dependencies.env_logger]
version = "0.11"

[dev-dependencies.rusty-fork]
version = "0.3.0"

[build-dependencies.chrono]
version = "0.4"

[build-dependencies.const-gen]
version = "1.6"

[build-dependencies.crc32fast]
version = "1.3"

[build-dependencies.rmk-config]
version = "=0.6.1"

[build-dependencies.serde]
version = "1.0"

[build-dependencies.serde_derive]
version = "1.0"

[build-dependencies.toml]
version = "0.9"

[target.'cfg(all(target_arch = "arm", target_os = "none"))'.dependencies.cortex-m]
version = "0.7"