[package]
edition = "2024"
name = "urm37"
version = "1.2.0"
authors = ["Paul TESSON <paul.tesson.officiel@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Platform-agnostic no_std driver for the DFRobot URM37 V4.0 ultrasonic distance sensor (UART, PWM, Analog)"
documentation = "https://docs.rs/urm37"
readme = "README.md"
keywords = [
"embedded",
"driver",
"ultrasonic",
"urm37",
"no-std",
]
categories = [
"embedded",
"no-std",
"hardware-support",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/TESSON-MAKER/urm37-rs"
[features]
analog = ["dep:embedded-hal"]
async = []
blocking = []
default = [
"blocking",
"embedded-io-06",
]
defmt = ["dep:defmt"]
embedded-io-06 = [
"dep:embedded-io",
"dep:embedded-io-async-06-crate",
]
embedded-io-07 = [
"dep:embedded-io-07-crate",
"dep:embedded-io-async-07-crate",
]
pwm = [
"dep:embedded-hal",
"dep:embedded-hal-async",
]
uart = ["blocking"]
uart-async = ["async"]
[lib]
name = "urm37"
path = "src/lib.rs"
[[example]]
name = "mega2560_analog"
path = "examples/mega2560_analog.rs"
[[example]]
name = "mega2560_pwm"
path = "examples/mega2560_pwm.rs"
[[example]]
name = "mega2560_uart"
path = "examples/mega2560_uart.rs"
[[example]]
name = "stm32_analog"
path = "examples/stm32_analog.rs"
[[example]]
name = "stm32_pwm"
path = "examples/stm32_pwm.rs"
[[example]]
name = "stm32_uart_async"
path = "examples/stm32_uart_async.rs"
[[test]]
name = "eeprom_conversion"
path = "tests/eeprom_conversion.rs"
[[test]]
name = "protocol"
path = "tests/protocol.rs"
[[test]]
name = "uart_integration"
path = "tests/uart_integration.rs"
required-features = ["uart"]
[dependencies.defmt]
version = "1.0"
optional = true
[dependencies.embedded-hal]
version = "1.0"
optional = true
[dependencies.embedded-hal-async]
version = "1.0"
optional = true
[dependencies.embedded-io]
version = "0.6"
optional = true
[dependencies.embedded-io-07-crate]
version = "0.7"
optional = true
package = "embedded-io"
[dependencies.embedded-io-async-06-crate]
version = "0.6"
optional = true
package = "embedded-io-async"
[dependencies.embedded-io-async-07-crate]
version = "0.7"
optional = true
package = "embedded-io-async"
[dev-dependencies.embedded-io]
version = "0.6"