Added skeleton for HAL and updated readme

This commit is contained in:
evan 2021-01-25 15:42:43 -05:00
parent 22a3669a9d
commit 98baabec93
20 changed files with 67 additions and 18 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.idea/

View file

@ -27,12 +27,6 @@
<details open="open"> <details open="open">
<summary><h2 style="display: inline-block">Table of Contents</h2></summary> <summary><h2 style="display: inline-block">Table of Contents</h2></summary>
<ol> <ol>
<li>
<a href="#about-the-project">About The Project</a>
<ul>
<li><a href="#built-with">Built With</a></li>
</ul>
</li>
<li> <li>
<a href="#getting-started">Getting Started</a> <a href="#getting-started">Getting Started</a>
<ul> <ul>
@ -81,6 +75,8 @@ For more examples, please refer to the [Documentation](https://github.com/rp-rs/
<!-- ROADMAP --> <!-- ROADMAP -->
## Roadmap ## Roadmap
NOTE This HAL is under active development. As such, it is likely to remain volatile until a 1.0.0 release.
See the [open issues](https://github.com/rp-rs/rp-hal/issues) for a list of proposed features (and known issues). See the [open issues](https://github.com/rp-rs/rp-hal/issues) for a list of proposed features (and known issues).

View file

@ -1,10 +1,10 @@
[package] [package]
name = "pico-bsc" name = "pico-bsp"
version = "0.1.0" version = "0.1.0"
authors = ["evan <evanmolder@gmail.com>"] authors = ["evan <evanmolder@gmail.com>"]
edition = "2018" edition = "2018"
homepage = "https://github.com/rp-rs/rp-hal/boards/pico-bsc" homepage = "https://github.com/rp-rs/rp-hal/boards/pico-bsc"
description = "Board Support Crate for the Raspberry Pi Pico" description = "Board Support Package for the Raspberry Pi Pico"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -10,5 +10,7 @@ license = "MIT OR Apache-2.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
rp2040-pac = "0.1.0" cortex-m = "0.7.1"
embedded-hal = "1.0.0-alpha.4" embedded-hal = "0.2.4"
nb = "1.0.0"
rp2040-pac = "0.1.1"

3
rp2040-hal/src/adc.rs Normal file
View file

@ -0,0 +1,3 @@
//! Analog-Digital Converter (ADC)
// See [Chapter 4 Section 9](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

3
rp2040-hal/src/i2c.rs Normal file
View file

@ -0,0 +1,3 @@
//! Inter-Integrated Circuit (I2C) bus
// See [Chapter 4 Section 3](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

View file

@ -1,7 +1,25 @@
#[cfg(test)] //! HAL for the RP2040 microcontroller
mod tests { //!
#[test] //! This is an implementation of the [`embedded-hal`] traits for the RP2040 microcontroller
fn it_works() { //! NOTE This HAL is still under active development. This API will remain volatile until 1.0.0
assert_eq!(2 + 2, 4);
} #![deny(missing_docs)]
} #![deny(warnings)]
#![no_std]
extern crate cortex_m;
extern crate embedded_hal as hal;
extern crate nb;
pub extern crate rp2040_pac as pac;
pub mod adc;
pub mod i2c;
pub mod prelude;
pub mod pwm;
pub mod rtc;
pub mod spi;
pub mod ssi;
pub mod timer;
pub mod uart;
pub mod usb;
pub mod watchdog;

View file

@ -0,0 +1 @@
//! Prelude

3
rp2040-hal/src/pwm.rs Normal file
View file

@ -0,0 +1,3 @@
//! Pulse Width Modulation (PWM)
// See [Chapter 4 Section 5](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

3
rp2040-hal/src/rtc.rs Normal file
View file

@ -0,0 +1,3 @@
//! Real Time Clock (RTC)
// See [Chapter 4 Section 8](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

3
rp2040-hal/src/spi.rs Normal file
View file

@ -0,0 +1,3 @@
//! Serial Peripheral Interface (SPI)
// See [Chapter 4 Section 4](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

3
rp2040-hal/src/ssi.rs Normal file
View file

@ -0,0 +1,3 @@
//! Synchronous Serial Interface (SSI)
// See [Chapter 4 Section 10](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

1
rp2040-hal/src/time.rs Normal file
View file

@ -0,0 +1 @@
//! Time units

3
rp2040-hal/src/timer.rs Normal file
View file

@ -0,0 +1,3 @@
//! Timers
// See [Chapter 4 Section 6](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

3
rp2040-hal/src/uart.rs Normal file
View file

@ -0,0 +1,3 @@
//! Universal asynchronous receiver-transmitter (UART)
// See [Chapter 4 Section 2](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

3
rp2040-hal/src/usb.rs Normal file
View file

@ -0,0 +1,3 @@
//! Universal Serial Bus (USB)
// See [Chapter 4 Section 1](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO

View file

@ -0,0 +1,3 @@
//! Watchdog
// See [Chapter 4 Section 7](https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf) for more details
// TODO