content: [package]
  name = "rktk"
  description = "rktk - Rust Keyboard firmware Toolkit"
  version.workspace = true
  license.workspace = true
  edition.workspace = true
  authors.workspace = true
  repository.workspace = true
  build = "build/main.rs"
  readme = "../../README.md"
  
  [dependencies]
  kmsm = { workspace = true, features = ["state", "postcard"] }
  kmsm-rktk = { workspace = true }
  rktk-rrp = { workspace = true, features = ["server"], optional = true }
  
  rktk-log = { workspace = true }
  log = { workspace = true, optional = true }
  defmt = { workspace = true, optional = true }
  
  embassy-time = { workspace = true }
  embassy-sync = { workspace = true }
  embassy-futures = { workspace = true }
  embassy-executor = { workspace = true }
  
  critical-section = { workspace = true, optional = true }
  portable-atomic = { workspace = true }
  usbd-hid = { workspace = true }
  
  embedded-graphics = { workspace = true }
  display-interface = { workspace = true }
  
  heapless = { workspace = true }
  static_cell = { workspace = true }
  futures = { workspace = true, features = ["async-await"] }
  serde = { workspace = true, features = ["derive"] }
  postcard = { workspace = true, features = [
    "experimental-derive",
    "heapless-cas",
  ] }
  document-features = { workspace = true }
  itertools = { workspace = true }
  paste = { workspace = true }
  blinksy = { workspace = true }
  
  [build-dependencies]
  ssmarshal = { workspace = true, default-features = true }
  serde = { workspace = true, features = ["derive"] }
  serde_json = { workspace = true }
  macro_rules_attribute = { workspace = true }
  
  smart-default = { workspace = true }
  const-gen = { workspace = true }
  schemars = { workspace = true }
  
  [features]
  _check = ["alloc", "log", "defmt", "rrp-log"]
  
  ## Uses alloc to spawn arbitary tasks.
  ## For more detail, see next section.
  alloc = []
  
  ## Enables rrp
  rrp = ["dep:rktk-rrp"]
  ## Set rrp-over-usb logger of `log` crate
  rrp-log = ["dep:critical-section", "rrp", "log"]
  
  ## Logging using [`defmt`]. Intended for debugging.
  defmt = [
    "dep:defmt",
    "rktk-log/defmt",
    "kmsm/defmt",
    "heapless/defmt",
    "display-interface/defmt-03",
  ]
  ## Logging using [`log`]. Required to send logs via rrp.
  log = ["dep:log", "rktk-log/log"]
  