Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
436 commits
Select commit Hold shift + click to select a range
ff57aea
New release
ivmarkov Nov 2, 2023
f917d53
Clippy
ivmarkov Nov 2, 2023
79fc6e7
Fix UB: Non-static callbacks are unsound
ivmarkov Nov 11, 2023
0c40d3b
Restore local borrows with unsafe
ivmarkov Nov 12, 2023
82a43d6
New release
ivmarkov Nov 12, 2023
455cf15
Fix CI
ivmarkov Nov 22, 2023
1182159
Update the wording w.r.t. cargo-espflash
ivmarkov Dec 7, 2023
0d25bf2
Remove OutputPin requirement from spi sdi pin (#351)
kwiesmueller Dec 8, 2023
0ae0e48
Update CHANGELOG.md
ivmarkov Dec 11, 2023
e87abce
rmt: Allow working with raw rmt_item32_t for efficiency (#348)
navaati Dec 21, 2023
f958b77
#350
ivmarkov Dec 21, 2023
1343a81
Update CHANGELOG.md
ivmarkov Dec 21, 2023
05140a3
The crate now does build with cargo --all-features
ivmarkov Jan 5, 2024
4227796
Temporarily use git version of esp-idf-sys
ivmarkov Jan 5, 2024
3c5a1c5
Improve TimerDriver Documentation (#358)
KronsyC Jan 5, 2024
c8f5bd8
fix: compile with esp_idf_adc_continuous_isr_iram_safe (#355)
kevin-cgc Jan 5, 2024
5532468
Prep for a new release
ivmarkov Jan 10, 2024
27cd194
Update to e-hal 1.0
ivmarkov Jan 10, 2024
e6cafb7
Move to the new Rust edition
ivmarkov Jan 10, 2024
33eb2d1
support uart that defaults to PLL_F80M (#353)
eteq Jan 10, 2024
f0dee4b
Update changelog
ivmarkov Jan 10, 2024
c549e70
fmt
ivmarkov Jan 10, 2024
2896ee5
ToggleableOutputPin no longer a thing in e-hal 1
ivmarkov Jan 10, 2024
d29e3c5
Fix CI
ivmarkov Jan 10, 2024
12519d6
Fix the ULP HAL for e-hal 1
ivmarkov Jan 10, 2024
1093fb9
Fix the ULP HAL for e-hal 1
ivmarkov Jan 10, 2024
2e7b068
Allow unknown lints by default
ivmarkov Jan 12, 2024
50fd4e2
Fiox CI for ESP IDF master
ivmarkov Jan 13, 2024
e9a0f10
Build examples with ESP IDF master
ivmarkov Jan 13, 2024
3f2e76e
Fix CI
ivmarkov Jan 14, 2024
959612b
Remove unnecessary feature
ivmarkov Jan 14, 2024
75097fc
No need for PhantomData
ivmarkov Jan 14, 2024
58d7190
Restore the embassy-sync feature
ivmarkov Jan 14, 2024
97a4dac
Fix CI
ivmarkov Jan 14, 2024
6ed6765
tskNO_AFFINITY should be defined everywhere now
ivmarkov Jan 18, 2024
eefb213
tskNO_AFFINITY still missing in 5.2+...
ivmarkov Jan 18, 2024
e79df5a
Get rid of the riscv-ulp-hal feature
ivmarkov Jan 18, 2024
5d90b9e
Do not use subdirs for the rom module
ivmarkov Jan 18, 2024
f986f71
Get rid of the riscv-ulp-hal feature
ivmarkov Jan 18, 2024
8dd77e6
Get rid of the riscv-ulp-hal feature
ivmarkov Jan 18, 2024
d161ebd
Get rid of the riscv-ulp-hal feature
ivmarkov Jan 18, 2024
2c1c526
Update enumset to 1.1 (#366)
Patiga Jan 20, 2024
ffd6666
Convert EspIOError back to EspError
ivmarkov Jan 22, 2024
46de65a
Revert: Convert EspIOError back to EspError
ivmarkov Jan 22, 2024
8e2a937
Fix the confusion thsat us and ns are the same thing
ivmarkov Jan 24, 2024
905d013
Fix the confusion thsat us and ns are the same thing
ivmarkov Jan 24, 2024
d9f673a
Also fix all wrong renames in the SPI driver
ivmarkov Jan 24, 2024
7fd909e
Revert the input_delay_ns to us conversion in SPI; Fix the build
ivmarkov Jan 24, 2024
88dafd8
Fix CI
ivmarkov Jan 24, 2024
64ca2a7
clippy
ivmarkov Jan 24, 2024
e7f6ac8
Use `restore-state-none` feature in optional dependency `critical-sec…
IvanSanchez Jan 24, 2024
c187ed3
Clarify the comment, as suggested
ivmarkov Jan 24, 2024
16a10d0
Unify cargo config accrss the esp-idf crates
ivmarkov Jan 25, 2024
5ed5d8a
Fix #362
ivmarkov Jan 26, 2024
f27b805
Fix #362
ivmarkov Jan 26, 2024
8756ef6
Fix #362
ivmarkov Jan 26, 2024
2b4b720
Fix #365
ivmarkov Jan 26, 2024
6417259
Update changelog
ivmarkov Jan 26, 2024
5733efa
Make TickType_t a public api of the delay module (to be used in esp-i…
ivmarkov Jan 26, 2024
1bbda81
New release
ivmarkov Jan 26, 2024
307bd3b
don't touch pullups on reset while init PinDriver (#344)
Vollbrecht Jan 31, 2024
e837081
Minor changelog fix
ivmarkov Jan 31, 2024
5657073
RMT symbols and musical buzzer example bugfix for ESP32 (#354)
dsheets Jan 31, 2024
8d2b9a5
Update changelog for the RMT driver changes
ivmarkov Jan 31, 2024
ab4f3c8
make cargo espflash work by adding a partition.csv (#375)
Vollbrecht Feb 5, 2024
e6091c0
Improve delay/timer errors and rounding calculations (#374)
mbuesch Feb 7, 2024
81675cc
Delay: Some cleanups and documentation (#376)
mbuesch Feb 8, 2024
51e761a
Remove 4096 limit for SPI dma transfer size (#379)
Kezii Feb 18, 2024
0360fc8
Fixed one character typo. (#381)
adam-53-r Feb 20, 2024
201ef13
Always use the core prelude
ivmarkov Feb 21, 2024
f728cf6
Always use the core prelude
ivmarkov Feb 21, 2024
04ad429
New release
ivmarkov Feb 21, 2024
9e364d5
feat(reset): Added restart return type (#383)
stabl-gjn Feb 26, 2024
e3d3205
Make Symbol Clone & Copy (#386)
DavidVentura Mar 6, 2024
8aa3131
Add GPIO20 for esp32-pico-mini-02 (#370)
hutchisr Mar 6, 2024
143db47
add missing hysteresis filter option for esp32h2 in gpio (#387)
Vollbrecht Mar 6, 2024
603cef8
Update docs url (#391)
MabezDev Mar 8, 2024
738726e
add set_pin method to LedcDriver
Kezii Apr 2, 2024
7db642c
Fix CI - New Clippy Lints (#400)
Vollbrecht Apr 2, 2024
65e1921
no pub for apply_config
Kezii Apr 2, 2024
fcac131
only add config_with_pin method
Kezii Apr 3, 2024
97b80e5
fix: FixedLengthSignal::set
portasynthinca3 Apr 6, 2024
e30d7ab
Merge pull request #402 from portasynthinca3/master
Vollbrecht Apr 8, 2024
66152db
clippy: nightly lints (#406)
owenthewizard Apr 17, 2024
a2bb85c
Enable pcnt for esp32c6 (#407)
empirephoenix Apr 21, 2024
26b5db8
Add CAN Frame flags (#411)
elotom Apr 30, 2024
a3371b3
feature: expose C api `cs_pre_trans_delay` in `SpiDriver` (#266)
vpochapuis May 6, 2024
b7d2a87
Added DelayUs and DelayMs U8 impls for Delay
diajowe May 6, 2024
07e2a9e
Merge pull request #414 from diajowe/add_delayMs_u8
Vollbrecht May 6, 2024
140865a
Fix CI
ivmarkov May 6, 2024
5945122
Merge pull request #399 from Kezii/ledcpin
Vollbrecht May 9, 2024
c3842f1
Fix for #412 (#415)
empirephoenix May 22, 2024
329ff90
Clippy
ivmarkov May 23, 2024
f060df2
fix esp-idf >= 5.3 (#419)
Vollbrecht May 23, 2024
51afc5e
🗑️ remove deprecated 4.3 api (#420)
Vollbrecht May 23, 2024
2ae1490
Clippy
ivmarkov May 23, 2024
fefb4cf
(ESP32 only) Support for the high-speed channels
ivmarkov May 23, 2024
127a903
Add high speed indicator
ivmarkov May 24, 2024
5a741ae
Merge pull request #424 from esp-rs/high-speed-ledc
Vollbrecht May 26, 2024
91b6c3a
fix missing EnumSet import
Vollbrecht Jun 1, 2024
e4e6089
clippy
Vollbrecht Jun 1, 2024
d290357
Fix wrong max_duty (#431)
lkies Jun 11, 2024
53c9312
Update embassy-sync version to 0.6.0 (#437)
Volkalex28 Jun 16, 2024
affb669
Allow split bidirectional I2S (#435)
Volkalex28 Jun 16, 2024
e3e8a37
Hide the new ADC oneshot driver behind a feature flag
ivmarkov Jun 13, 2024
16823ab
Protect the legacy example; do not make the oneshot_legacy mod an API…
ivmarkov Jun 13, 2024
941ee8d
Fix the hall sensor code
ivmarkov Jun 13, 2024
f20b9f7
Replace with
ivmarkov Jun 16, 2024
c6afacb
Merge pull request #433 from esp-rs/legacy-drivers
Vollbrecht Jun 16, 2024
2dfbf41
update changelog (#432)
Vollbrecht Jun 16, 2024
f237ab1
Adding new_without_sclk SpiDriver constructor in SPI driver (#440)
okhsunrog Jun 18, 2024
7a30598
fix clock usage in timer driver for idf 5 (#441)
Vollbrecht Jun 20, 2024
cbc7360
i2c: use correct xtal for esp32c2 on timeout calculations (#438)
Vollbrecht Jun 20, 2024
a62c0b4
patch esp-idf-sys / embuild / embedded-svc to git master
Vollbrecht Jun 20, 2024
35f29fb
do not patch embedded-svc. We do not depend on it
Vollbrecht Jun 20, 2024
470a36f
New release
ivmarkov Jun 23, 2024
d849cac
New release
ivmarkov Jun 23, 2024
74ffea5
Fixes #443: Add new ResetReason enum items (#444)
punkto Jul 2, 2024
d1ace4b
Add imac targets to CI + fix ESP IDF 4.4.x builds for imac target (#450)
ivmarkov Jul 7, 2024
4c029cc
Update changelog
ivmarkov Jul 7, 2024
b3a4252
Fix rust-analyzer by not using rust libtest harness
ivmarkov Jul 8, 2024
fc1b065
New version
ivmarkov Jul 9, 2024
92d846e
Clippy
ivmarkov Jul 9, 2024
a12f0d1
Clippy
ivmarkov Jul 9, 2024
8558064
Clippy
ivmarkov Jul 9, 2024
a61e24b
Docs: Add some docstrings for ADC module. (#455)
phuongtran7 Jul 12, 2024
7d4edb9
Update uart.rs, add rs485 half duplex (#456)
xiaguangbo Jul 14, 2024
d6f6922
Update spi.rs, fix half3wire read (#459)
xiaguangbo Jul 18, 2024
d2c031a
Fix DMA description
xiaguangbo Jul 18, 2024
d04dcf5
SD Card driver; SD Card host drivers (SPI and SDMMC) (#457)
ivmarkov Jul 23, 2024
71e7e87
Clippy
ivmarkov Jul 23, 2024
b186a3b
Bugfix: sdmmc_card_t needs to be boxed, because ESP IDF takes long li…
ivmarkov Aug 5, 2024
c83cbe6
Fix the build; enable the experimental features in CI
ivmarkov Aug 5, 2024
ba95e72
Fix the build; enable the experimental features in CI
ivmarkov Aug 5, 2024
72f6448
Fix no_std build
ivmarkov Aug 5, 2024
098e2df
bump enumset to at least use 1.1.4 such that EnumSete::empty() is const
Vollbrecht Aug 9, 2024
aa0e257
RMT Onewire Peripheral (#454)
DaneSlattery Aug 10, 2024
a2e2888
Fix for #475
ivmarkov Aug 22, 2024
1ef5f8d
Replace 0 with delay::NON_BLOCK
ivmarkov Aug 22, 2024
580a5f8
Clippy
ivmarkov Aug 26, 2024
b9baeed
Clippy
ivmarkov Aug 26, 2024
e20ef5c
Add an example of using interrupt directly without async (#474)
hyx0329 Sep 9, 2024
a619f13
Add support for ESP internal temperature sensor (#337)
GamerBene19 Sep 9, 2024
09dc34a
Support the thread modem peripheral on the c6 MCU
ivmarkov Sep 17, 2024
eb791c9
Make the UART config to ESP-IDF C config reusable outside the UART d…
ivmarkov Sep 19, 2024
01f0518
Re-use the SPI config struct of the SPI driver
ivmarkov Sep 19, 2024
9b8ff7b
Allow modem splits even when only HW coex is used
ivmarkov Sep 21, 2024
030a721
Allow modem splits even when only HW coex is used
ivmarkov Sep 21, 2024
4f44787
Apply latest cargo fmt
ivmarkov Sep 23, 2024
d3247c2
Clippy (#484)
elipsitz Sep 26, 2024
3dbf3fe
Fix esp_reset_reason_t constant names (#483)
elipsitz Sep 26, 2024
b0aa07d
spi: Add SpiDriver new_dual and new_quad constructors
elipsitz Sep 10, 2024
3ebdcb5
spi: Add LineWidth enum
elipsitz Sep 11, 2024
a0bae30
spi: Add custom spi::Operation enum
elipsitz Sep 26, 2024
edf7527
spi: Fix half-duplex read transactions
elipsitz Sep 26, 2024
f21a588
spi: Add Operation::ReadWithWidth and Operation::WriteWithWidth
elipsitz Sep 27, 2024
bba51cd
spi: Add SpiBusDriver::operation and operation_async
elipsitz Sep 25, 2024
64adce1
Fix CI by temporarily not using v5.1
ivmarkov Oct 1, 2024
b9d0ffd
Fix CI by temporarily not using v5.1
ivmarkov Oct 1, 2024
d12abc9
Fix the build for ESP IDF 4.4.X
ivmarkov Oct 1, 2024
b532ea6
Clippy
ivmarkov Oct 1, 2024
6c06991
Fix the build for ESP IDF 4.4.X
ivmarkov Oct 1, 2024
013f2e4
Fix the build for ESP IDF 4.4.X
ivmarkov Oct 1, 2024
b01224c
Fix the build for ESP IDF 4.4.X
ivmarkov Oct 1, 2024
aabc000
Clippy
ivmarkov Oct 4, 2024
03571ac
Clippy
ivmarkov Oct 4, 2024
59228d3
Fix drop for AdcDriver in deregister event callbacks (#487)
vpetryaev Oct 6, 2024
4d59fbe
Typo fix in task docs (#489)
smallbraineng Oct 10, 2024
ff343b6
Update spi.rs for correct label in gpio_cs capture (#492)
jimmer74 Oct 11, 2024
7d5e233
Fix ReadScratch command buffer size (#494)
kgv Oct 21, 2024
30d4874
Fix a crash when dropping SpiDriver
ivmarkov Oct 29, 2024
a2b95b8
Popping from the queue is not guaranteed to succeed if we were woken …
ivmarkov Oct 29, 2024
ac8aff7
Workaround for a problem where pushing to the queue might fail
ivmarkov Oct 29, 2024
3c06f4d
Compat with ESP IDF master
ivmarkov Oct 29, 2024
6bbb284
Fix CI bu disabling cc-rs target based flags generation
ivmarkov Nov 5, 2024
8733e04
Clippy
ivmarkov Nov 5, 2024
cdc1eee
Need the latest esp-idf-sys
ivmarkov Nov 5, 2024
57cc53d
Clippy
ivmarkov Nov 5, 2024
fb886fa
Fix CI
ivmarkov Nov 8, 2024
97c01ef
Fix CI
ivmarkov Nov 8, 2024
67be0e6
fix for #518
ivmarkov Nov 22, 2024
280ae00
Fix the CI
ivmarkov Nov 22, 2024
506dc9b
Switch to just-released cmake-rs
ivmarkov Nov 26, 2024
6cb3ea5
- Added GPIO pins 21-27 to esp32h2 (#501)
bitmagier Dec 16, 2024
0b73ad7
Restore the CI build
ivmarkov Dec 22, 2024
63c1537
Fix the build against ESP-IDF master
ivmarkov Dec 22, 2024
7632fc3
Bugfix: drop calibration handle on driver drop; more control on the r…
ivmarkov Dec 22, 2024
54ca262
Start building against ESP-IDF V5.3
ivmarkov Dec 22, 2024
698a0c0
Temporarily disable ESP IDF 5.3 in CI
ivmarkov Dec 22, 2024
49bf43f
PR and issue templates
ivmarkov Dec 22, 2024
748bbd5
PR and issue templates
ivmarkov Dec 22, 2024
0457bbb
PR and issue templates
ivmarkov Dec 22, 2024
5b10556
PR and issue templates
ivmarkov Dec 22, 2024
edd81aa
PR and issue templates
ivmarkov Dec 22, 2024
d71246d
PR and issue templates
ivmarkov Dec 22, 2024
f2989ca
Update changelog
ivmarkov Dec 22, 2024
5048f05
Update changelog
ivmarkov Dec 22, 2024
4829989
Compat with ESP IDF master
ivmarkov Dec 23, 2024
53f4437
Compat with ESP IDF master
ivmarkov Dec 23, 2024
7c6ef16
Compat with ESP IDF master
ivmarkov Dec 23, 2024
a2a789b
Compat with ESP IDF master
ivmarkov Dec 23, 2024
b8389e7
Compat with ESP IDF master
ivmarkov Dec 23, 2024
21b2ce6
Extend the CI against ESP-IDF master with more branches
ivmarkov Dec 23, 2024
0c912c8
Expose the USB-serial-jtag peripheral (#503)
ivmarkov Jan 1, 2025
310fc42
Initial USB-serial-jtag driver (#504)
ivmarkov Jan 1, 2025
de702be
Compat with ESP-IDF V5.3.3+
ivmarkov Jan 1, 2025
e1543e2
ESP-IDF V5.4 support
ivmarkov Jan 1, 2025
89e2a7b
ESP-IDF V5.4 support
ivmarkov Jan 1, 2025
8951b2f
ESP-IDF V5.4 support
ivmarkov Jan 1, 2025
5d4d800
ESP-IDF V5.4 support
ivmarkov Jan 1, 2025
99d664c
ESP-IDF V5.4 support
ivmarkov Jan 1, 2025
519107b
Enable examples CI for the imac targets; remove default-linker-libs
ivmarkov Jan 1, 2025
e5e2f16
Enable V5.3 in CI
ivmarkov Jan 1, 2025
5c3a5f4
Try V4.4.8
ivmarkov Jan 1, 2025
2a3d59e
Do not build the examples for the imac target and V4.4 as that is not…
ivmarkov Jan 1, 2025
32e8546
Change the default baud rate of the UART driver
ivmarkov Jan 1, 2025
d6f1164
Fix CI; remove warnings from the example
ivmarkov Jan 1, 2025
9f65b7a
Nit: move the check at the top of the file
ivmarkov Jan 1, 2025
99033bb
Fix a typo in the match stmt
ivmarkov Jan 1, 2025
77f9c75
Don't build the imac target against ESP IDF 4.4 as this is not supported
ivmarkov Jan 2, 2025
17b1f26
New release
ivmarkov Jan 2, 2025
7591c77
New release
ivmarkov Jan 2, 2025
90384c6
ncurses should hopefully no longer be necessary
ivmarkov Jan 5, 2025
8a11ef4
Fix RGB to u32 conversion order in rmt_neopixel example (#505)
lonesometraveler Jan 6, 2025
3972bf3
Fix #507 - add missing sdmmc_host_get_dma_info for sdcard driver (#508)
fangpenlin Jan 8, 2025
992c765
New release
ivmarkov Jan 10, 2025
bd32b2b
Put an unreleased tag in changelog
ivmarkov Jan 10, 2025
c11f078
Fix #509 missing sdspi_host_get_dma_info (#510)
vermasrijan19 Jan 13, 2025
726aede
Fix ledc example (#511)
Aemulation Jan 15, 2025
9de95e1
New release
ivmarkov Jan 15, 2025
098b77b
Clippy
ivmarkov Jan 15, 2025
fe7e18a
Clippy
ivmarkov Jan 15, 2025
518a641
Update changelog
ivmarkov Jan 15, 2025
37d623b
Clippy
ivmarkov Jan 30, 2025
357dd2a
Fix the CI on master
ivmarkov Jan 30, 2025
cb9829a
Fix the CI on master
ivmarkov Jan 30, 2025
338b099
Fix the CI on master
ivmarkov Jan 30, 2025
5c547a4
Fix the CI on master
ivmarkov Jan 30, 2025
575d5c2
`Send` AsyncCanDriver (#516)
leonardodanelutti Feb 12, 2025
a387891
fix: update docs for task::notification::Notifier (#517)
j-g00da Feb 23, 2025
318bb4e
ledc: add support for fading leds (#519)
justbuchanan Mar 13, 2025
6c3cc56
feat: add `DB_12` adc attenuation and deprecate `DB_11` for ESP-IDF V…
j-g00da Mar 13, 2025
80c674e
Replace Arc with Rc in ledc_threads example (#514)
lonesometraveler Mar 13, 2025
4ff3452
Fix CI
ivmarkov Mar 15, 2025
17790a0
Fix ADC build issues on earlier released ESP-IDF 5.X; fix unexpected …
ivmarkov Mar 24, 2025
d08f558
Clippy for all examples
ivmarkov Mar 24, 2025
ad305a9
Clippy
ivmarkov Mar 24, 2025
a4a61c1
Merge branch 'master' into mcpwm_5.0
akeamc Mar 30, 2025
535a227
Add intr_priority to MCPWM configs
akeamc Mar 30, 2025
14e6be9
clippy
akeamc Mar 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,30 @@
[build]
target = "riscv32imc-esp-espidf"
#target = "xtensa-esp32-espidf"

[target.xtensa-esp32-espidf]
linker = "ldproxy"
rustflags = ["--cfg", "espidf_time64"]

[target.xtensa-esp32s2-espidf]
linker = "ldproxy"
rustflags = ["--cfg", "espidf_time64"]

[target.xtensa-esp32s3-espidf]
linker = "ldproxy"
rustflags = ["--cfg", "espidf_time64"]

[target.riscv32imc-esp-espidf]
linker = "ldproxy"
rustflags = ["--cfg", "espidf_time64"]

# Future - necessary for the experimental "native build" of esp-idf-sys with ESP32C3
# See also https://github.com/ivmarkov/embuild/issues/16
rustflags = ["-C", "default-linker-libraries"]
[target.riscv32imac-esp-espidf]
linker = "ldproxy"
rustflags = ["--cfg", "espidf_time64"]

[env]
ESP_IDF_SDKCONFIG_DEFAULTS = ".github/configs/sdkconfig.defaults"
ESP_IDF_VERSION = "v5.3.2"

[unstable]
build-std = ["std", "panic_abort"]
build-std-features = ["panic_immediate_abort"]
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ["bug", "status:needs-attention"]
assignees: ''

---

## Bug description

<!-- A clear and concise description of what the bug is. -->

- Would you like to work on a fix? [y/n]

## To Reproduce

<!-- Steps to reproduce the behavior. -->
1. ...
2. ...

<!-- Please share the minimal repro of the issue where the bug can be reproduced. -->

<!-- Make sure you are able to reproduce the bug in the `master` branch, too. -->

## Expected behavior

<!-- A clear and concise description of what you expected to happen. Attach screenshots if needed. -->

## Environment

- Crate (`esp-idf-hal`) version: [e.g. 0.44.1; type master if you use the crate from the GIT master branch]
- ESP-IDF branch or tag: [e.g. release/v5.2, v5.2.1, etc.] <!-- if you use the cargo-based build, you have the ESP-IDF version inside the `.cargo/config.toml` file of your binary crate, variable `ESP_IDF_VERSION` in section [env] . -->
- Target device (MCU): [e.g. esp32s3] <!-- if you use the cargo-based build, you have the MCU inside the `.cargo/config.toml` file of your binary crate, variable `MCU` in section [env] . -->
- OS: [e.g. Ubuntu 20.04]
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Ask questions in Matrix channel
url: https://matrix.to/#/#esp-rs:matrix.org
about: Ask any questions directly in our Matrix channel.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ["enhancement", "status:needs-attention"]
assignees: ''

---

## Motivations

<!-- If your feature request is related to a problem, please describe it. -->

- Would you like to implement this feature? [y/n]

## Solution

<!-- Describe the solution you'd like. -->

## Alternatives

<!-- Describe any alternative solutions or features you've considered. -->

## Additional context

<!-- Add any other context or screenshots about the feature request here. -->
18 changes: 18 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Thank you for your contribution!

We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:

### Submission Checklist 📝
- [ ] I have updated existing examples or added new ones (if applicable).
- [ ] I have used `cargo fmt` command to ensure that all changed code is formatted correctly.
- [ ] I have used `cargo clippy` command to ensure that all changed code passes latest Clippy nightly lints.
- [ ] My changes were added to the [`CHANGELOG.md`](https://github.com/esp-rs/esp-idf-hal/blob/main/esp-idf-hal/CHANGELOG.md) in the **_proper_** section.

### Pull Request Details 📖

#### Description
Please provide a clear and concise description of your changes, including the motivation behind these changes. The context is crucial for the reviewers.

#### Testing
Describe how you tested your changes.
7 changes: 5 additions & 2 deletions .github/configs/sdkconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=n
#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=n

# Some examples (ledc-simple) require a larger than the default stack size for
# Some examples (ledc_simple, spi_loopback_async) require a larger than the default stack size for
# the main thread.
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7000
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8000

# Async SPI only enabled when this config is disabled (it is enabled by default)
CONFIG_SPI_MASTER_ISR_IN_IRAM=n
32 changes: 0 additions & 32 deletions .github/workflows/ci-esp-idf-master.yml

This file was deleted.

98 changes: 98 additions & 0 deletions .github/workflows/ci-esp-idf-next.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: CIEspIdfNext

on:
push:
branches:
- master
workflow_dispatch:
schedule:
- cron: '50 5 * * *'

env:
rust_toolchain: nightly

jobs:
compile:
name: Compile
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- riscv32imc-esp-espidf
- riscv32imac-esp-espidf
- xtensa-esp32-espidf
- xtensa-esp32s2-espidf
- xtensa-esp32s3-espidf
idf-version:
- release/v5.3
- release/v5.4
- master
steps:
- name: Setup | Checkout
uses: actions/checkout@v3

- name: Setup | Rust
if: matrix.target == 'riscv32imc-esp-espidf'
uses: dtolnay/rust-toolchain@v1
with:
toolchain: ${{ env.rust_toolchain }}
components: rustfmt, clippy, rust-src

- name: Install Rust for Xtensa
if: matrix.target != 'riscv32imc-esp-espidf'
uses: esp-rs/[email protected]
with:
default: true

- name: Build | Fmt Check
run: cargo fmt -- --check

- name: Build | Clippy
env:
ESP_IDF_VERSION: ${{ matrix.idf-version }}
ESP_IDF_SDKCONFIG_DEFAULTS: "${{ github.workspace }}/.github/configs/sdkconfig.defaults"
RUSTFLAGS: "${{ matrix.idf-version != 'release/v4.4' && '--cfg espidf_time64' || matrix.idf-version == 'release/v4.4' && '--cfg espidf_time32' }}"
run: cargo clippy --features experimental --no-deps --target ${{ matrix.target }} -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort -- -Dwarnings

- name: Build | Compile, all
env:
ESP_IDF_VERSION: ${{ matrix.idf-version }}
ESP_IDF_SDKCONFIG_DEFAULTS: "${{ github.workspace }}/.github/configs/sdkconfig.defaults"
RUSTFLAGS: "${{ matrix.idf-version != 'release/v4.4' && '--cfg espidf_time64' || matrix.idf-version == 'release/v4.4' && '--cfg espidf_time32' }}"
run: cargo build --target ${{ matrix.target }} --features nightly,experimental,critical-section,embassy-sync -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort

- name: Build | Compile, no_std
env:
ESP_IDF_VERSION: ${{ matrix.idf-version }}
ESP_IDF_SDKCONFIG_DEFAULTS: "${{ github.workspace }}/.github/configs/sdkconfig.defaults"
RUSTFLAGS: "${{ matrix.idf-version != 'release/v4.4' && '--cfg espidf_time64' || matrix.idf-version == 'release/v4.4' && '--cfg espidf_time32' }}"
run: cargo build --no-default-features --features experimental --target ${{ matrix.target }} -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort

- name: Build | Compile, no_std, alloc
env:
ESP_IDF_VERSION: ${{ matrix.idf-version }}
ESP_IDF_SDKCONFIG_DEFAULTS: "${{ github.workspace }}/.github/configs/sdkconfig.defaults"
RUSTFLAGS: "${{ matrix.idf-version != 'release/v4.4' && '--cfg espidf_time64' || matrix.idf-version == 'release/v4.4' && '--cfg espidf_time32' }}"
run: cargo build --features alloc --no-default-features --features experimental --target ${{ matrix.target }} -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort

- name: Setup | ldproxy
if: matrix.target == 'riscv32imc-esp-espidf'
run: |
curl -L https://github.com/esp-rs/embuild/releases/latest/download/ldproxy-x86_64-unknown-linux-gnu.zip -o $HOME/.cargo/bin/ldproxy.zip
unzip "$HOME/.cargo/bin/ldproxy.zip" -d "$HOME/.cargo/bin/"
chmod a+x $HOME/.cargo/bin/ldproxy

- name: Clippy | Examples
env:
ESP_IDF_VERSION: ${{ matrix.idf-version }}
ESP_IDF_SDKCONFIG_DEFAULTS: "${{ github.workspace }}/.github/configs/sdkconfig.defaults"
RUSTFLAGS: "${{ matrix.idf-version != 'release/v4.4' && '--cfg espidf_time64' || matrix.idf-version == 'release/v4.4' && '--cfg espidf_time32' }}"
run: cargo clippy --examples --target ${{ matrix.target }} -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort -- -Dwarnings

- name: Build | Examples
env:
ESP_IDF_VERSION: ${{ matrix.idf-version }}
ESP_IDF_SDKCONFIG_DEFAULTS: "${{ github.workspace }}/.github/configs/sdkconfig.defaults"
RUSTFLAGS: "${{ matrix.idf-version != 'release/v4.4' && '--cfg espidf_time64' || matrix.idf-version == 'release/v4.4' && '--cfg espidf_time32' }}"
run: cargo build --examples --target ${{ matrix.target }} -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort
Loading