Jesse Braham
2417cd0b33
Update the prelude, adding a public module for the embedded-hal alpha traits
2022-06-14 17:28:03 +02:00
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
Jesse Braham
9b033d44db
Implement the embedded-hal alpha traits for the Delay and Serial 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
bjoernQ
918f7a7c8e
Electrical state of open drain output can be read
2022-06-13 16:38:58 +02:00
bjoernQ
86f4d02782
Fix wrong SCL for ESP32,ESP32S2
2022-06-10 19:02:12 +02:00
Björn Quentin
1752e17531
Merge pull request #78 from bjoernQ/refactor_gpio
...
Simplify GPIO Macros
2022-06-10 17:03:18 +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
bjoernQ
0dd0238ce7
Simplify GPIO Macros
2022-06-10 15:04:23 +02:00
Jesse Braham
0c61e7eeef
Fix build errors introduced by updating the esp-pacs dependency
2022-06-09 10:35:18 -07:00
Björn Quentin
3fd4b03144
Add boot-default ClockConfig ( #77 )
2022-06-09 13:51:17 +01:00
Jesse Braham
422cd5036d
Use the PTR constant instead of the ptr() function for peripherals
2022-06-07 10:08:52 -07:00
Juraj Sadel
e9d25153c6
Change frequency for all Xtensa chips
2022-06-03 19:56:21 +02: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
Jesse Braham
e745e84869
Fix a whole bunch of clippy warnings
2022-05-05 11:51:12 +02:00
Jesse Braham
ec6a82b3f4
Clean up imports and format all packages
2022-05-05 11:16:05 +02:00
bjoernQ
23b6e17e52
Pass the right TrapFrame to the exception handler
2022-05-05 11:13:27 +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
0f58f84873
Bump version of xtensa-lx, use correct features
2022-04-20 08:32:45 -07:00
bjoernQ
43c8f34e5f
Update xtensa-lx-rt, fix interrupt related examples
2022-04-04 08:52:27 -07:00
bjoernQ
e83fd25e49
Optionally pass interrupt context to handlers for Xtensa
2022-03-29 09:31:09 -07:00
Douman
afc150165e
Adds Rng::random() -> u32
2022-03-24 08:44:04 -07:00
Douman
9a3b0a530f
Introduce optional ufmt support
2022-03-21 16:31:20 +09:00
Jesse Braham
4e47fc69f4
Add features for architecture, clean up common HAL manifest
2022-03-14 18:17:24 -07: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
590df9bc21
Document the RNG's pre-conditions, add a free function
2022-03-10 08:23:26 -08:00
Jesse Braham
bad8020abe
Implement the embedded-hal Read trait for the RNG peripheral
2022-03-10 08:14:39 -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
Björn Quentin
573d94bfdb
Apply suggestions from code review
...
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2022-03-02 08:45:08 +01:00
bjoernQ
72913a6e50
Reformat code
2022-03-01 14:38:34 +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
fd7999052c
Add temporary #cfg conditionals for WDT handling to allow for build on S3
2022-02-26 11:22:15 +01:00
Robert Wiewel
f2884bd3b8
Add RWDT disable in RTC_CNTL for ESP32/S2/S3
2022-02-25 23:41:05 +01:00
bjoernQ
83f961431c
Support atomic emulation for ESP32C3 if needed
2022-02-24 15:40:41 +00:00
bjoernQ
181892d02a
Fix Xtensa interrupts
2022-02-22 15:33:15 +00:00
bjoernQ
7b59c9e76d
Move linker scripts to sub-folders
2022-02-18 12:00:05 +01:00
bjoernQ
545f997b07
Support ESP32S3
2022-02-16 15:44:06 +00:00
bjoernQ
0039996e8e
Remove obsolete FIXME comment, check ESP32S2 in CI builds
2022-02-14 18:04:48 +00:00
bjoernQ
9c5468e814
Support ESP32S2
2022-02-14 18:04:48 +00:00
bjoernQ
52f388e9a1
Use esp-rs/esp-pacs
2022-02-10 10:03:37 +01:00
bjoernQ
cac30b7544
Add basic interrupt support for ESP32C3 and ESP32
2022-01-31 16:34:45 +00:00
Jesse Braham
ef5d1ac7f4
Refactor GPIO module to make traits accessible in esp-hal-common crate ( #9 )
...
* Extract all of the enums/structs/traits that we easily can from gpio!
* Pull the remaining traits (which we're able to) out of gpio!
2022-01-24 08:34:45 -08: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
c3d83db6ca
Update any references from my personal account to the organization
2022-01-12 13:52:47 -08:00
Jesse Braham
fda410633b
Various updates all READMEs
2022-01-12 13:52:01 -08:00
Jesse Braham
6ab5634c54
Various small improvements, formatting, making things more consistent
2022-01-11 13:27:57 -08:00
Jesse Braham
10931726eb
Begin adding some doc comments, update rustfmt config
2022-01-10 15:23:01 -08:00
Jesse Braham
9a030cbf78
Implement DelayMs and DelayUs traits from embedded-hal
2022-01-10 13:52:46 -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
Jesse Braham
2bf61d9b53
Flatten the gpio module in the esp-hal-common package
2022-01-06 08:08:11 -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
22df2dbb99
Miscellaneous cleanup
2021-10-29 11:00:31 -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