Björn Quentin
4c34ebe9e2
Add ESP32-C6 BLE clock enable/disable ( #784 )
...
* Add ESP32-C6 BLE clock enable/disable
* CHANGELOG.md
2023-09-06 16:36:08 +01:00
Jesse Braham
ce3933cf6d
Fix number of ADC attenuations for ESP32-C6 ( #771 )
...
* Fix number of ADC attenuations for ESP32-C6
* Update CHANGELOG
2023-09-05 06:31:45 -07:00
Dániel Buga
7866896b70
Add defmt support, make log optional ( #773 )
...
* Executor related touchups
* Make log optional
* Add defmt feature and derive on Debug structs
* Test both log drivers
* Update esp-println
* Document defmt msrv
2023-09-04 11:29:44 +01:00
Dániel Buga
48e6171930
Some general cleanup ( #777 )
...
* Executor related touchups
* Fix typos
* Clean up DAC, remove hidden public API
* Clean up ADC
* Clean up analog peripheral reexports
* Properly hide rmt macros
2023-09-04 11:24:45 +01:00
Kirill Mikhailov
2f5ebad9fe
Update Clock module documentation ( #774 )
...
Added a record to Changelog
Fix typo
2023-09-01 09:51:22 -07:00
Jesse Braham
4dd9fbdb7b
Disable all watchdog timers at startup by default ( #763 )
...
* Rework watchdog timer drivers to allow enabling/disabling and feeding without traits
* Disable all watchdogs prior to `main` using the `__post_init` hook
* Update all watchdog-related examples
* Update CHANGELOG
* Address review comment
2023-08-30 08:54:01 -07:00
Dániel Buga
32d1ea0d42
Add missing conversion ( #764 )
2023-08-30 09:16:57 +02:00
Dániel Buga
92a2cc7c31
Update to embassy-executor 0.3 ( #756 )
2023-08-29 10:39:17 -07:00
Björn Quentin
9a894879a7
PARL_IO RX for ESP32-C6 / H2 ( #760 )
...
* PARL_IO RX for ESP32-C6 / H2
* Add PARL_IO RX to README.md
* Remove logger-init from PARL_IO_RX examples
2023-08-29 18:48:37 +02:00
Jesse Braham
7d5e1de377
Clean up some warnings ( #762 )
...
* Fix a bunch of warnings from the `analog` module for the S2/S3
* Fix interrupt-related warnings for RISC-V chips
2023-08-29 09:17:45 -07:00
Jesse Braham
07957700ea
Update PACs and xtensa-lx-rt package ( #761 )
...
* Update `xtensa-lx-rt` package and Xtensa linker scripts
* Update PACs and make required changes to get things building again
2023-08-29 07:58:16 -07:00
Dániel Buga
e082d47a87
Multicore-aware executors ( #723 )
...
* Implement multicore-aware executors
* Add examples
* Use pre-defined config to import SystemPeripheral
* Use static_cell::make_static
2023-08-28 10:05:42 -07:00
Jesse Braham
ecb3c31d21
Document package features and supported image formats ( #758 )
...
* Hide internal-only RMT macros from documentation
* Document the features of each chip-specific HAL package
* Document the supported image formats for relevant packages
2023-08-28 07:34:59 -07:00
Anthony Grondin
91b9b51426
feat(hmac): Add HMAC driver for hardware acceleration ( #755 )
...
* feat(hmac): Add HMAC driver for hardware acceleration
Driver code taken from: a9807ae67d
* fix build for target without hmac support.
2023-08-28 08:54:41 +02:00
Anthony Grondin
5a8be302b4
Move alignment helper to its own module in preparation of HMAC module ( #753 )
...
* Move alignment helper to its own module.
* fix wrong endian on ESP32
- Add CHANGELOG.md entry
- Change reg_access module visibility
2023-08-24 12:26:30 -07:00
Dániel Buga
6c2659f9e4
S3: GPIO wakeup source with RTC_IO pins ( #690 )
...
* Remove unnecessary Pin bounds
* S3: Add RTC_IO wakeup source
* Add s3 example
* Add changelog entry
---------
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2023-08-23 10:54:51 -07:00
Björn Quentin
95a1255c3b
PARL_IO TX driver ( #733 )
...
* PARL_IO TX driver
* Update CHANGELOG.md
* Update esp-hal-common/src/dma/mod.rs
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
---------
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2023-08-23 10:32:13 -07:00
Jesse Braham
9acb915fb9
Implement the ufmt_write::uWrite trait for the USB Serial JTAG driver ( #751 )
...
* Implement the `ufmt_write::uWrite` trait for the USB Serial JTAG driver
* Update CHANGELOG
2023-08-23 08:24:47 -07:00
Dániel Buga
bf4efcfd7f
Take FnOnce closure by value in start_app_core ( #739 )
2023-08-22 16:33:32 +02:00
Jesse Braham
7fce6e32f2
Update to 1.0.0-rc.1 version of embedded-hal-* crates ( #747 )
...
* Update a bunch of dependencies
* Implement `embedded-io` and `embedded-io-async` traits for USB Serial JTAG
* Implement `embedded-io` and `embedded-io-async` traits for UART
* Fix `embassy_serial` examples
* Update CHANGELOG
* Address review comments
2023-08-22 14:53:41 +01:00
Dániel Buga
63a9e9e77a
Remove interrupt status clearing from PinFuture ( #676 )
2023-08-22 12:20:37 +01:00
Dániel Buga
db62ad5948
Timer driver improvements ( #737 )
...
* Slightly refactor systimer driver
* Remove redundant check
* Start timer on init
* Delete semicolon for consistent styling
* Add to changelog
* Remove unused code
* Remove unsafe code
2023-08-22 12:20:05 +01:00
Dániel Buga
eb8acaf4d4
Set alarm on correct timer ( #730 )
2023-08-16 12:54:54 +01:00
Dániel Buga
d214c25b87
Clean up callback in alarms ( #729 )
2023-08-16 11:29:15 +01:00
Dániel Buga
910b71bd9e
Fix typo ( #726 )
2023-08-16 09:01:45 +02:00
Dániel Buga
a2ae6f37d1
Implement RTCIO pu/pd and hold control
2023-08-14 07:27:31 -07:00
Björn Quentin
92bda00296
Remove heap related symbols, use all remaining memory for the stack ( #716 )
...
* Use all remaining memory for stack(s)
* Remove HEAP related code from RISCV linker scripts
* Fix direct-boot / mcu-boot linker scripts
* Use a statically allocated stack for core-1
2023-08-14 13:38:36 +02:00
Scott Mabin
47b987fb66
Add FlashSafeDma wrapper for eh traits which ensure correct DMA transfers from flash ( #678 )
2023-08-09 13:07:20 -07:00
Björn Quentin
4ba618c875
Make sure to use wrap-mode for RMT TX (ESP32/S2) ( #710 )
...
* Make sure to use wrap-mode for RMT TX (ESP32/S2)
* Update CHANGELOG.md
2023-08-09 06:56:10 -07:00
Kirill Mikhailov
2bd10526a7
Documenting a number of peripherals and packages ( #680 )
...
* Initial documentation improvements
* More documentation improvements
* More documentation improvements
More modules documented
* Finished SOC documentation for esp32 + TWAI
* Fix: fix incorrect formatting
* Adding more documentation to rom, and soc peripherals for multiple chips
* Adding documentation for multiple peripherals
* Adding SOC module documentation
* Analog and clock modules are documented
* Adding module-level documentation for DMA and INTERRUPT peripherals
* Finishing job + minor fixes
* Fix unopened HTML break
* Rustfmt adjustment
formatting
Fix typo
* Add CHANGELOG record
Fix typo
* Fix typos, mistakes, improving docs
Co-authored-by: Dániel Buga <bugadani@gmail.com>
Fix typo
Co-authored-by: Dániel Buga <bugadani@gmail.com>
Fix typo
Co-authored-by: Dániel Buga <bugadani@gmail.com>
Fix typo
Co-authored-by: Dániel Buga <bugadani@gmail.com>
fix typo
Co-authored-by: Dániel Buga <bugadani@gmail.com>
Fix typo
Co-authored-by: Dániel Buga <bugadani@gmail.com>
Fix typo
Co-authored-by: Scott Mabin <scott@mabez.dev>
Fixing typos, mistakes, improving docs.
* Fix formatting, mistakes and typos
* Fixing a bunch of logical, grammatical and formatting mistakes
2023-08-09 06:33:50 -07:00
Dániel Buga
4baf0b96c6
Fix ESP32 radio clock code writing incorrect registers ( #709 )
...
* Fix ESP32 radio clocks
* Blanket-enable radio clocks
2023-08-08 08:22:07 +02:00
Dániel Buga
da497c8833
Fix ESP32-{S2/C2/C3} radio clocks ( #681 )
...
* Fix ESP32S2 radio clocks
* Fix C2
* Fix C3
* Fix changelog
2023-08-07 17:13:49 +02:00
Dániel Buga
544a966b40
Fix esp32s3 radio clocks ( #679 )
2023-08-07 15:37:03 +02:00
Scott Mabin
2f091161b4
Add ClockControl::max helper ( #701 )
...
* Add `ClockControl::max` helper
* Add changelog
* remove unneeded allow(unused)
---------
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2023-08-02 06:47:32 -07:00
onsdagens
d6d5e0c86b
Adding direct vector table hooking support for RISC-V's ( #621 )
...
* direct vectoring support added
* provide minimal handlers for hooking the vector table directly
* changed direct vectoring interrupt enable interface to map to CPU interrupt
* direct vectoring interrupt nesting
* removed unused dependency
* added tentative c2 and c6 support for direct vector table hooking
* added direct vectoring examples
* added direct vectoring examples
* updated changelog
* added direct vectoring to CI
* Added H2 support and example, moved helpers to esp-hal-common
* Added H2 direct vectoring example to CI
* Removed remnants of removed feature
* C6 and H2 examples fixed
* C6 and H2 examples fixed
* C6 and H2 examples fixed
* Comment fixed
* Added preemption flag to RT
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
2023-08-01 16:28:40 +01:00
Dániel Buga
63e498f3e1
Remove unused function ( #702 )
2023-08-01 15:33:50 +01:00
Dániel Buga
822497b989
Clean up register access ( #696 )
2023-08-01 15:31:35 +01:00
Scott Mabin
18e803075b
Switch to micros instead of millis in set_periodic ( #686 )
...
* Switch to micros instead of millis
* Add changelog entry
2023-07-31 05:50:51 -07:00
Dániel Buga
b18d4978b5
S2: reexport SYSCON from PAC ( #697 )
2023-07-28 12:00:15 +01:00
Dániel Buga
fedd2ad0bc
Pin and RTCPin improvements ( #687 )
...
* Make Pin a supertrait
* Make Pin object-safe
* Add to changelog
2023-07-28 11:59:36 +01:00
Dániel Buga
c529d82599
Deep sleep: Decouple pin and slice lifetime ( #689 )
...
* Decouple pin and slice lifetime
* Add PR to changelog
2023-07-28 11:54:23 +01:00
Dániel Buga
c215c6ab52
Remove esp32s2 special casing in the analog! macro ( #673 )
2023-07-28 11:47:22 +01:00
Jesse Braham
00fac71b68
Update the PACs and resolve breaking changes, simplify rmt driver ( #695 )
...
* Update to latest (unreleased) versions of PACs
* Update `SDMCC` peripheral to `SDHOST` for ESP32
* Fix `USB_DEVICE` interrupts
* Fix references to various renamed GPIO fields for ESP32-S2
* Update and re-organize the `rmt` driver
* Update CHANGELOG
2023-07-27 23:16:39 +01:00
Jesse Braham
a95f6efb35
Update esp-hal-smartled to use the new rmt driver, remove old pulse_control driver ( #694 )
...
* Remove the old `pulse_control` driver
* Update `esp-hal-smartled` to use the new `rmt` driver instead
* Update the `hello_rgb` example for each chip
* Update CHANGELOG
2023-07-27 16:07:15 +01:00
Alex Johnson
debe2b8004
fixed async read w/o at_cmd ( #652 )
...
* fixed async read w/o at_cmd
* configurtion checks for async `read`
* remove fifo thrhd check
2023-07-25 12:19:59 +01:00
Dániel Buga
31e3ba83ff
Clean up regi2c related warnings ( #682 )
2023-07-25 11:51:27 +01:00
Dániel Buga
9f5e2b59de
ESP32-S3 deep sleep ( #660 )
...
* Add changelog entry
* Copy esp32 impl, update RtcSleepConfig
* implement apply
* extract rtc_sleep_pu
* Implement base_settings based on esp-idf rtc_init
* Hide CPU-specific sleep code
* Set base_settings when constructing Rtc
* Add s3 deep sleep defaults
* Implement finish_sleep
* Turn magic constant into enum
* Clear ext1 wakeup status
* Add wakeup source impls
* Add examples
2023-07-24 20:20:30 +01:00
Dániel Buga
adeb3c67c8
Documentation fixes ( #668 )
...
* Rustdoc improvements
* Format efuse bracketed names as code
* Fix SPI docs
2023-07-24 20:16:48 +01:00
Dániel Buga
2472b6d7a9
Implement calibrated ADC API for S3 ( #641 )
...
* adc_cal: s3: Add efuse functions for reading calibration
* Add changelog entry
* Implement calibrated ADC API for S3
* adc_cal: s3: Add calibrated ADC reading example
* Clean up
* Prefer where clauses
* Clean up unnecessary unsafe blocks
* Fix autolinks
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
2023-07-24 17:45:19 +01:00
Dániel Buga
10ec2647eb
Only implement RTCPin for actual RTCIO pins
2023-07-24 08:45:38 -07:00