content: [package]
  name = "sifli-hal"
  version = "0.1.1"
  edition = "2021"
  description = "Hardware Abstraction Layer (HAL) for SiFli MCUs"
  categories = ["hardware-support", "embedded", "no-std"]
  keywords = ["hal", "sf32", "sifli"]
  repository = "https://github.com/OpenSiFli/sifli-rs"
  documentation = "https://docs.rs/sifli-hal"
  homepage = "https://github.com/OpenSiFli/sifli-rs"
  readme = "README.md"
  license = "Apache-2.0"
  
  [dependencies]
  # sifli-pac = { version = "0.1.0", path = "../../sifli-pac" }
  sifli-pac = { version = "0.2.0", git = "https://github.com/OpenSiFli/sifli-pac" }
  
  embassy-sync = { version = "0.7" }
  embassy-time-driver = { version = "0.2", optional = true }
  embassy-time-queue-utils = { version = "0.3", optional = true }
  embassy-time = { version = "0.5.0", optional = true }
  embassy-futures = { version = "0.1" }
  embassy-embedded-hal = { version = "0.5" }
  # prio-bits-3: sf32lb52, 55, 56, 58
  embassy-hal-internal = { version = "0.2.0", features = ["cortex-m", "prio-bits-3"] }
  embassy-usb-driver = { version = "0.2" }
  
  defmt = { version = "1", optional = true }
  log = { version = "0.4.14", optional = true }
  critical-section = "1.2.0"
  cfg-if = { version = "1", features = ["core"] }
  futures-util = { version = "0.3.31", default-features = false }
  nb = "1.1.0"
  musb ={ version =  "0.3.0", features = ["embassy-usb-driver-impl", "prebuild"], optional = true }
  
  # TODO: multicore critical-section impl
  cortex-m = { version = "0.7.7" }
  cortex-m-rt = "0.7"
  
  embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] }
  embedded-hal-1 = { package = "embedded-hal", version = "1.0" }
  embedded-hal-async = { version = "1.0" }
  embedded-hal-nb = { version = "1.0" }
  
  embedded-io = { version = "0.6.1" }
  embedded-io-async = { version = "0.6.1" }
  embedded-storage = { version = "0.3" }
  embedded-storage-async = { version = "0.4.1" }
  portable-atomic = { version = "1.11.1", features = ["require-cas"] }
  
  [build-dependencies]
  serde = { version = "1.0", features = ["derive"] }
  serde_yaml = "0.9"
  proc-macro2 = "1.0.93"
  quote = "1.0.38"
  regex = "1.11"
  syn = "2.0"
  
  [features]
  # default = ["rt"]
  default = ["rt", "time", "defmt", "set-msplim", "usb", "sf32lb52x"]
  
  rt = ["sifli-pac/rt"]
  time = ["embassy-time"]
  
  set-msplim = []
  
  defmt = ["dep:defmt", 
      "sifli-pac/defmt",
      "embassy-hal-internal/defmt",
      "musb?/defmt",
  ]
  
  log = ["dep:log"]
  
  usb = ["musb"]
  
  ## Reexport the PAC for the currently enabled chip at `sifli_hal::pac`.
  ## This is unstable because semver-minor (non-breaking) releases of `sifli-hal` may major-bump (breaking) the PAC version.
  ## If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
  ## There are no plans to make this stable.
  unstable-pac = []
  
  sf32lb52x = ["sifli-pac/sf32lb52x", "musb?/builtin-sf32lb52x"]
  
  time-driver-atim1 = ["_time-driver-atim"]
  time-driver-gptim1 = ["_time-driver-gptim"]
  time-driver-gptim2 = ["_time-driver-gptim"]
  
  _time-driver-atim = ["_time-driver"]
  _time-driver-gptim = ["_time-driver"]
  _time-driver = ["embassy-time-driver", "embassy-time-queue-utils"]
  
  ## Enable this feature to disable the overclocking check.
  ## DO NOT ENABLE THIS FEATURE UNLESS YOU KNOW WHAT YOU'RE DOING.
  unchecked-overclocking = []
  
  [package.metadata.docs.rs]
  default-target = "thumbv8m.main-none-eabihf"
  