1146 Commits

Author SHA1 Message Date
Dániel Buga
fd1c7b4fc7
embassy-usb support (#1517)
* embassy-usb support

* Add changelog entry

* Update embassy-usb-synopsys-otg

* Change VID/PID to match the blocking example

* Add missing initialisation

* Clean up

* fmt

* Remove log init

* Use released crate

* Revert to released embassy-usb

* Update vid/pid

* Remove redundant TAIT feature gate
2024-05-01 20:38:59 +00:00
Zgarbul Andrey
ee4424961e
PCNT cleanup (part2) && SYSTIMER update (#1520)
* PCNT cleanup (part2)

* SYSTIMER update pac

* etm update
2024-04-30 16:08:04 +00:00
liebman
f70ef1a593
i2c: implement I2C:transaction for embedded-hal and embedded-hal-async (#1505)
* i2c:

* i2c: refactor transaction() and reuse for master_read, master_write, and master_write_read

* i2c: cargo fmt

* i2c: fix an issue with not clearing interrupt bits & move where we reset fifo and command_list

* i2c: fix async compile error

* i2c: fix for esp32 & esp32s2

* i2c: real fix for esp32 (End command never gets cmd_done bit set!)

* i2c: fmt and removal of an unwrap() that I was using while debugging

* i2c: only define opcode values in one place
i2c: use CommandReg in add_cmd

* i2c: async direct & embedded_hal support working

* i2c: cargo fmt

* examples: cargo fmt
2024-04-30 13:41:07 +00:00
Dominic Fischer
d5d3f1f46b
Add LCD_CAM Camera driver (#1483)
* Add LCD_CAM Camera driver

* comments

* 16 bit

* Expose most config

* Module documentation

* Remove GPIO generics

* Fix breaking change

* Remove Pin generics from Camera type

* Fix unsafe

* Another breaking change

* fmt
2024-04-29 14:23:16 +00:00
Zgarbul Andrey
157ac17be1
update adc pac (#1506) 2024-04-29 11:55:15 +00:00
Zgarbul Andrey
840c395a11
PCNT cleanup (part1) (#1519) 2024-04-29 09:49:59 +00:00
Juraj Sadel
db8a5912b7
Add Delay HIL test (#1415)
* Add  HIL test

* fmt
2024-04-29 09:36:45 +00:00
Seb Ospina
c77b0614d0
1376 - I2C runtime ISR binding example update (#1516)
* 1376 - I2C runtime ISR binding example update.

After #1376 the reference example requires the extra
Option<InterruptHadnler>, adding it to the doc example/snippet.

Signed-off-by: Seb Ospina <kraige@gmail.com>

* Update i2c doc example with interrupt_handler parameter

Signed-off-by: Seb Ospina <kraige@gmail.com>

* Upd read_base_mac_address vns get_mac_address example

Signed-off-by: Seb Ospina <kraige@gmail.com>

---------

Signed-off-by: Seb Ospina <kraige@gmail.com>
2024-04-29 07:08:14 +00:00
Jesse Braham
03548807fc
Add additional HIL tests for UART (#1511) 2024-04-26 10:02:45 +00:00
Zgarbul Andrey
b2b43049c1
spi pac update (#1501)
* spi pac update

* try to optimize
2024-04-24 15:49:14 +00:00
Björn Quentin
03b3245eeb
Cleanup PARL_IO (#1508)
* Cleanup PARL_IO

* remove not-needed `#[non_exhaustive]`
2024-04-24 13:39:31 +00:00
Björn Quentin
fa99a1ad43
Cleanup dma module (#1480)
* DMA Cleanup

* Fix ESP32 SPI

* Consider `unsafe fn` as `unsafe block`
2024-04-24 13:38:07 +00:00
Björn Quentin
c77f48388a
Assorted doc improvements (#1507)
* Assorted doc improvements

* Fix `missing_docs`

* Remove unnecessary `mut`

* Chip specific ESP-IDF link for ETM and RNG

* Move `chip!` macro to soc-module
2024-04-24 12:59:51 +00:00
Björn Quentin
373735f96a
Add current_time (#1503)
* Add `current_time`

* CHANGELOG.md

* Add HIL test for `current_time`

* Fix after rebase
2024-04-23 14:59:28 +00:00
Jesse Braham
ad1176865e
Eliminate the GpioExt trait (#1496)
* Eliminate the `GpioExt` trait

* Update `CHANGELOG.md`

* `&self` -> `self`
2024-04-23 13:47:08 +00:00
Jesse Braham
086b6059b9
Remove the SystemExt trait and rename SystemParts to SystemControl (#1495)
* Convert `SoftwareInterrupt` to a unit struct

* Remove the `SystemExt` trait and rename `SystemParts` to `SystemControl`

* Update all examples an HIL tests to reflect previous API changes

* Clean up imports in `hil-test` package, address `clippy` lint warnings

* Update `CHANGELOG.md`
2024-04-23 13:25:03 +00:00
Sergio Gasquez Arcos
0023473068
feat: Reduce method duplication (#1502) 2024-04-23 12:55:22 +00:00
Dominic Fischer
e5b46b5024
Make software interrupts shareable (#1500) 2024-04-23 10:42:08 +00:00
David Herberth
94bca218c9
SmartLedsAdapter example requires clocks and interrupt handler (#1504) 2024-04-23 10:39:05 +00:00
Scott Mabin
e0610f7997
Undo TRNG changes in RNG (#1498)
* Backout the TRNG

* changelog
2024-04-22 19:27:30 +00:00
Scott Mabin
dd8083dbdc
changelog (#1469) 2024-04-22 19:44:29 +01:00
Scott Mabin
56a7553b2d
Camel case structs (#1473)
* Remove uneeded usb generics

* Ensure all structs are consistently CamelCased

* changelog
2024-04-22 17:27:53 +00:00
Seb Ospina
f5dfca7f27
Adapting maxwen branch to v0.16.1 (#1424)
* Adapting maxwen branch to v0.16.1

maxwen@6ba9b84

closes #1155

Signed-off-by: Seb Ospina <kraige@gmail.com>

* ESP32-PICO-V3-02 init

Signed-off-by: Seb Ospina <kraige@gmail.com>

* rustfmt

* Update CHANGELOG.md

---------

Signed-off-by: Seb Ospina <kraige@gmail.com>
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2024-04-22 17:01:39 +00:00
Jesse Braham
c4383196fa
Remove unused files, clean up some #[cfg]s and #[allow] attributes (#1494)
* Remove unnecessary files

* Use config symbols instead of feature names for remaining `cfg` attrs

* Clean up some attributes/TODO comments in UART driver
2024-04-22 16:29:33 +00:00
Jesse Braham
4d2ab5bc8f
Create virtual peripherals for CPU control and radio clocks (#1428)
* Create a virtual `CPU_CTRL` peripheral for ESP32/S3

* Create a virtual `RADIO_CLK` peripherals for all devices with radios

* Use `PeripheralRef` for the `CpuControl` constructors

* Update `CHANGELOG.md`
2024-04-22 15:21:08 +00:00
Dominic Fischer
866933bf6f
Fix entry macro for ULP hal (#1488) 2024-04-22 14:42:10 +00:00
liebman
5f79be6c9b
i2c: i2c1_handler used I2C0 register block by mistake (#1487)
* i2c: i2c1_handler used I2C0 register block by mistake

* update CHANGELOG
2024-04-22 14:41:59 +00:00
Scott Mabin
4d44f4179e
Document more EspAlloc invariants (#1474) 2024-04-22 14:41:46 +00:00
Droog71
7e5895c5fd
Fix for issue #1419 (#1441)
* Fix for issue #1419. Removed ESP32 specific code for resolutions > 16 bit in ledc embedded_hal::pwm max_duty_cycle function. Fixed division by zero in ledc embedded_hal::pwm set_duty_cycle function and converted to set_duty_hw instead of set_duty to eliminate loss of granularity.

* Updated change log.

* Fixed indentation in ledc set_duty_cycle function.

* Removed unused ChannelIFace import for ehal mod.
2024-04-22 14:41:34 +00:00
Sergio Gasquez Arcos
20c77891d8
ci: Adapt HIL tests to use RPi (#1493) 2024-04-22 14:28:01 +00:00
Scott Mabin
3dfea214d4 next release cycle 2024-04-18 16:51:30 +00:00
Jesse Braham
822bef12c7
New package releases (#1464) v0.17.0 2024-04-18 16:02:45 +00:00
Scott Mabin
39a75bae90
Improve the top level crate documentation (#1467) 2024-04-18 15:50:20 +00:00
Dominic Fischer
763bd638e7
Expose e-hal ErrorKind::NoAcknowledge in I2C driver (#1454)
Co-authored-by: Scott Mabin <scott@mabez.dev>
2024-04-18 11:28:50 +00:00
Dominic Fischer
8f2ee88491
Add remaining peripheral signals for LCD_CAM (#1466) 2024-04-17 23:05:42 +00:00
Adam Simpkins
3d9f117beb
Add peripheral signals for the USB external PHY (#1463)
These signal definitions appear to be missing, and it seems like these
are needed to use an external PHY.  I copied these values from the
gpio_sig_map.h headers in the ESP-IDF.
2024-04-17 20:30:39 +00:00
Björn Quentin
c4d1eb492e
Address gpio module todos (#1462)
* Add `set_state` for GpioPin

* `#![warn(missing_docs)]` for GPIO module

* CHANGELOG.md
2024-04-17 16:07:42 +00:00
Kirill Mikhailov
6f91367d6c
Add mechanism to configure UART source clock (#1416)
* Creating mechanism for setting UART source clock

* Format + examples updating

* Changelog entry

* Smaller fixes (reviews)

* Move RC_FAST_CLK constant to soc

* Fix REF_TICK value

* Add doc comments

update doc comments

* fmt
2024-04-17 15:27:47 +00:00
Scott Mabin
111dcda103
SystemTimer fixups (#1455)
* Resolve TODOs, add wait_until to target alarm, add &mut self to public API

* changelog
2024-04-17 15:09:48 +00:00
Jesse Braham
71db9fa55c
Remove partial support for the ESP32-P4 (#1461)
* Remove all code for and mentions of the ESP32-P4

* Update `CHANGELOG.md`
2024-04-17 14:49:00 +00:00
Björn Quentin
54f4f0e90d
Add Safety comments (#1460) 2024-04-17 12:48:07 +00:00
Björn Quentin
29d9cfbe31
Verify C6 signals / compared to ESP-IDF (#1459) 2024-04-17 10:46:35 +00:00
dimpolo
0fa3214971
MCPWM deadtime improvements (#1378)
* MCPWM deadtime improvements

* allow changing deadtime config after pin creation
* constify DeadTimeCfg
* fix some wrong bit values
* remove some unsafe blocks

* fix some typos

* enable PwmPin as a last configuration step

* introduce mcpwm::operator::LinkedPins and move deadtime related method there

* Typo

* variant() -> bits()

* formatting

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2024-04-17 09:23:31 +00:00
Björn Quentin
803fbb4d94
Use AlignmentHelper for AES (#1458)
* Use `AlignmentHelper` for AES

* Make Clippy smile
2024-04-17 09:00:42 +00:00
Juraj Sadel
000617b876
esp32: fix ledc (#1457)
* esp32: fix ledc

* changelog
2024-04-17 07:39:10 +00:00
Kirill Mikhailov
17492f6b62
Support 192 and 256-bit keys for AES (#1316)
* Support 192 and 256-bit keys for AES

* quick fix

* Not `panic`ing on wrong key length

* fmt + hil

Update comment

* Add more doc comments

* Use `Key` enum for DMA mode

fix

* API fix: make some critical functions private

* Use `Into<Key>` instead of forcing users to call funcs with `key.into()`
2024-04-16 16:51:25 +00:00
Jesse Braham
3c2dccd51c
Move the esp-alloc package into the repository (#1449) 2024-04-16 15:11:05 +00:00
Björn Quentin
2a750dfedc
Use esp-synopsys-usb-otg 0.4.1 (#1452) 2024-04-16 15:00:25 +00:00
Björn Quentin
e368be0565
Turn some not-too-useful TODOs into useful documentation (#1451) 2024-04-16 14:46:27 +00:00
Scott Mabin
48ced47874
fixmes be gone (#1448) 2024-04-16 13:52:45 +00:00