Commit Graph

1175 Commits

Author SHA1 Message Date
Jesse Braham
cc28c3eb09
Add the esp-println package to the repository (#1575)
* Add the `esp-println` package to the repository

* Update esp-println version in README.md

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2024-05-23 10:20:41 +01:00
Jesse Braham
5facb759ae
[2/3] Timer abstraction: add OneShotTimer/PeriodicTimer drivers, Timer trait (#1570)
* Add the `Timer` trait, `OneShotTimer` and `PeriodicTimer` types

* `PeriodicTimer` now working for `TIMG`

* `OneShotTimer` now working for `TIMG`

* `OneShotTimer` now working for `SYSTIMER` (plus, some cleanup)

* SYSTIMER now mostly working for ESP32-S2 as well

* Update `timer_interrupt` example and fix clippy lint to make CI happy again

* Update `CHANGELOG.md`

* Make `SYSTIMER` work correctly with `PeriodicTimer`, address some review comments

* Make `Timer::now()` return a `fugit::Instant`
2024-05-23 06:21:12 +00:00
Scott Mabin
ec8308058b
Riscv stable CI (#1491)
* Remove interrupt and thread executor embassy features

* Reserve sw interrupt 3 (4) instead of 0 for multicore systems with the embassy feature enabled

* Add thread mode context id and fix up examples

* Use stable rust for riscv CI

* Add binary-logs feature to 8021504 driver

* Add binary-logs feature to 8021504 driver
2024-05-22 16:36:39 +00:00
Juraj Sadel
76ed67ad35
ESP32-S2: Add SPI Slave support (#1562)
* SPI Slave for ESP32 / ESP32-S2

* CHANGELOG.md

* Clippy...

* Revert ESP32 changes and keep ESP32-S2 only

* changelog

* review comments

---------

Co-authored-by: bjoernQ <bjoern.quentin@mobile-j.de>
2024-05-22 13:21:22 +00:00
Juraj Sadel
60d39e9f33
GPIO: Use Level enum instead of plain bool in constructors (#1574)
* GPIO: Use Level enum instead of plain bool in constructors

* changelog
2024-05-22 12:37:03 +00:00
maxwen
c6ffbb6c9d
Cleanup ESP32-PICO-V3-02 psram efuse bit masking functions (#1571)
Those functions where just copy paste from the C macros
2024-05-22 12:15:44 +00:00
Björn Quentin
45926a1142
Fix wrong baser-address for H2 802.15.4 (#1572) 2024-05-22 08:45:38 +00:00
Björn Quentin
1eb22a27a6
Fix absolute links to API-GUIDELINES.md (#1573) 2024-05-22 08:00:39 +00:00
Björn Quentin
683a0e072c
Add API-GUIDELINES.md (#1543)
* Add `API-GUIDELINES.md`

* Address review comments

* Reference the API guidelines in contributing guide, README and PR template
2024-05-21 16:36:36 +00:00
Scott Mabin
9acf72df33
Mention how handlers are run when drivers are moved across cores (#1568) 2024-05-21 08:22:35 +00:00
Björn Quentin
ef290a9a78
Remove pin generics from PARL_IO (#1545)
* Remove pin generics from PARL_IO

* CHANGELOG.md

* Fixes after rebase
2024-05-17 14:54:48 +00:00
Björn Quentin
9f1cf17c99
Fix async-serial-usb-jtag (#1561)
* Fix async-serial-usb-jtag

* CHANGELOG.md
2024-05-17 14:49:55 +00:00
Björn Quentin
9edd098da5
De-duplicate DMA transfer implementations (#1550)
* De-duplicate DMA transfer implementations

* CHANGELOG.md

* Renaming

* Fix

* Get rid of the lambda

* Clippy
2024-05-15 16:42:35 +00:00
Jesse Braham
8a1df42309
Add the esp-ieee802154 package to the repository (#1554)
* Add the `esp-ieee802154` package to the repo

* Add examples for `esp-ieee802154` package
2024-05-15 15:22:27 +00:00
Sergio Gasquez Arcos
3c05759556
Enable gpio::test_gpio_interrupt for Xtensa targets. (#1555)
* docs: Update probe-rs

* tests: enable test_gpio_interrupt for Xtensa targets
2024-05-15 09:13:43 +00:00
Björn Quentin
2faa2654cb
GPIO Refactoring (#1542)
* GPIO Refactoring

* CHANGELOG.md

* Addressed review comments

* Use `Level` instead of plain bool in public API

* Let drivers enable analog functions
2024-05-15 08:49:33 +00:00
Kirill Mikhailov
68628fc008
Add format subcommand to xtask (#1551) 2024-05-14 13:49:26 +00:00
nan-mu
58f40e95e5
pub UartRx read_byte (#1548)
* Fix for #1547

* a changelog

* fit pr request

* Add read_byte doc

* fit rustfmt
2024-05-13 13:56:24 +00:00
Jesse Braham
865823cace
Update PACs and fix resulting errors, convert IEEE802154 from virtual to real peripheral (#1549)
* Update to latest git revision for PACs, fix resulting build errors

* Make `IEEE802154` peripheral concrete rather than virtual
2024-05-10 14:19:50 +00:00
Kortan
2c1e66e9b3
spi: fix dma wrong mode when using eh1 blocking api (#1541)
* spi: fix dma wrong mode when using eh1 blocking api

* spi: fix dma blocking eh1 type

* Update CHANGELOG.md

* Make ErrorType generic over mode
2024-05-09 06:29:20 +00:00
Jesse Braham
df2b7bd847
Refactor and clean up xtask package (#1540)
* Simplify building/running examples, allow building a single example

* Simplify building/running of tests a bit

* Clean up the `run_elfs` function a bit

* Remove unnecessary duplication in `cargo` module
2024-05-07 10:15:25 +00:00
liebman
8567d35cdc
spi: implement setting bit order (#1537)
* spi: implement setting bit order

* update changelog

* spi: fixed bit order for c3
2024-05-06 14:54:48 +00:00
Jesse Braham
c22a64e37f
Add a lint exception rule for unexpected_cfgs (#1539) 2024-05-06 14:07:54 +00:00
Sergio Gasquez Arcos
0c95668e7a
ci: Update build-test name to match the required CI jobs (#1536) 2024-05-06 06:22:47 +00:00
Kirill Mikhailov
209a82bdc7
Fix delay on esp32h2. (#1535)
* Fix delay on `esp32h2`

* Add changelog entry

* Enable `esp32h2` chip in `get_time` HIL test
2024-05-03 17:09:17 +00:00
Jesse Braham
5a8c76ebdc
Use esp-rs logo in docs and enable nightly feature in docs for esp-alloc (#1533) 2024-05-02 21:47:07 +00:00
Scott Mabin
f32565b4af
Embassy enable thread and interrupt by default, enable embassy when building docs (#1485)
* Remove interrupt and thread executor embassy features

* Reserve sw interrupt 3 (4) instead of 0 for multicore systems with the embassy feature enabled

* Remove uneeded #[feature()] from examples

* Fix HIL tests

* Add thread mode context id and fix up examples

* improve embassy module docs

* changelog

* fixup hil tests

* Fixup usb examples
2024-05-02 15:58:04 +00:00
Sergio Gasquez Arcos
edd03717d2
Enable C3, H2, S2 and S3 HIL (#1513)
* ci: Enable C3, H2, S2 and S3 HIL tests

* feat: Disable H2

* test: Disable S2

* ci: Update test folder

* docs: Update setup

* revert: Revert S2 changes

* ci: Update hil tests targets

* test: Adapt uart test for S2

* ci: Enable H2 HIL

* feat: Filter unsupported targets for the tests failing

* test: Filter failing targets

* ci: Remove the test folder

* test: Filter S2

* feat: Add supported targets

* feat: Remove TODOs and format code

* docs: Remove outdated comment

* feat: Add run-elfs xtask subcommand
2024-05-02 15:35:23 +00:00
Jesse Braham
68a4fb29ed
[1/3] Timer abstraction: refactor systimer and timer modules into a common timer module (#1527)
* Refactor `systimer` and `timer` modules into a common `timer` module

* Update `CHANGELOG.md`

* Rebase and update new example
2024-05-02 13:27:33 +00:00
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