Commit Graph

319 Commits

Author SHA1 Message Date
dimi
408243d7e1 improve mcpwm::operator, add PwmPinConfig 2022-11-30 00:55:38 +01:00
dimi
6d2b8a6718 PwmClock changes 2022-11-30 00:55:38 +01:00
dimi
18c7ef7802 WIP MCPWM implementation 2022-11-30 00:55:38 +01:00
Björn Quentin
5f4a7b56a6
Merge pull request #281 from dimpolo/RemoveSetupError
remove `i2c::SetupError` and make `i2c::I2C::new` infallible
2022-11-29 15:09:21 +01:00
dimi
7a51433944 remove i2c::SetupError and make i2c::I2C::new infallible 2022-11-29 14:19:45 +01:00
Björn Quentin
82e66bc9dc
Merge pull request #276 from IsaacDynamo/pub-signals
Export InputSignal and OutputSignal
2022-11-29 08:15:52 +01:00
C2D
59d02f5f6e
Add SHA accelerator implementation (#257)
* Add untested basic SHA for esp-sX/cX chips

* Fix ptr type inconsistency for S2

* Add ESP32 impl & fix process_buffer latch issue

* Add debug example for SHA accelerator

* Clean up no-op buffer prints

* Test vector parity (on esp32s3)

* Checkpoint for converting to alignment helper

* Finish refactoring & additional parity tests on esp32s3

* Remove core_intrinsics requirement for now

* Fix case where (src.len() % 4) == 3

* Finish sha2 example with performance comparison (12-61x speedup)

* Refactor ESP32 to alignment helper & Clean up example

* Prevent out-of-bounds reads in ESP32 version

* Revert Cargo debug changes

* Remove cargo config.toml

* Clean up example

* Remove common/rust-toolchain & ignore in future

* Might as well use actual size_of const

* Remove SHA512/SHA384 for C2/C3

* Directly import nb::block! to remove unused import warning & fix c2 feature detect

* Remove stray newlines

* Fix esp32c2 having SHA256

* ESP32 also has SHA384

* Remove comments that don't have a purpose

* Clean up example & finish() handling

* Add examples & add ESP32 free()

* Update C2/C3 examples to show accurate algorithm used

* Fix busy check for ESP32

* Remove outdated TODO comment

* Update PAC for ESP3 and (actually) fix busy check

* Refactor ESP32 version to reduce search space

* Add debug printlns to sha example & clean up comments

* Fix ESP32 version, finally

Co-authored-by: ferris <ferris@devdroplets.com>
Co-authored-by: Jesse Braham <jesse@beta7.io>
2022-11-28 14:20:31 -08:00
IsaacDynamo
e1c0ac540e Export InputSignal and OutputSignal 2022-11-26 16:38:02 +01:00
bjoernQ
fbd912a3a5 Finalize I2S RX Implementation 2022-11-24 10:16:08 -08:00
Sergio Gasquez
9ef3a29e58 feat: 📝 Update install sections 2022-11-24 08:30:57 -08:00
icedrocket
177d278223
Add more trait re-exports to prelude module (#260)
* Add more trait re-exports to prelude module

* Don't expose usb_serial_jtag module

* Add missing system module re-exports
2022-11-23 07:24:47 -08:00
Ryan Butler
8ab01225bd Implemented ability to write bytes in UsbSerialJtag 2022-11-22 10:52:05 -08:00
Gleb Dubrovin
5c28663d67
esp-hal-procmacros::interrupt fix example in doc (#270) 2022-11-21 17:25:17 +00:00
bjoernQ
cb41b9553b Avoid possible linker error 2022-11-21 07:01:50 -08:00
Jesse Braham
096ff3439d
New releases for all HALs (#265)
* Update all dependencies to their latest versions

* Bump version numbers
2022-11-17 09:13:41 -08:00
bjoernQ
4afa8fda92 Preliminary I2S Implementation 2022-11-17 08:24:43 -08:00
Jesse Braham
d9135350e7 Add more configuration symbols and simplify the build script 2022-11-17 07:29:35 -08:00
Björn Quentin
9b3e644e30
Detangle I2C clock calculation (#263)
* Detangle I2C clock calculation

- fixes ESP32-C2 in release mode
- fixes the MPU6050 init problem

* Converted NOTE to FIXME
2022-11-16 11:31:04 +00:00
Björn Quentin
c4d77d6c66
Merge pull request #261 from raiker/main
Fix UART unlisten calls so they clear the interrupt enable
2022-11-14 07:51:40 +01:00
Josh Weberruss
5523a7b8b9 Fix UART unlisten calls so they clear the interrupt enable bit instead of setting it 2022-11-13 12:30:13 +11:00
Jesse Braham
86049a53de
Update all PACs (#259) 2022-11-10 09:02:18 -08:00
Scott Mabin
9064177e99
Initial embassy support (#225)
* wip: timg embassy driver

- read_raw on timg renamed to now()
- timg initialized and stored in static for use in the embassy driver
- timg sets alarm value
- untested whether alarms actually trigger

* TIMG timer driver for esp32, esp32s3

- Adds the timg timer block as a time driver for embassy
- Not enabled on the C3 as it only has one timer block, better to use
  systimer
- s2 example added but can't build due to atomic requirements in
  futures-core

* Add S2 atomic support with emulation, fixup embassy support for the S2

* Move executor & static-cell to dev deps. Make eha optional

* Add c2 support, run fmt

* Update to crates.io embassy releases

* Update eha

* update timg time driver to new trait

* Remove exception feature of esp-backtrace and use the user handler for backtracing

* Add async testing workflow

* Update systick example

* Fix S2 examples

* Update xtensa-toolchain

* set rustflags for s2 target

* Disable systick for esp32s2 until we can fix the noted issues

* review improvements

- Fix intr prio array being off by one
- emabssy time prio interrupt set to max prio
- use cfg instead of feature for systick detection

* Update example time delays
2022-11-09 08:04:38 -08:00
Björn Quentin
8bdf11b287
I2C Driver Refactoring (#233)
* I2C Driver Refactoring

* Improve I2C error handling and robustness
2022-11-09 06:34:55 -08:00
Björn Quentin
42fc21517c
Merge pull request #256 from icedrocket/main
doc: add `#[doc(inline)]` to esp-hal-common re-exports
2022-11-08 11:05:28 +01:00
icedrocket
b52670a3e9 doc: add #[doc(inline)] to esp-hal-common re-exports 2022-11-08 18:26:00 +09:00
dimi
ece70e99a4 Add Mcpwm0 and Mcpwm1 to system::Peripheral 2022-11-07 13:24:17 -08:00
Björn Quentin
da3cbca61e
Merge pull request #251 from dimpolo/outputsignal
add/correct docs for gpio::OutputSignal and add PWM output signal to ESP32-S3
2022-11-07 10:21:58 +01:00
Björn Quentin
c2a2551c49
Merge pull request #250 from jessebraham/feature/esp32c2-ledc
Add LEDC support for ESP32-C2
2022-11-07 08:09:23 +01:00
dimi
7df93cb359 add/correct docs for gpio::OutputSignal and add PWM output signal to ESP32-S3 2022-11-07 02:13:53 +01:00
Jesse Braham
ced5941871 Add LEDC support for ESP32-C2 2022-11-04 08:19:53 -07:00
Björn Quentin
1ab2bb0e3e
Merge pull request #248 from jessebraham/fixes/gdma
Update to newest PACs for C2/C3/S3 and clean up GDMA implementation
2022-11-04 07:53:41 +01:00
Jesse Braham
251e60c20f Update to newest PACs for C2/C3/S3 and clean up GDMA implementation 2022-11-03 11:17:51 -07:00
Björn Quentin
2b15b18c6b
Merge pull request #246 from 9names/bl_uninit_section
Add uninit section to bl and mv linker scripts to match db
2022-11-03 09:59:56 +01:00
9names
0f803d07cd Add uninit section to bl and mv linker scripts to match db 2022-11-03 19:37:00 +11:00
Juraj Sadel
f6ba237e76
ADC: Refactor, join S2 and S3 together and C2 and C3 as well (#245)
* ADC: Refactor, join S2 and S3 together and C2 and C3 as well

* S3: Update PAC version
2022-11-02 10:38:03 -07:00
bjoernQ
a876d8d344 Support USB-DEVICE on ESP32-S3 and ESP32-S2 2022-11-02 07:14:50 -07:00
Björn Quentin
fae2f1add3
Merge pull request #244 from bjoernQ/fix-esp32c2-apbclock
ESP32-C2 APB clock is 40MHz, not 80MHz
2022-11-02 13:59:26 +01:00
bjoernQ
ec60c4b5fe ESP32-C2 APB clock is 40MHz, not 80MHz 2022-11-02 13:11:00 +01:00
Björn Quentin
5d8d276577
Merge pull request #243 from icedrocket/main
Fix typo
2022-11-02 11:22:23 +01:00
icedrocket
e28a7d1ba0 Fix typo 2022-11-01 20:32:55 +09:00
Jesse Braham
e040b55fd9 Check each supported chip with the direct-boot feature enabled as well 2022-10-31 10:18:22 -07:00
bjoernQ
ad1970c6b7 Offer DMA channel 3 and 4 on ESP32-S3 2022-10-31 07:09:15 -07:00
Björn Quentin
9152792d5f
Merge pull request #239 from dimpolo/start_app_core_improvements
cpu_control::start_app_core improvements
2022-10-31 15:00:08 +01:00
dimi
2f3b6c843c remove lifetime annotations from cpu_control::start_app_core 2022-10-31 14:46:31 +01:00
dimi
5cf6079054 cpu_control::start_app_core improvements
* add `Send` bound
* move `#[must_use]` to `AppCoreGuard`
* remove redundant `-> ()`
* document guard behaviour
2022-10-31 13:28:56 +01:00
Björn Quentin
5aedd3e58c
Merge pull request #238 from bjoernQ/bugfix/fix-esp32s3-direct-boot
Add high level CPU interrupts for ESP32-S3 direct-boot
2022-10-31 12:28:18 +01:00
bjoernQ
c17ae772f6 Add high level CPU interrupts for ESP32-S3 direct-boot 2022-10-31 08:21:33 +01:00
Björn Quentin
8ec46df825
Merge pull request #234 from jessebraham/feature/dma
Add DMA support for ESP32-C2 and ESP32-S3
2022-10-28 16:15:28 +02:00
Jesse Braham
4f18e2c846 Update the priority enum and add missing channels for ESP32-S3 2022-10-28 06:51:10 -07:00
Björn Quentin
79e1465062
Merge pull request #235 from jeancf/change_spi_bus_freq
Add method to change SPI bus frequency
2022-10-28 14:07:56 +02:00