sipeed / bl602-hal

Hardware Abstract Layer for BL602 RISC-V WiFi + BLE SoC in embedded Rust
Other
74 stars 14 forks source link

Want to contribute? Claim your work here! #1

Open luojia65 opened 3 years ago

luojia65 commented 3 years ago

There are many modules unfinished in this project.

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

I'd like to work for UART (free-run mode).

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~.

Benjamin-L commented 3 years ago

I'd be interested in working on BLE, using the binary blob. I wish I was good enough at reversing to be useful for that, but unfortunately not.

The only set of HCI traits I can find are in bluetooth-hci. I'm not sure how usable or complete this crate is, but it'll be a good starting point.

luojia65 commented 3 years ago

@Benjamin-L That's very nice! You can try in your fork, and, feel free to design APIs and functions. Thank you for contribution! :)

bjoernQ commented 3 years ago

I will try to implement SPI master mode - probably not more than what the STM32F1xx hal offers for the start

bjoernQ commented 3 years ago

I will implement I2C functionality

bjoernQ commented 3 years ago

I will implement basic timer functionality including support for interrupts (but not watchdog - should be it's own PR IMHO)

bjoernQ commented 3 years ago

I started looking into using the wifi blobs from Rust. I can already do a wifi scan but it is really going to be a mess so I guess I should keep it in a separate repo/crate.

Problem with the blobs is we need ilp32f abi but none of the built-in targets support that (but we can use a target spec json and nightly build-std). Then we need ilp32f support in riscv and riscv-rt and certainly some support in the hal (probably the easiest thing).

As soon as it looks like something I can show, I will push the code to github. But it will probably take quite some time unfortunately.

kiyoshigawa commented 2 years ago

I will be working to implement generic time support for the timers per this issue: https://github.com/sipeed/bl602-hal/issues/36

kiyoshigawa commented 2 years ago

I will implement the Watchdog timer.

CobaltCause commented 2 years ago

Gonna take a stab at PWM