#embedded-hal #embassy #critical-section #ch582 #ch581 #ch583

no-std ch58x-hal

HAL for the CH583/CH582/CH581 RISC-V BLE microcotrollers from WCH

3 releases

0.0.2 Jan 1, 2024
0.0.1 Oct 28, 2023
0.0.0 Oct 24, 2023

#1684 in Embedded development

MIT/Apache

3.5MB
17K SLoC

Contains (static library, 1MB) vendor/LIBCH58xBLE.a, (static library, 655KB) vendor/LIBCH58xMESHROM.a, (static library, 655KB) vendor/LIBMESH.a, (static library, 115KB) vendor/LIBWCHLWNS.a, (static library, 89KB) vendor/libRV3UFI.a, (static library, 6KB) vendor/libISP583.a

ch58x-hal

Github Actions Crates.io Crates.io docs.rs

HAL for the CH58x RISC-V BLE microcotrollers from WCH.

This crate is under random and active development. DO NOT USE in production.

This should be the reference hal implementation for CH57x, CH58x, CH59x.

Features

  • Basic: clock init, delay, interrupt, etc.
  • Dedicated runtime: interrupt table, hardware stack push, highcode support, critical section implementation
  • embassy support
    • time driver with SysTick, defaults to 32KHz tick
    • about 7k flash rom overhead
  • GPIO, with async support
  • UART, basic blocking tx, rx
  • RTC, with datetime support
  • SysTick delay (conflicts with embassy time driver)
  • I2C
  • ADC, with Temperature sensor, VBAT sensor
  • SPI
  • libISP ROM functions
  • Basic BLE library support

Usage

Refer Cargo.toml and examples directory.

Notes

  • UNDOCUMENTED: tags in code comments means the information is not from official documents.

References

Dependencies

~4MB
~73K SLoC