957 Commits

Author SHA1 Message Date
ivmarkov
ce357473db Alternative API with dyn traits 2025-11-15 19:43:16 +00:00
ivmarkov
936131f875 Simplify the sleep API 2025-11-15 19:17:02 +00:00
ameyakore
8228e2394c fixed all clippy warnings 2025-11-09 19:28:00 +05:30
ameyakore
13823bbc09 added more feature gates to prevent unused vars clippy 2025-11-09 19:13:25 +05:30
ameyakore
542407a51c made separate struct variables for config gated traits 2025-11-09 18:35:14 +05:30
ameyakore
4bd39a23a0 unused import under cfg flag 2025-11-09 18:24:04 +05:30
ameyakore
f78db6f2c6 added clippy rules 2025-11-09 18:06:55 +05:30
ameyakore
c2d22c45e5 cargo fmt 2025-11-09 02:56:16 +05:30
fa993
9336e45554
Merge branch 'esp-rs:master' into master 2025-11-09 02:50:39 +05:30
ameyakore
6e716e6c91 minor refactors and eliminating extra traits 2025-11-09 02:46:06 +05:30
ivmarkov
15e197e2e6 Clippy 2025-11-07 21:05:00 +00:00
ivmarkov
e6ef2fbcf9 Support for esp32c5 and esp32c61 2025-11-07 20:11:28 +00:00
ivmarkov
34d947de1c Compatibility with ESP-IDF 6+ 2025-11-04 10:53:04 +00:00
ivmarkov
b19408f3f9 Compatibility with ESP-IDF 6+ 2025-11-04 09:31:46 +00:00
ivmarkov
b88d4d560d Compat with ESP-IDF patch-level V5.4.3+ 2025-11-03 07:12:10 +00:00
ivmarkov
d63a701419 Fix CI for ESP-IDF patch-level 5.4.3+ 2025-11-02 16:30:06 +00:00
ivmarkov
9226921672 Switch next CI to ESP-IDF tags 2025-11-02 15:35:30 +00:00
ameyakore
53aa280035 fixed type issues 2025-11-02 01:26:05 +05:30
ameyakore
e12518e6f0 resolved conflicts 2025-11-01 23:27:02 +05:30
Lucas
782df6ea95
Implement new RMT driver API (#548)
* push first draft

* fix source clock

* fix clippy lints

* rename `source_clock` to `clock_source`

* implement sync manager

* implement `RxChannel`

* finish implementing TxChannel

* make code compile with and without `alloc`

* implement encoder and remove non_exhaustive

* push new changes

* push now hopefully safe impl

* fix ci

* use correct esp_idf_version in simple_encoder example

* cleanup example

* ...

* fix ub

* minor code improvements

* implement async support

* fix use-after-free bug and add a helper function

* redesign `TxChannelDriver` (again)

* fix minor mistakes and add `TxQueue`

* rewrite `RxChannelDriver` and do some minor adjustments

* adress the review (partially)

* implement more things

* make the async code mostly safe wrappers

* return token in when pushing on queue

* push initial new impl

* update code

* update code

* remove todo

* update changelog

* adjust duty cycle to store an `f32`

* fix clippy

* fix clippy

* fix clippy
2025-10-20 16:52:46 +03:00
ivmarkov
552b00b557 Clippy 2025-10-09 09:22:08 +00:00
Lucas
9e1884016f
Implement new PCNT API (#551)
* initial implementation of new pcnt api

* adress some things

* implement a dynamic state

* rename `pcnt_new` to `pcnt`

* adjust example and improve usability with dynamic

* refactor PCNT unit driver to remove state, remove link stuff and adjust docs

* update `subscribe`/add `subscribe_nonstatic`

* update changelog
2025-10-08 19:50:23 +03:00
ivmarkov
1ce34f2b53 Remove -Zbuild-std-features=panic_immediate_abort because new rustc no longer supports it this way 2025-09-25 09:34:11 +00:00
ivmarkov
a97d0657bc
Change ThreadSpawnConfiguration::name to CStr (#549) 2025-09-15 23:46:46 +02:00
ivmarkov
69371e75be Clippy and derive more 2025-09-07 06:16:01 +00:00
ivmarkov
fffb945520 Update embassy-sync to 0.7 2025-09-03 11:18:29 +00:00
ivmarkov
2af4695aac
Remove Peripheral/PeripheralRef (#529)
* Remove Peripheral/PeripheralRef

* Make ADC unit and channel structs more readable by avoiding const generics

* Remove unused parameter

* fix forgotten reference to the old ADCU syntax

* Mention that we have removed the prelude module

* try_into methods for changing the pin type
2025-09-03 14:13:32 +03:00
ivmarkov
676f0043de Fix the name of the new uart pin method 2025-09-03 08:08:22 +00:00
ivmarkov
f5c8c90dc0 Compat with ESP-IDF V6+ 2025-09-03 07:19:59 +00:00
ivmarkov
b25201ce94 Fix adc match for ESP-IDF 6+ and xtensa 2025-08-16 11:43:51 +00:00
ivmarkov
3ddc7550b6 Remove link_section from places where it did not have any effect anyway 2025-08-16 11:28:06 +00:00
ivmarkov
7493fb487b Remove the PCNT example for ESP-IDF 6+ 2025-08-13 09:17:27 +00:00
ivmarkov
8198761ecf More fixes for the SD card driver under ESP-IDF 6 2025-08-13 09:12:47 +00:00
ivmarkov
5d4b98795e Fix the SD card driver for ESP-IDF 6 2025-08-13 08:54:06 +00:00
ivmarkov
bb8dbbe493 Remove the legacy PCNT driver under ESP-IDF 6 2025-08-13 06:59:16 +00:00
ivmarkov
a67bf2fd3d
Compatibility with ESP-IDF 5.4.x, 5.5.x and master (#541)
* Compatibility with ESP-IDF 4.x, 5.x and master

* Run main CI againzst released ESP-IDF
2025-08-13 09:02:33 +03:00
Frederick Vollbrecht
1eba80d6ae bump ci esp-idf version 2025-08-11 20:21:59 +02:00
ivmarkov
51e6833d6c Patch the sys crate 2025-08-11 17:55:14 +00:00
ivmarkov
659fcee1ee fmt 2025-08-11 17:48:09 +00:00
ivmarkov
76fc84d17b Legacy ADC driver no longer available under ESP-IDF 6 2025-08-11 17:45:59 +00:00
ivmarkov
594bd36fbc Build for 5.5 too 2025-08-11 15:29:39 +00:00
ivmarkov
5f7c84faa2 Clippy 2025-08-11 14:48:46 +00:00
ivmarkov
3e1cdc613f MSRV raised to 1.79 2025-08-11 14:32:53 +00:00
ivmarkov
9459b65bbe
Remove the experimental support from the SD card (#540) 2025-08-11 16:27:35 +02:00
Jonathan Bastien-Filiatrault
f9bef14b0e
Provide an escape hatch for esp-rs/esp-idf-hal#537 (#539)
* Provide an escape hatch for esp-rs/esp-idf-hal#537

* Changelog

* Better naming.

* Slightly better doc, I think.
2025-08-10 00:26:41 +02:00
ivmarkov
3895fdfbe7 Fix CI 2025-07-19 06:44:48 +00:00
ivmarkov
97a6be5db7 Fix CI 2025-07-19 06:13:41 +00:00
ivmarkov
c5d1501b1b Fix CI 2025-07-19 05:56:14 +00:00
Magnus Nordlander
eb29eb087f
Support for sending UART break conditions (#535)
* Add functions to send over UART with a break

* Fix format

* Update CHANGELOG

* Fixed missing argument
2025-07-12 13:44:57 +03:00
Frederick Vollbrecht
a371755b8c
fix wrong Alert enum indexing (#533)
* fix wrong Alert enum indexing

closes #532

* remove TryFromPrimitive from Alert enum

Its wrong to derive TryFromPrimitive in this case, since the numbers in
this cases represent bitpositions

An example:

    ```rust #[derive(Debug, EnumSetType, TryFromPrimitive)]
    #[enumset(repr = "u32")] #[repr(u32)] enum MyType { One = 1, Two =
    2, Three = 3, } ``` would produce a wrong derive like ```rust impl
    ::num_enum::TryFromPrimitive for MyType { type Primitive = u32; type
    Error = ::num_enum::TryFromPrimitiveError<Self>; const NAME:
    &'static str = "MyType"; fn try_from_primitive( number:
    Self::Primitive, ) -> ::core::result::Result<Self,
    ::num_enum::TryFromPrimitiveError<Self>> {
    #![allow(non_upper_case_globals)] const One__num_enum_0__: u32 = 1;
    const Two__num_enum_0__: u32 = 2; const Three__num_enum_0__: u32 =
    3; #[deny(unreachable_patterns)] match number { One__num_enum_0__ =>
    ::core::result::Result::Ok(Self::One), Two__num_enum_0__ =>
    ::core::result::Result::Ok(Self::Two), Three__num_enum_0__ =>
    ::core::result::Result::Ok(Self::Three),
    #[allow(unreachable_patterns)] _ => { ::core::result::Result::Err(
    ::num_enum::TryFromPrimitiveError::<Self>::new(number), ) } } } }
    impl ::core::convert::TryFrom<u32> for MyType { type Error =
    ::num_enum::TryFromPrimitiveError<Self>; #[inline] fn try_from(
    number: u32, ) -> ::core::result::Result<Self,
    ::num_enum::TryFromPrimitiveError<Self>> {
    ::num_enum::TryFromPrimitive::try_from_primitive(number) } } ```

* remove not needed num_enum dependency

* changelog
2025-07-10 18:19:36 +03:00