Juraj Sadel
c6437c7a44
Update examples and qa-test to new bootloader ( #3541 )
2025-05-26 10:37:41 +00:00
Dániel Buga
e2a9fc7437
Try to fix timeout errors when the I2C driver is preempted ( #3458 )
...
* Add test case
* Check completion before error
2025-05-08 15:05:22 +00:00
Dániel Buga
9c0512c1be
Hopefully innocent I2C-related cleanups ( #3460 )
...
* Simplify test
* Clean up
2025-05-07 13:47:58 +00:00
Kirill Mikhailov
ec6aec4b59
Fix I2C HIL tests ( #3405 )
2025-04-22 13:32:58 +00:00
Björn Quentin
4bc9ef2f5b
Check for ST_TOUT / MAIN_ST_TOUT ( #3333 )
...
* Check for ST_TOUT / MAIN_ST_TOUT
* Fix & CHANGELOG
* cfg gate
* Field renaming in PACs
* Introduce FsmTimeout type
* `new_const`
* Review comments
* Async I2C tests
* Remove FSM timeout for S2
* Add test
* Don't run `async_test_timeout_when_scl_kept_low` on S2 - we know it fails
* Fix
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-04-22 11:11:11 +00:00
Kirill Mikhailov
b33b877592
Bump edition to 2024, bump MSRV to 1.85 ( #3391 )
...
* inter-state
* inter-state (2)
* warnings fix
* fix warnings
* fmt + changelogs
* another unsafe extern "C" doode
* real fmt now
* MSRV + format
* Ignore unsafe_op_in_unsafe_fn lint for now in esp-hal and esp-wifi
* msrv + fmt
* ugh....
* get lcd_cam example right
* expr_2021 -> expr experiment
* gagagugu
* reviews
* more unneeded unsafes (help)
* finish esp-hal unsafe cleanup
* each unsafe call is marked separately
fmt
* should be good now (?)
* piece was never an option...
* dumb
2025-04-22 10:39:11 +00:00
Björn Quentin
523bd381eb
Validate 7-bit I2C addresses ( #3343 )
...
* Validate 7-bit I2C addresses
* add test
* CHANGELOG.md
* Docs
* Include address in `Error::AddressInvalid`
* Fix
* CHANGELOG.md
* Revert CHANGELOG change
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-04-08 11:35:36 +00:00
Björn Quentin
69031e614b
Add AcknowledgeCheckFailedReason
( #2862 )
...
* Add `AcknowledgeCheckFailedReason`
* Fix
* Remove unused AcknowledgeCheckFailedReason variants
* Re-introduce Data and Address, again
* Clippy + Tests
---------
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2025-01-10 08:57:46 +00:00
Dániel Buga
848029b152
Test all feature sets ( #2901 )
...
* Mark interconnect as unstable
* Explicitly set unstable feature in HIL tests
* WIP append feature set name to artifact
* Add name to feature sets, build all combinations
* Fix tests
* Provide a looping executor for stable async tests
* Fix usb serial jtag
* Hide interconnect types
2025-01-09 13:58:14 +00:00
Juraj Sadel
d54f8440a5
HIL(QOL): Use global timeout instead of timeout macros ( #2489 )
...
* HIL(QOL): Add missing timeouts to various tests
* Increase timeouts for ECC
* Use global timeout in hil tests
* sha: increase test_digest_of_size_1_to_200 timeout from 10 to 15 seconds
2024-12-04 12:03:39 +00:00
Dániel Buga
92910bf1cb
Constructor consistency update ( #2610 )
...
* UART: only implement constructors with config, define ConfigError
* UART: only implement interrupt functions for Blocking
* I2C: fallible constructors
* Lcd/Cam
* SPI
* Update tests and examples
* Changelog
* Add note about ConfigError
* Fmt
2024-11-28 09:28:50 +00:00
Dániel Buga
8cbc249e2e
I2c: attempt empty writes ( #2506 )
...
* Attempt 0-length writes
* Deduplicate
* Changelog
* Test existing address
* Name addresses
* Fix formatting
2024-11-13 09:57:30 +00:00
Dániel Buga
fbc57542a8
Remove pins from Io
( #2508 )
...
* Split pins off of Io
* Remove the GPIO peripheral
* p.GPIO
2024-11-12 10:36:25 +00:00
Dániel Buga
2c14e595db
I2C: add apply_config
, implement SetConfig
, add with_sda
and with_scl
( #2477 )
...
* Implement apply_config, SetConfig
* Remove pins from constructors
* Implement timeout changes, document them
* Fix up changelog
2024-11-08 22:51:42 +00:00
Dániel Buga
6d6f6a7baa
Move I2C driver to i2c::master
( #2476 )
...
* Move I2C driver to i2c::master
* Update esp-hal/CHANGELOG.md
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
2024-11-08 12:28:53 +00:00
Dániel Buga
e367c83bde
Erase i2c peripheral instances ( #2361 )
...
* Clean up
* Erase I2C instance type
* Clean up
* Implement Peripheral
* Changelog
* Remove with_timeout constructors
2024-10-23 06:31:08 +00:00
Dániel Buga
ef7842fab4
Reimplement blocking trait for async i2c ( #2343 )
2024-10-14 12:50:37 +00:00
Scott Mabin
0142703112
I2c rename, small docs clean up ( #2320 )
...
* cleanup prelude docs
* fixups and i2c rename
* changelog and migration
* fixup docs and examples
* fix lint
2024-10-10 07:26:13 +00:00
Dániel Buga
efe58e94a2
I2C: clean up and remove stop condition from the middle of write_read
( #2276 )
...
* Remove I2COperation
* Clean up peripheral reset/enable
* Remove match on peripheral number
* Remove seemingly duplicate register write
* Clippy
* Restore compatibility with slices, publish async transaction
* Maybe with a stop between?
* Add missing inlines
* Read from the correct address
* write_read: don't generate stop after write
2024-10-07 07:29:23 +00:00
Dániel Buga
c7a2368845
Print test panics using semihosting
( #2257 )
...
* Print panic messages using semihosting
* Don't use defmt's asserts
* Make RA_OFFSET available without panic-handler
* Re-add defmt imports where missing
* Revert unintended test change
* Initialise hal in critical-section test
* Disable defmt in tests by default
2024-10-04 06:31:39 +00:00
Björn Quentin
24c545db4a
I2C error recovery ( #2141 )
...
* Recover from I2C errors (the hard way)
* Adjust test to cover the problematic case
* Replace macro-usage
* CHANGELOG.md entry
* Appease Clippy
* TIL: `Result::inspect_err` exists
* Turn public `recover` into private `internal_recover`
2024-09-11 15:50:25 +00:00
Juraj Sadel
f374d6a102
Enable SPI_DMA_XX_ASYNC and _PCNT tests on ESP32 and S2, remove GPIO usage from description ( #2140 )
2024-09-11 10:23:07 +00:00
Juraj Sadel
17daa464ba
Enable ESP32 HIL ( #1977 )
...
* Enable ESP32 HIL
* RMT fixed
* SPI DMA partially works, _pcnt tests not working
* bckup
* finish
* readme and cleanup
* rebase + cleanup
* RMT S2 pin typo + clean forgotten comments
* review comments
* update 10000
* indentation
* replace cfg gate with cfg_if
2024-09-06 08:53:27 +00:00
Dániel Buga
99bf346898
Remove the need to manually pass clocks around ( #1999 )
...
* Clean up passing clocks to drivers
* Update changelog
* Initialise Clocks in a critical section
* Fix calling now() before init
* Fix doc
* Fix esp-wifi migration guide
* Add safety comment
* Update tests
2024-09-04 14:13:51 +00:00
Kirill Mikhailov
9bec6a1806
Adding I2C
HIL test ( #2023 )
...
* i2c hil test
* pin
* fmt
* Test
* WIP (gpio test left)
* Finalize the CODE part (to be cleaned up)
fmt
* Smaller cleanup
* cleanup
* rebase
* fix
* getting last chips ready
* Addressing reviews
2024-09-04 12:45:58 +00:00