Commit Graph

817 Commits

Author SHA1 Message Date
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
Jesse Braham
83e138a5d3 Update the top-level README 2023-08-23 07:42:56 -07:00
Jesse Braham
3f345f78ba Update each HAL package's README 2023-08-23 07:42:56 -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
0c47ceda3a
Fix embassy-time tick rates (#746) 2023-08-20 17:31:25 +01:00
Jesse Braham
422eb21186 Convert dependencies to dev-dependencies where able 2023-08-16 09:19:11 -07:00
Dániel Buga
eb8acaf4d4
Set alarm on correct timer (#730) 2023-08-16 12:54:54 +01:00
M4tsuri
9d5afbf1f5
Fixed wrong dram_seg length in esp32s2-hal linker script (#732) (#734)
* Fix size of ram_seg in ld script

* Update CHANGELOG.md
2023-08-16 13:26:52 +02:00
Dániel Buga
d214c25b87
Clean up callback in alarms (#729) 2023-08-16 11:29:15 +01:00
Dániel Buga
37e24af753
Make examples debuggable (#728) 2023-08-16 09:04:14 +02:00
Dániel Buga
910b71bd9e
Fix typo (#726) 2023-08-16 09:01:45 +02:00
Jesse Braham
ae455ed8a7
Switch RISC-V MSRV to nightly release channel (#725)
* Use `nightly` release for MSRV check

* Un-pin the `log` package version
2023-08-15 06:39:36 -07:00
Jesse Braham
ccc953842e Add a simple CONTRIBUTING.md guide 2023-08-14 09:35:13 -07:00
Björn Quentin
424b96532f
Fix RISCV stack-start (#721) 2023-08-14 17:05:29 +02:00
Jesse Braham
2dee0110be
[ESP32-C6-LP] Add input support for IO driver, implement more embedded-hal output traits (#720)
* Add input support for IO driver, implement more `embedded-hal` output traits

* Update CHANGELOG
2023-08-14 07:45:17 -07: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
Jan Sosulski
659cdffcba
Fix psram check in esp-hal-common build.rs (#718)
* Fix psram check in esp-hal-common build.rs

* Update changelog.
2023-08-13 13:42:51 +00:00
Björn Quentin
bbe1e5df59
ESP32-C6 LP CORE delay and basic gpio (#715)
* ESP32-C6 LP CORE delay and basic gpio

* CHANGELOG.md, build LP examples in release mode
2023-08-12 14:04:25 +00:00
Jesse Braham
64556da803
Create the esp32c6-lp-hal package (#714)
* Create the `esp32c6-lp-hal` package

* Update CHANGELOG
2023-08-10 09:48:46 -07:00
Jesse Braham
846f3b0b50
New package releases (#713)
* Add/update `rust-version` to manifests where it is missing or out of date

* Use latest versions of published PACs

* New package releases
2023-08-10 08:44:15 -07: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