sipeed/bl602-hal

Hardware Abstract Layer for BL602 RISC-V WiFi SoC in embedded Rust

bl602-hal

.

Matrix: #bl602-rust:matrix.org

Minimum Supported Rust Version

The minimum supported Rust version (MSRV) for this project is Rust v1.42.0. The project might build on earlier versions, but this is the earliest version that is expected to work.

Contributing

We welcome the community to contribute to this project. Please fire an issue or pull request if you have any idea or contributions. Thank you!

License

This project is licensed under either of Mulan PSL v2 or MIT.

Copyright (c) 2020 Sipeed Co.,Ltd.
bl602-hal is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:

    http://license.coscl.org.cn/MulanPSL2

THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
Issues

Collection of the latest Issues

9names

9names

Comment Icon0

There's something wrong with the current UART free-running configuration or implementation. When transmitting, we sometimes will drop a single character. This happens quite often, but not at regular intervals. Sometimes we get a few thousand characters with no error, sometimes it happens after 100 chars.

Things I have tried to fix this:

  • Adjusting how we use the FIFO (only pushing data in when empty)
  • Setting FIFO thresholds to different values
luojia65

luojia65

Comment Icon9

There are many modules unfinished in this project.

  • Clock configuration for all modules
  • GPIO
  • ADC
  • DAC
  • DMA
  • IR (infrared peripheral)
  • SPI
  • UART (free-run mode)
  • UART (fifo mode)
  • I2C
  • PWM
  • TIMER
  • Watchdog Timer
  • BLE (link its binary or reverse)
  • WIFI (use smoltcp etc. for networking)

To avoid conflicts, please claim your work before contributions. You may reply to this issue like:

After your work is verified for peripheral function and code style, the corresponding to-do list entry is marked as finished. Please read this project's open-source license and BL602's reference manual before your work. Have fun!

If you need to cancel your work claim: thank you for concern on BL602-hal project! Please push (or pull request) your finished partial work, then modify your issue reply with ~delete line~.

Information - Updated May 27, 2022

Stars: 52
Forks: 10
Issues: 4

Repositories & Extras

Rust bindings for libinjection

Add libinjection to dependencies of Cargo

Rust bindings for libinjection

Rust bindings for the C++ api of PyTorch

LIghtweight wrapper for pytorch eg libtorch in rust

Rust bindings for the C++ api of PyTorch

Rust leveldb bindings

Almost-complete bindings for leveldb for Rust

Rust leveldb bindings

rust-analyzer is a modular compiler frontend for the Rust language

It also contains some tips & tricks to help you be more productive when using rust-analyzer

rust-analyzer is a modular compiler frontend for the Rust language

Rust-Lightning is a Bitcoin Lightning library written in Rust

lightning, does not handle networking, persistence, or any other I/O

Rust-Lightning is a Bitcoin Lightning library written in Rust

Rust FUSE - Filesystem in Userspace

Rust library crate for easy implementation of Crate documentation

Rust FUSE - Filesystem in Userspace

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code:

Some images of the test scenes are shown below, but you can find more

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code:

Rust Persian Calendar

1** provides functionality for conversion among Persian (Solar Hijri) and Gregorian calendars

Rust Persian Calendar

Rust DjangoHashers

A Rust port of the password primitives used in alternatice implementation: the package library that requires OpenSSL

Rust DjangoHashers

Rust on ESP32 "Hello, World" app

A demo binary crate for the ESP32 and ESP-IDF, which connects to WiFi, drives a small HTTP server and draws on a LED screen

Rust on ESP32 "Hello, World" app

Wifi and Bluetooth LE on ESP32C3 and ESP32 (on bare-metal Rust)

This is experimental and work-in-progress! You are welcome to experiment with it and contribute but probably shouldn't use this for something real yet

Wifi and Bluetooth LE on ESP32C3 and ESP32 (on bare-metal Rust)
Facebook Instagram Twitter GitHub Dribbble
Privacy