Commit Graph

223 Commits

Author SHA1 Message Date
Björn Quentin
6005f802ad
I2S: Less generics, nicer API (#983)
* I2S: Less generics, nicer API

* CHANGELOG.md
2023-11-30 07:55:03 +00:00
konsulten
c884378f94
Uart Async: Improve interrupt handling and irq<-->future communication (#977)
* Uart async: Separate futures types and wakers for rx and tx. Avoids possible deadlock when waker gets replaced

* ...

* Formatting issue resolved

* Remove hej (previous debugging) and removed return type from events, as we never read them

* heapless vec changed to enumset, ovf error docstring removed
2023-11-29 14:07:45 +00:00
Anthony Grondin
755fdd32b5
fix!: Use u32 words instead of u8 bytes for the RSA driver (#981)
BREAKING CHANGE: The RSA driver now takes u32 slices instead of u8
2023-11-29 08:49:53 +00:00
Dániel Buga
4a0af66884
Remove SpiBusDevice and SpiBusController (#978)
* Remove SpiBusDevice and SpiBusController

* Update examples
2023-11-28 08:55:55 +00:00
jneem
b8f8828eb2
Simplify rmt channels by turning Channel0<0> into Channel<0> (#958)
* Simplify rmt channels

* Changelog

* Fix esp32

---------

Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2023-11-27 10:39:08 +00:00
Dániel Buga
39519dfdc9
RISC-V executors (#947)
* RISC-V executors

* Add multiprio example to RISC-V SoCs

* Check new examples

* Hack in support for generic queue

* Reserve SoftwareInterrupt0 for multicore thread-mode executors

* Merge interrupt executors

* Merge thread-mode executors

* Document the new features and expand on time drivers

* Main tasks don't have to return !

* Unify multiprio examples

* Undo C6 log output change
2023-11-22 14:36:53 +00:00
Timo
71e6543430
Add rx timeout functionality to async uart (#911) 2023-11-22 13:16:26 +00:00
Jesse Braham
8754217f6d
Gate the embedded-io trait impls behind a feature (#964)
* Gate the `embedded-io` trait impls behind a feature

* Update `CHANGELOG.md`
2023-11-20 14:28:35 +00:00
Scott Mabin
15f4dad33e
document atomic emulation as breaking (#962)
* document atomic emulation as breaking

* Add build script check for atomic emulation flags without the feature enabled in the hal
2023-11-20 12:12:35 +00:00
Dániel Buga
503eed34b2
Allow accessing xtal and slow clock frequencies (#957) 2023-11-20 08:14:16 +00:00
jneem
5503121bea
Async read implementation for usb serial jtag (#889)
* Async read implementation for usb serial jtag

* Check the example in ci

* Add the example's required features

* Add changelog entry

* Improve the example

* Add examples for other boards

* Fix changelog

* Add required features for examples
2023-11-17 18:26:45 +00:00
Juraj Sadel
4d87e75d71
H2: prepare modem clocks for BLE (#953)
* H2: prepare modem clocks for BLE

* changelog
2023-11-17 11:04:17 +00:00
Dániel Buga
6814822cfd
Decouple default features from esp-hal-common (#867) 2023-11-16 14:09:47 +00:00
Dániel Buga
5a9763aaf7
Only implement __pender if a hal-executor is used (#937) 2023-11-15 00:30:03 -08:00
Jesse Braham
f729f89889
Remove the mcu-boot feature from esp32c3-hal (#938)
* Remove the `mcu-boot` feature from `esp32c3-hal`

* Update `CHANGELOG.md`
2023-11-14 11:49:40 -08:00
Dániel Buga
7084a380a6
Disallow multiple esp-hal-common versions (#934) 2023-11-14 02:31:34 -08:00
Edgar Sousa
957b232413
fix: wrong clear of RMT interrupts (esp-rs/esp-hal#925) (#930) 2023-11-13 14:13:21 +01:00
Björn Quentin
98a52ea808
Re-add API to get a GPIO's interrupt status bit (#929)
* Re-add API to get a GPIO's interrupt status bit

* CHANGELOG.md entry
2023-11-13 14:03:45 +01:00
Dániel Buga
bde317ee69
DMA cleanup (#915) 2023-11-10 13:20:35 +01:00
Dániel Buga
280caad378
RISC-V: Make atomic emulation opt-in (#904)
* RISC-V: Make atomic emulation opt-in

* Update embassy-executor, embassy-sync

* Don't automatically enable portable-atomic

* Update changelog

* Fix warnings
2023-11-10 11:51:47 +00:00
Björn Quentin
c612fecfae
Clear LP/RTC RAM (#916)
* Clear LP_RAM/RTC RAM to make sure .bss is cleared

* Rename `ulp-riscv-hal` to `esp-ulp-riscv-hal`

* CHANGELOG.md entry
2023-11-09 14:06:58 +01:00
Björn Quentin
0659928930
Support inverted pins (#912)
* Support inverted pins

* CHANGELOG.md entry

* Improve docs

* Provide `From`/`Into` for inverted pins
2023-11-09 08:45:13 +01:00
Paul Paterson
594bc65793
Derive Clone and Copy for EspTwaiFrame (#909)
* Derive Clone and Copy for EspTwaiFrame

* Update CHANGELOG.md
2023-11-09 03:36:15 +00:00
Marc-Antoine Manningham
62894e3f84
feat set frequency embedded hal (#880)
* Add SetDutyCycle and PwmPin trait

* Add comments

* Fix method call for esp32c6 and esp32h2

* Add changelog
2023-11-09 03:33:47 +00:00
sanxus
c196b67587
Improve spi master constructor (#901)
* make pins optional for Spi::new (master, full-duplex mode)

* add additional method to setup spi pins (master, full-duplex mode)

* add additional method to setup spi pins (master, half-duplex mode)

* remove generic type parameters for Spi::new

* update documentation

* make `with_pins` could be chained

* update CHANGELOG.md

* update CHANGELOG.md

* make the return value of a method like `with_{*}` owned

* fix (maybe?) all broken examples caused by the change (esp32-hal)

* fix (maybe?) all broken examples caused by the change (esp32c2-hal)

* fix (maybe?) all broken examples caused by the change (esp32c3-hal)

* fix (maybe?) all broken examples caused by the change (esp32c6-hal)

* fix (maybe?) all broken examples caused by the change (esp32h2-hal)

* fix (maybe?) all broken examples caused by the change (esp32s2-hal)

* fix (maybe?) all broken examples caused by the change (esp32s3-hal)

* rerun 'cargo fmt' for esp-hal-common

* rerun 'cargo fmt' for the rest of examples
2023-11-08 12:11:58 +01:00
jneem
aa1fefdc8c
Add more input trait impls for open drain outputs (#905)
* Add more input trait impls for open drain outputs

* Changelog
2023-11-08 12:11:16 +01:00
Björn Quentin
9d0047f4d6
Configurable LP Core clock (#907)
* Configurable LP Core clock

* CHANGELOG.md entry
2023-11-07 17:03:03 +00:00
Scott Mabin
fb31f868f1
Remove direct boot support from esp-hal (#903)
* Remove direct boot support from esp-hal

* changelog
2023-11-07 14:34:46 +00:00
Dániel Buga
780a7f5e4a
Fix us waits in embassy hanging (#906)
* Remove unused field from AlarmState

* Clean up non-idiomatic code

* Simplify timg0 time driver

* Better explain instant firing, hide fn, re-add check

* Add changelog entry
2023-11-07 14:34:14 +00:00
Dániel Buga
111d00617f
S3: Fix the number of GPIO pins (#898) 2023-11-03 08:26:58 +01:00
Dániel Buga
9f0d384ebf
Pin static_cell (#899) 2023-11-03 08:05:37 +01:00
Jesse Braham
a8fbc03e26 Begin next release cycle 2023-11-02 08:15:40 -07:00
Jesse Braham
a5ab05eb69 New patch release for esp-hal-common 2023-11-02 07:52:39 -07:00
Björn Quentin
a13ab2943a
ESP32-C6/H2: UART sync registers and use xtal (#893)
* ESP32-C6/H2: UART sync registers and use xtal

* CHANGELOG.md entry
2023-11-01 15:58:15 +01:00
Björn Quentin
8eddb9e737
Make sure BLE and WiFi are not powered down when esp-wifi needs them (#891)
* Make sure BLE and WiFi are not powered down when esp-wifi needs them

* CHANGELOG.md entry
2023-11-01 14:01:02 +01:00
Jesse Braham
185e5e759b Begin next release cycle 2023-10-31 09:43:52 -07:00
Jesse Braham
8a3e63cdeb
New package releases (#887)
* New package releases

* Update `CHANGELOG.md`
2023-10-31 09:18:20 -07:00
Jesse Braham
9cb8f7e941
Miscellaneous pre-release fixes (#883)
* Temporarily disable async `SYSTIMER` implementation, remove mention from `CHANGELOG.md`

* Remove a couple files which are not required

* Fix warning for `sha` examples

* Fix warning for non-C3 devices

* s/interrupt_clear/clear_interrupt/
2023-10-31 06:50:54 -07:00
jneem
ff80b69183
Provide ADC values in mV instead of requiring the user to scale them (#836)
* Provide ADC values in mV instead of requiring the user to scale them

* Changelog

* Try converting poly calibration also

* Update changelog and comments

* Fix example
2023-10-30 10:16:45 -07:00
Björn Quentin
663cbd9ce0
Workaround for ESP32-C6 one-shot ADC (#876)
* Workaround for ESP32-C6 one-shot ADC

* CHANGELOG.md entry
2023-10-26 12:34:29 -07:00
Björn Quentin
aa078f6868
Fix/esp32s3 direct boot (#873)
* Fix ESP32-S3 direct-boot

* Make ESP32-S3 direct-boot work with LLD

* CHANGELOG.md entry
2023-10-26 10:38:51 +01:00
Scott Mabin
94a07da47b
Fix Async UART (#871)
* Fix Async UART

The uart handler was `writing` to the enable register instead of
`modify`, which meant any wake would see the cleared enabled bit and
think the event had occurred. This wasn't seen before the split of uart
because it was only possible to listen to one thing at a time.

This PR also removes the ReadBufferFull error in favour of returning the
max bytes in the buffer.

The serial examples has been updated to actually have some cross task
communication.

* changelog

* fix dev deps
2023-10-25 10:25:25 -07:00
Dániel Buga
a24eff9bf9
Fix async SPI/DMA race condition (#869) 2023-10-25 11:50:18 +01:00
Scott Mabin
6eca968bb8
Add LLD option for all Xtensa chips (#861)
* Add LLD option for all Xtensa chips

* changelog

* Fix linkerscript for esp32s3 rtc fast ram region
2023-10-25 11:49:42 +01:00
Björn Quentin
29f3518c04
Add RISCV TRACE Encoder driver (#864)
* Add RISCV TRACE Encoder driver

* CHANGELOG.md entry
2023-10-23 13:16:27 +02:00
Jesse Braham
33bfe80d95
Prelude improvements/fixes (#860)
* Move SPI-related traits into their own preludes in the `spi` module

* Remove the `embedded-hal-async` trait re-exports and the `eh1` module from the prelude

* Update `CHANGELOG.md`
2023-10-20 06:56:17 -07:00
Jesse Braham
62a174fd06
Replace the radio module with peripheral singleton structs (#852)
* Replace the `radio` module with peripheral singleton structs

* Update `CHANGELOG.md`
2023-10-20 11:11:32 +01:00
Björn Quentin
d41e306504
Add support for 16MB octal PS-RAM (ESP32-S3) (#858)
* Add support for 16MB octal PS-RAM (ESP32-S3)

* Add CHANGELOG.md entry
2023-10-19 14:00:27 +02:00
Jesse Braham
4238a630fc
Assorted analog-related simplifications/clean up (#857)
* Remove duplicated `analog` modules, which are not necessary

* Merge the `SarAdcExt` and `SensExt` traits into a single `AnalogExt` trait

* Clean up/simplify the analog module a bit

* Update `CHANGELOG.md`
2023-10-19 13:37:14 +02:00
Jesse Braham
2d2561024f
Replace SpiNInstance marker traits with concrete types (#853)
* Replace `SpiNInstance` marker traits with concrete types

* Update `CHANGELOG.md`
2023-10-17 06:16:07 -07:00