49 Commits

Author SHA1 Message Date
Jesse Braham
e764194f2f Implement non-blocking SPI traits from embedded-hal alpha 2022-06-14 17:28:03 +02:00
Jesse Braham
8663153e12 Implement the embedded-hal alpha traits for the GPIO and I2C drivers 2022-06-14 17:28:03 +02:00
bjoernQ
9c244ba16c Make sure that HAL users don't need to depend on esp-hal-common 2022-06-13 16:38:58 +02:00
Scott Mabin
4acdf2516c
[esp32c3] SYSTIMER peripheral (#76)
* initial systimer impl
* Add systimer example
* Make Alarms real singletons
  * Remove runtime Option, turn into compile error
  * Make Systimer::now() not take self
* refactor shared alarm methods
* Implement esp32c3 delay with monotonic SystemTimer::now()
* Add extend systimer support to esp32s3 and add example
* systimer: esp32s2 support
2022-06-10 07:53:45 -07:00
Björn Quentin
3fd4b03144
Add boot-default ClockConfig (#77) 2022-06-09 13:51:17 +01:00
Juraj Sadel
b382a019d4
Feature/time types (#64)
* Use fugit time types for SPI peripheral, update examples

* initial WIP

* fix CI build errors

* Use extension trait in examples

Co-authored-by: Jesse Braham <jesse@beta7.io>
2022-05-31 11:39:44 +01:00
Robert Wiewel
a55c9d77ec Add RMT output channel support for all current ESP32 variants
- Add RMT output channel support for ESP32, ESP32-S2, ESP32-S3, ESP32-C3
- Add add RMT adapter for `smart-leds` crate
- Add example `hello_rgb` for ESP32-S2, ESP32-S3 and ESP32-C3 that either
  drives one LED at the pin where a LED is located on the official devkits
- Add example `hello_rgb` for ESP32 that is driving a 12-element RGB ring.
2022-05-17 15:56:25 +02:00
Jesse Braham
67bd5837cd Make cargo manifests consistent and bump dependencies 2022-05-05 11:56:43 +02:00
bjoernQ
67f21460f8 Implement workaround for ESP32 errata 3.6 2022-05-03 10:08:24 +02:00
Jesse Braham
c0a584ecfa
Add a minimal driver for the USB_SERIAL_JTAG peripheral (#56)
* Add a minimal driver  for the USB_SERIAL_JTAG peripheral implementing core::fmt::Write
2022-05-02 03:55:36 -07:00
Björn Quentin
eb47b0fe21
Bump riscv version (#51)
* Bump riscv version

* Bump riscv version in esp-hal-common
2022-04-22 08:00:17 -07:00
bjoernQ
033824391d Add linker script entries needed for wifi drivers on ESP32C3 2022-04-12 09:25:23 -07:00
bjoernQ
3113861290 Fix cargo run for ESP32C3 2022-04-05 15:11:37 +02:00
Jesse Braham
fc37bc5d1f Modify esp32c3-hal to use a direct-boot feature instead of normalboot 2022-03-29 09:45:06 -07:00
Douman
9a3b0a530f Introduce optional ufmt support 2022-03-21 16:31:20 +09:00
bjoernQ
651d27430a Replace the precompiled asm.S with global-asm 2022-03-14 09:33:05 -07:00
bjoernQ
15c34c23e4 Merge branch 'main' into feature/spi 2022-03-10 17:51:18 +01:00
Jesse Braham
bad8020abe Implement the embedded-hal Read trait for the RNG peripheral 2022-03-10 08:14:39 -08:00
bjoernQ
c7dfabcefe Fix ESP32C3 bootloader mode 2022-03-10 07:34:31 -08:00
bjoernQ
3f7a675b1e Implement SPI 2022-03-10 11:03:20 +01:00
bjoernQ
e7eea75ef8 Add timer interrupt support and examples 2022-03-04 09:54:28 -08:00
bjoernQ
a6dc853a82 I2C peripheral name got changed for ESP32C3 2022-03-02 10:18:58 +01:00
bjoernQ
e34319b763 Apply more suggestions from code review 2022-03-02 09:38:06 +01:00
bjoernQ
b3e8f930cf Disable WDT in I2C examples 2022-03-01 14:37:04 +01:00
bjoernQ
af9fecb8af Address FIXME comments from #22 2022-03-01 14:25:36 +01:00
bjoernQ
9bfe643f33 Implement I2C 2022-03-01 14:16:57 +01:00
Robert Wiewel
21b64f5c28 WIP: Prototype of shared I2C implementation
- Add example for I2C display example for ESP32-C3 and ESP32
- Example works for ESP32-C3, but not yet for ESP32
- Dependent on patched and forked `esp-pacs` version (referenced
  relatively for now, please check out and place accordingly)
2022-03-01 14:16:57 +01:00
bjoernQ
4cc78c4b6b Move GPIO type definitions to esp-hal-common 2022-03-01 14:16:57 +01:00
Robert Wiewel
2bd1e64df1 Fix comment in esp32c3 ram example 2022-02-28 08:54:26 +01:00
Robert Wiewel
dc59f7b777 Don't disable RWDT boot protection in RAM examples 2022-02-28 08:47:37 +01:00
Robert Wiewel
fe03af805b Fix mutability assumptions of RTC_CNTL for ESP32C3 2022-02-25 23:41:11 +01:00
bjoernQ
83f961431c Support atomic emulation for ESP32C3 if needed 2022-02-24 15:40:41 +00:00
bjoernQ
e7ad8ce7a1 Depend on the published riscv-rt 2022-02-24 15:40:41 +00:00
bjoernQ
7b59c9e76d Move linker scripts to sub-folders 2022-02-18 12:00:05 +01:00
bjoernQ
cac30b7544 Add basic interrupt support for ESP32C3 and ESP32 2022-01-31 16:34:45 +00:00
Björn Quentin
70109ffe36
Initial implementation of ram proc macro (#6)
* Add .iram section for ESP32C3, make it possible to use direct-boot or normal-boot

* Add ram proc-macro
2022-01-18 10:02:40 -08:00
Jesse Braham
fda410633b Various updates all READMEs 2022-01-12 13:52:01 -08:00
Jesse Braham
9a030cbf78 Implement DelayMs and DelayUs traits from embedded-hal 2022-01-10 13:52:46 -08:00
Jesse Braham
a9cf53a001 Clean up imports/exports, normalize/update examples 2022-01-10 10:21:40 -08:00
Jesse Braham
b953041da0 Format GPIO-related macros and their invocations to improve readability 2022-01-06 09:34:32 -08:00
Jesse Braham
34ca298698 Update each package's Cargo manifest 2022-01-06 08:19:28 -08:00
Jesse Braham
ed2214a9fc Update each package's README 2022-01-06 08:08:32 -08:00
Björn Quentin
6d94b61268
Shared GPIO Implementation (#3)
* make esp32c3 examples run from flash / flashable
* use gpio3 for blinky
* direct boot in Cargo.toml
* have a shared gpio impl
* use PACs from their original locations again
2022-01-06 07:57:55 -08:00
Jesse Braham
4e9ad72839 Assorted updates to make most things build properly... still some errors 2021-11-23 20:12:34 -08:00
Jesse Braham
7fa2c4dbcf Implement IOMUX/GPIO for ESP32-C3, add blinky/serial_echo examples 2021-10-29 13:07:03 -07:00
Jesse Braham
2b27d10aa4 Convert to workspace, shortened chip selection feature names 2021-10-29 10:24:24 -07:00
Jesse Braham
579c5ba71b Extract UART peripheral implementation, prelude into esp-hal-common 2021-10-22 11:24:18 -07:00
Jesse Braham
dfab5d6c1b Add the esp-hal-common crate and make ESP32/ESP32-C3 use its Timer 2021-10-21 17:28:11 -07:00
Jesse Braham
64d9430d84 Add a minimal HAL crate for the ESP32-C3 with a serial example 2021-10-21 14:44:04 -07:00