Dániel Buga
18ef297a47
Remove RtcPin trait impls from Flex ( #2938 )
2025-01-17 16:41:28 +00:00
Björn Quentin
5f2c0ec5f2
Support 3-wire-SPI ( #2919 )
...
* Support 3-wire-SPI
* CHANGELOG.md
* Remove 'Error::ArgumentsInvalid', more docs
* Rebase Fix
* `DataMode::Single` -> `DataMode::FourWire`
* Rename, again
* docs wording
* Honor ESP32
* Have some testing for DataMode::Single
* Mark `with_sio0/1` unstable
2025-01-17 16:34:34 +00:00
Sergio Gasquez Arcos
c88dbefff8
Avoid using nb::Result as a return type ( #2882 )
...
* feat: Avoid using nb::Result in spi
* feat: Avoid using nb::Result in hmac
* feat: Avoid using nb::Result in sha
* feat: Avoid using nb::Result in usb_serial_jtag
* feat: Avoid using nb::Result in adc::read_oneshot
* feat: Avoid using nb::Result in rsa::ready
* feat: Avoid using nb::Result in timer::wait
* feat: Avoid using nb in uart and twai. Udpate examples and tests to avoid using block!
* feat: Block on sha calls, remove Option<> results
* feat: Block on hmac calls, remove Option<> results
* fix: Clippy lints
* feat: Block on spi calls, remove Option<> results
* feat: Block on timer calls, remove Option<> results
* feat: Block on twai calls, remove Option<> results
* docs: Fix wait docstring
* feat: Remove embedded_hal_nb traits
* feat: Block on uart calls, remove Option<> results
* feat: Remove nb stuff from usb_serial_jtag
* feat: Block on rsa calls, remove Option<> results
* feat: Clippy lints
* feat: Make read_bytes return how many bytes it read from the fifo and fix docs/tests
* fix: run_test_periodic_timer test
* feat: Only remove nb from stabilizing drivers
* feat: Remove unused functions
* feat: Remove emnbedded-hal-nb
* test: Adapt tests
* docs: Update changelog and migration
* test: Adapt tests
* docs: Update migration guide
* docs: Update migration
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* docs: Update changelog and migration guide
* feat: Make `write_bytes` return an Result
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-01-17 15:46:20 +00:00
Tomasz Kramkowski
48b52e087b
0.22 migration document additions/fixes ( #2986 )
...
* fix small typo
* Adjust `new_with_config` removal example
Remove the `config` parameter construction as it has changed and is not
relevant to this example.
* Mention builder lite
* Mention `Spi` enum prefix removal
* Remove `new_with_config` from unrelated examples
* Code block fix `dif` -> `diff` typo
2025-01-17 15:45:59 +00:00
Björn Quentin
5d0145eca9
esp-wifi: Late enable BT interrupts ( #2981 )
...
* Enable BT interrupts AFTER setting the callback
* Reduce logging level
* Use published `edge-*` crates
* CHANGELOG.md
2025-01-17 15:45:26 +00:00
Dániel Buga
40d552fd7b
Create newtypes for all PAC peripherals, mark unstable peripheral singletons ( #2957 )
...
* Create newtypes for all PAC peripherals, mark unstable peripheral singletons
* Hide unstable singletons
2025-01-17 15:20:34 +00:00
Benedikt
2105ba0f81
RMT: Use gpio::Level for carrier and pulse levels ( #2989 )
...
* rmt: Use gpio::Level instead of bool to specify output levels
* rmt: Use gpio::Level for PulseCode::level{1|2}
2025-01-17 11:58:34 +00:00
liebman
da7dda37a8
i2s: fix pin offset for 8bit parallel on i2s1 ( #2886 )
...
* i2s: fix pin offset for 8bit parallel on i2s1
* i2s: fix pin offset for 8bit parallel on i2s1
* changelog
* changelog
* fix changelog
2025-01-17 10:36:06 +00:00
Benedikt
e150a537fc
rmt: don't use the paste! macro ( #2976 )
...
There's no need for it, the PACs have accessor methods that take channel
indices (which were already used in a few places).
2025-01-17 09:08:51 +00:00
Dániel Buga
3fac1979d0
Add repr(C) to DmaDescriptor, allow unstably constructing dma::Channel
( #2988 )
...
* Add repr(C) to DmaDescriptor
* Allow creating DMA channel drivers
2025-01-17 08:55:18 +00:00
Benedikt
81382bafc7
RMT: Implement builder-lite for {Rx|Tx}ChannelConfig ( #2978 )
2025-01-16 17:48:22 +00:00
Taiki Endo
0120cb3ecc
Fix esp-println build failure when critical-section feature is disabled ( #2979 )
2025-01-16 17:07:28 +00:00
Dániel Buga
a50ce4f8a1
Fix low_power_wait ( #2975 )
2025-01-16 17:06:18 +00:00
Benedikt
866dc91cc6
Rmt: Improve codegen for enable_listen_interrupt ( #2960 )
...
* rmt: consolidate listen_interrupt() calls
such that they reduce to a single load/modify/store operation
* rmt: avoid EnumSet::iter for better codegen with optlevel=s
This iterator generates relatively complex code, which is not reliably
reduced to the intended simple memory access, even if the `events`
argument is constant at compile time. Rather, the loop might be
retained, which is inefficient and leads to much larger code.
Tested on riscv using cargo objdump, with the following cargo profile
[profile.release]
codegen-units = 1
debug = true
debug-assertions = false
incremental = false
lto = 'fat'
opt-level = 3|'s'
overflow-checks = false
2025-01-16 17:05:44 +00:00
Benedikt
6583f1c617
docs: RMT_CHANNEL_RAM_SIZE counts pulse codes, not bytes ( #2955 )
...
checked all values against the technical reference manuals
2025-01-16 17:04:59 +00:00
Dániel Buga
660e43effa
Do not rerun CI when a PR is marked ready ( #2958 )
2025-01-16 11:37:01 +00:00
Scott Mabin
224c38ff66
xtask depends on esp-metadata which has a MSRV of STABLE (currently 1.84) ( #2977 )
2025-01-16 10:46:39 +00:00
Scott Mabin
4b66e3dba7
prepare for esp-hal@0.23.1 ( #2966 )
v0.23.1
esp-wifi-v0.12.0
2025-01-15 16:39:12 +00:00
Dániel Buga
7ea1296fe9
Fix warnings & clean up ( #2961 )
...
* Fix precedence warnings
* Clean up
* Try to catch documentation warnings
* Deny rustdoc lints, fix issues
* Check documentation for wifi and embassy
* Fix h2
2025-01-15 16:00:27 +00:00
Dániel Buga
04f62ec36d
Fix priority locks on RISC-V ( #2964 )
...
* Use normal interrupt lock when priority==max
* Fix priority locks
2025-01-15 15:04:33 +00:00
Jesse Braham
4ec3731519
Remove extraneous keyword from Cargo manifest ( #2962 )
2025-01-15 12:23:29 +00:00
Jesse Braham
59a2c17a52
New package releases ( #2959 )
...
* Fix some styling issues in top-level README.md
* Update package dependencies and bump version numbers
* Update each `CHANGELOG.md` file for packages to be published
* Update `esp-hal` migration guide
* Fix typo in `esp-hal` changelog
v0.23.0
2025-01-15 11:37:36 +00:00
Dániel Buga
240f79021d
Define a stable set of SPI tests ( #2934 )
2025-01-15 10:05:19 +00:00
Dániel Buga
571760884b
Update our time driver for upcoming embassy changes ( #2701 )
...
* Add a timer-driven task
* Spawn another timer
* Log
* foo
* Do not access current time on each schedule
* Update generic queue
* Minimize alarm priorities
* Point to github with patches
* Fix build without any queue impl selected
* Remove explicit generic-queue features
* Define cfgs, fix calling something uninitialized
* Clean up RefCell+generic queue
* Fix arg order
* Feature
* Fix single integrated-timer queue
* Fix next expiration when arming
* Add note
* Adjust impl to latest changes
* Local patch
* Refactor the refactor refactor
* Track the timer item's owner
* Clear owner on dequeue
* Clean up
* Point at the right branch
* Fix panic message
* Hide private function
* Remove integrated-timer references
* Point at upstream embassy
* Configure via esp-config
* Document, clean up, fix
* Hack
* Remove patches
* Update config separator, test the complex variant
* Undo esp-config hack
* Remove trouble example, update edge-net
* Update test deps
* Document
* Update bt-hci.
* Fix generic queue
* Fix panic message
* Fix UB
* Fix rebase
* Resolve UB
* Avoid mutable reference in interrupt executor
---------
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2025-01-14 16:17:58 +00:00
Björn Quentin
5e05402e98
I2c addr ( #2864 )
...
* I2C: prepare to support 10-bit addresses later
* Introduce I2C Timeout enum
* Migration guide
* CHANGELOG.md
* Timeout::Maximum
* Internal Enum
* Check timeout
* Address review comments
* Timeout -> SclTimeout
* Remove `as_u8`
* Implement idea from review
* Review
* Renaming
* Fix migration guide
---------
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
2025-01-14 14:16:02 +00:00
Dániel Buga
2da7cbc812
Unstabilize AtCmdConfig ( #2953 )
2025-01-14 13:02:37 +00:00
Jesse Braham
e6c38c59b7
Bump MSRV of all packages to 1.84, add MSRV policy to each README.md
( #2951 )
...
* Various top-level `README.md` updates
* Set MSRV to 1.84.0 for all packages
* Add MSRV policy to each `README.md`
* Update each `CHANGELOG.md`
2025-01-14 11:01:28 +00:00
Dániel Buga
4e70ad6ced
Minor pre-release cleanup ( #2950 )
...
* Default-enable unstable features until 1.0
* Update delegate
2025-01-14 10:29:59 +00:00
Kirill Mikhailov
398555ee73
Avoid public API changes due to config options. ( #2945 )
...
* csi_enable: from option to feature
* fix
* enable feature for example
* migration guide update
* changelog entry
* address reviews
2025-01-14 09:53:45 +00:00
Björn Quentin
8fb9fbddd5
ESP32-S3: Fix PSRAM start address calculation ( #2880 )
...
* ESP32-S3: Fix PSRAM start address calculation
* Change code for clarity
* Explain
* Link to esp-idf docs
2025-01-14 08:57:05 +00:00
Juraj Sadel
0bf6e4606b
i2c_master: Add interrupt APIs ( #2944 )
...
* i2c_master: Add interrupt API
* changelog
2025-01-14 07:23:51 +00:00
Björn Quentin
732c442c24
Main macro ( #2941 )
...
* Re-organize code
* Update dependencies
* Introduce `esp_hal::main` macro
* Migration Guide
* CHANGELOG.md
* Move around
* Remove redundant features, improve error message
---------
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
2025-01-13 17:08:47 +00:00
Dániel Buga
292ee82d32
Remove internal_pull_in_sleep_mode ( #2937 )
2025-01-13 16:12:07 +00:00
Sergio Gasquez Arcos
70ae525c8c
Update Xtensa Rust version ( #2940 )
...
* ci: Update Xtensa Rust version
* fix: Clippy lints
2025-01-13 14:47:20 +00:00
Dániel Buga
8c48c74039
Make Uart::read_bytes blocking ( #2935 )
2025-01-13 14:44:45 +00:00
Frostie314159
54281843a7
Updated PACs and made the Wi-Fi peripheral non virtual on the ESP32-S2. ( #2942 )
...
* Updated PACs.
* Made the Wi-Fi peripheral on the S2 non virtual.
* Updated Changelog
2025-01-13 13:58:29 +00:00
Björn Quentin
7d7ce279d1
De-allocate memory used by timers on removal ( #2936 )
...
* De-alocate memory used by timers on removal
* CHANGELOG.md
2025-01-13 08:28:19 +00:00
Dániel Buga
e13c09eb92
Remove logic from InputPin and OutputPin ( #2926 )
...
* Hide PAC types exposed via peripheral singletons
* Rename AlternateFunction variants
* Move logic to AnyPin
* Remove degrade_pin
* Add a note to GPIO
* Remove mask
* Fix test
2025-01-10 14:50:03 +00:00
Juraj Sadel
03ea4f6c90
Remove the single byte read/write inherent functions ( #2915 )
...
* SPI: remove read/write_byte functions
* UART: make read/write_byte functions private
* changelog
* migration guide
* fix ieee802154_sniffer example
* review comments and cleanup
* use variable name buf instead of buff
* add pub fn read_bytes
* migration guide update
* another migration guide update
* improve docs of read/write_bytes
2025-01-10 14:36:24 +00:00
Kirill Mikhailov
8d948ba017
Mark unstable modules, make macros
private ( #2900 )
...
* Mark unstable APIs + make `macros` private
* address reviews
* use `instability` instead of feature
* fix dependencies
* More tagging
* `Persistable` and `procmacros` - unstable
* Adjust for changes
* sure...
2025-01-10 14:32:34 +00:00
Kirill Mikhailov
e62141f03f
Legalize C-QUESTION-MARK
violation ( #2929 )
...
* Legalize `C-QUESTION-MARK` violation
* sure...
2025-01-10 13:44:26 +00:00
Dániel Buga
8fad94344e
Fix thread-mode executor on core1 not waking up ( #2924 )
2025-01-10 12:37:28 +00:00
Dániel Buga
aa64ad8559
Restore explicit stdin inherit ( #2927 )
2025-01-10 11:46:01 +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
8bd49d7bdf
Do not DerefMut into PAC register blocks ( #2918 )
...
* Remove some nonsense
* Do not DerefMut to register block
2025-01-10 08:32:24 +00:00
Dániel Buga
040c0fd353
Mark Flex methods as unstable ( #2917 )
2025-01-09 16:13:12 +00:00
Dániel Buga
021676e871
Remove more enum prefixes ( #2922 )
2025-01-09 15:33:58 +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
Dániel Buga
2b80e4d123
Return error instead of panic ( #2916 )
2025-01-09 13:47:54 +00:00
Dániel Buga
0ef00206d5
Remove all instance type params ( #2907 )
2025-01-09 11:27:48 +00:00