638 Commits

Author SHA1 Message Date
andber1
40bc3f6a28
Fix I2S example usages (#562) 2025-12-28 16:38:06 +01:00
Lucas
39d5e39beb
Implement new timer API (#561)
* Implement new timer API

* Minor improvements to code, docs and fix CI
2025-12-12 11:12:55 +02:00
z-jxy
611a5aa179
Add missing comma to cfg_attr for rmt-legacy (#559) 2025-11-18 07:35:18 +02:00
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
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
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
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
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
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
5f7c84faa2 Clippy 2025-08-11 14:48:46 +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
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
ivmarkov
f49233ad22 Clippy 2025-06-07 07:44:36 +00:00
ivmarkov
8a3a9ccbe4 Clippy 2025-04-27 17:48:05 +00:00
Andrew Kovaliov
26a598e21b
ledc: add fade stop (#525)
* ledc: add fade stop

* ledc: fix fade stop

* ledc: fix fade stop

* ledc: fix fade stop example
2025-04-05 09:36:20 +02:00
ivmarkov
17790a01db Fix ADC build issues on earlier released ESP-IDF 5.X; fix unexpected cfgs warnings in examples 2025-03-24 08:11:27 +00:00
ivmarkov
4ff345246d Fix CI 2025-03-15 08:48:06 +00:00
Jagoda Estera Ślązak
6c3cc56df6
feat: add DB_12 adc attenuation and deprecate DB_11 for ESP-IDF V5.0+ (#520)
* feat: add `DB_12` adc attenuation and deprecate `DB_11` for ESP-IDF V5.0+

* fix: allow usages of deprecated `DB_11` in adc.rs

* fix: in adc example, use DB_11 for ESP-IDF v4 and DB_12 for ESP-IDF v5

---------

Co-authored-by: ivmarkov <ivan.markov@gmail.com>
2025-03-13 20:27:58 +02:00
Justin Buchanan
318bb4e4fe
ledc: add support for fading leds (#519) 2025-03-13 20:26:23 +02:00
Jagoda Estera Ślązak
a38789173d
fix: update docs for task::notification::Notifier (#517) 2025-02-23 08:29:14 +02:00
Leonardo Danelutti
575d5c2e99
Send AsyncCanDriver (#516)
* AsyncCanDriver is Send

* Update CHANGELOG.md
2025-02-12 20:28:42 +02:00
ivmarkov
5c547a40dc Fix the CI on master 2025-01-30 20:02:12 +00:00
ivmarkov
338b099758 Fix the CI on master 2025-01-30 19:21:59 +00:00
ivmarkov
cb9829aa62 Fix the CI on master 2025-01-30 18:50:51 +00:00
ivmarkov
357dd2acd1 Fix the CI on master 2025-01-30 17:08:16 +00:00
ivmarkov
37d623bd12 Clippy 2025-01-30 09:06:38 +00:00
ivmarkov
fe7e18add9 Clippy 2025-01-15 18:20:43 +00:00
ivmarkov
098b77b076 Clippy 2025-01-15 18:06:58 +00:00
Mark Honkoop
726aede30c
Fix ledc example (#511)
* Fix doc

* Update changelog
2025-01-15 10:40:50 +02:00
Srijan Verma
c11f078b9b
Fix #509 missing sdspi_host_get_dma_info (#510)
* Fixed sd card not initiating

* Fixed sd card not initiating
2025-01-13 11:45:39 +02:00
Fang-Pen Lin
3972bf35bc
Fix #507 - add missing sdmmc_host_get_dma_info for sdcard driver (#508)
* Add missing sdmmc_host_get_dma_info for sdcard driver

* Add change logs
2025-01-08 09:33:54 +02:00
ivmarkov
99033bb106 Fix a typo in the match stmt 2025-01-01 20:27:35 +00:00