Commit Graph

759 Commits

Author SHA1 Message Date
Jesse Braham
54e8eaf185 Use latest xtensa-toolchain version for all CI jobs 2022-12-14 01:38:58 -08:00
Scott Mabin
a9661e68be
Peripheral ref/rng (#306) (#307)
* Add RNG to list of peripherals to be created

* Refactor RNG driver to use PeripheralRef

Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2022-12-14 09:34:43 +00:00
Jesse Braham
f2b59538df
Peripheral ref/rng (#306)
* Add RNG to list of peripherals to be created

* Refactor RNG driver to use PeripheralRef
2022-12-14 09:20:01 +00:00
Björn Quentin
39c5a04d05
PeripheralRef for SYSTEM/DPORT (#305) 2022-12-14 08:40:50 +00:00
Sergio Gasquez Arcos
66c1944c65
Merge pull request #304 from SergioGasquez/main
Peripheral ref/usb
2022-12-13 22:45:50 +01:00
Sergio Gasquez
0774018df5 revert: ️ impl Peripheral only for USB_DEVICE 2022-12-13 17:19:11 +01:00
Sergio Gasquez
7d4cfa2070 refactor: ♻️ impl Peripheral for USB_DEVICE, USB0, and USB_WARP 2022-12-13 17:17:24 +01:00
Sergio Gasquez
76afaa3692 refactor: ♻️ PeripheralRef usb serial 2022-12-13 17:13:47 +01:00
Jesse Braham
d7babe6ef6
Peripheral ref/i2c (#303)
* Add I2C to list of peripherals to be created

* Refactor I2C driver to use PeripheralRef
2022-12-13 07:06:27 -08:00
Scott Mabin
c7f420199e
Peripheral ref/systimer (#302)
* impl Peripheral for SYSTIMER

* PeripheralRef the Systimer driver
2022-12-13 06:52:51 -08:00
bjoernQ
dc8963c0a8 Support ESP32-C2 with 26MHz Xtal 2022-12-13 05:15:10 -08:00
Scott Mabin
cfe83827cf
PeripheralRef/spi (#299)
* Add missing UART instances

* Add SPI to list of peripherals to be created

* Refactor SPI driver to use PeripheralRef
2022-12-13 00:36:18 -08:00
Jesse Braham
2632421d86 Add a job to verify formatting 2022-12-12 07:02:29 -08:00
Scott Mabin
248fb356f8
PeripheralRef init: uart (#272)
* Add the peripheral module plus some helper macros in preparation

* peripheral macro

* Add peripheral generation macro

* Fixes after rebase

* Update the signature of Peripherals::take

* syncronise hello world example

* fmt the entire repo

Co-authored-by: Jesse Braham <jesse@beta7.io>
2022-12-12 14:45:33 +00:00
Jesse Braham
03d94a0ba2 New releases for all HALs 2022-12-12 01:29:49 -08:00
Björn Quentin
68cb35e4c4
Merge pull request #294 from IsaacDynamo/duty-cycle
Fix LEDC duty-cycle updates
2022-12-12 09:03:58 +01:00
IsaacDynamo
66b757847f Missed some changes 2022-12-10 01:51:14 +01:00
IsaacDynamo
7d985dc36a Added start_duty_without_fade() and update_channel() to set_duty() in order for the new duty-cycle to take effect 2022-12-10 01:06:02 +01:00
IsaacDynamo
2aa26863dd Allow a duty-cycle of 0% 2022-12-09 21:50:51 +01:00
Scott Mabin
0a5947c7f9 Correct Systimer delay implementation
Closes #229
2022-12-09 05:34:53 -08:00
bjoernQ
cc3c2910bb Fix ESP32-C2 trap handler 2022-12-09 01:50:20 -08:00
Scott Mabin
0000d46ac5 Embassy init updates:
- Rename timg feature to timg0 to better refect which TG is being used
- Use the time_driver::TimerType in the signature of init to fix #268
- Update examples
- Fix CI features
- Add timg0 cfg to build.rs
2022-12-08 06:36:42 -08:00
Björn Quentin
f726eb05e5
Merge pull request #289 from jessebraham/feature/cfg-symbols
Add cfg symbols for `i2s` and `mcpwm`
2022-12-07 16:10:44 +01:00
Jesse Braham
91f18c882d Add cfg symbols for i2s and mcpwm 2022-12-07 15:38:52 +01:00
bjoernQ
4ab05e8923 Pass trap frame to CPU interrupt handlers (Xtensa) 2022-12-06 02:07:49 -08:00
Björn Quentin
73e0ee28cb
Merge pull request #267 from raiker/main
Add Rx and interrupts to UsbSerialJtag
2022-12-01 14:40:39 +01:00
Josh Weberruss
bc39cdae86 Add Rx and interrupts to UsbSerialJtag
Add non-blocking Write
2022-12-01 22:02:47 +11:00
Björn Quentin
c46719e112
Merge pull request #255 from dimpolo/mcpwm
MCPWM MVP implementation
2022-12-01 08:34:16 +01:00
Jesse Braham
5d48e77d5e
Fix clippy warnings, update READMEs (#284)
* Fix a couple clippy warnings

* Create features for architecture-specific depdendencies

* README updates
2022-11-30 10:13:40 -08:00
Björn Quentin
bc4e180a1a
Merge pull request #280 from bjoernQ/gpio-refactoring
GPIO module refactoring
2022-11-30 08:15:13 +01:00
dimi
0a75d3c64a resolve mcpwm FIXME 2022-11-30 00:55:58 +01:00
dimi
1369943710 resolve TODO 2022-11-30 00:55:39 +01:00
dimi
e1a812bc59 add SAFETY comments 2022-11-30 00:55:39 +01:00
dimi
257664da74 add direction to Timer::set_counter 2022-11-30 00:55:39 +01:00
dimi
ab74fc47fd rename const generics 2022-11-30 00:55:39 +01:00
dimi
f0876952b7 implement Timer::set_counter 2022-11-30 00:55:39 +01:00
dimi
89535a26dd WIP docs 2022-11-30 00:55:39 +01:00
dimi
2d81313475 add PeripheralClockConfig and TimerClockConfig 2022-11-30 00:55:39 +01:00
dimi
4327506bb2 use Clocks.pwm_clock on ESP32 2022-11-30 00:55:38 +01:00
dimi
408243d7e1 improve mcpwm::operator, add PwmPinConfig 2022-11-30 00:55:38 +01:00
dimi
6d2b8a6718 PwmClock changes 2022-11-30 00:55:38 +01:00
dimi
18c7ef7802 WIP MCPWM implementation 2022-11-30 00:55:38 +01:00
Björn Quentin
5f4a7b56a6
Merge pull request #281 from dimpolo/RemoveSetupError
remove `i2c::SetupError` and make `i2c::I2C::new` infallible
2022-11-29 15:09:21 +01:00
dimi
7a51433944 remove i2c::SetupError and make i2c::I2C::new infallible 2022-11-29 14:19:45 +01:00
bjoernQ
878bbc4c0c GPIO module refactoring 2022-11-29 12:03:04 +01:00
Björn Quentin
82e66bc9dc
Merge pull request #276 from IsaacDynamo/pub-signals
Export InputSignal and OutputSignal
2022-11-29 08:15:52 +01:00
C2D
59d02f5f6e
Add SHA accelerator implementation (#257)
* Add untested basic SHA for esp-sX/cX chips

* Fix ptr type inconsistency for S2

* Add ESP32 impl & fix process_buffer latch issue

* Add debug example for SHA accelerator

* Clean up no-op buffer prints

* Test vector parity (on esp32s3)

* Checkpoint for converting to alignment helper

* Finish refactoring & additional parity tests on esp32s3

* Remove core_intrinsics requirement for now

* Fix case where (src.len() % 4) == 3

* Finish sha2 example with performance comparison (12-61x speedup)

* Refactor ESP32 to alignment helper & Clean up example

* Prevent out-of-bounds reads in ESP32 version

* Revert Cargo debug changes

* Remove cargo config.toml

* Clean up example

* Remove common/rust-toolchain & ignore in future

* Might as well use actual size_of const

* Remove SHA512/SHA384 for C2/C3

* Directly import nb::block! to remove unused import warning & fix c2 feature detect

* Remove stray newlines

* Fix esp32c2 having SHA256

* ESP32 also has SHA384

* Remove comments that don't have a purpose

* Clean up example & finish() handling

* Add examples & add ESP32 free()

* Update C2/C3 examples to show accurate algorithm used

* Fix busy check for ESP32

* Remove outdated TODO comment

* Update PAC for ESP3 and (actually) fix busy check

* Refactor ESP32 version to reduce search space

* Add debug printlns to sha example & clean up comments

* Fix ESP32 version, finally

Co-authored-by: ferris <ferris@devdroplets.com>
Co-authored-by: Jesse Braham <jesse@beta7.io>
2022-11-28 14:20:31 -08:00
IsaacDynamo
e1c0ac540e Export InputSignal and OutputSignal 2022-11-26 16:38:02 +01:00
bjoernQ
fbd912a3a5 Finalize I2S RX Implementation 2022-11-24 10:16:08 -08:00
Sergio Gasquez
9ef3a29e58 feat: 📝 Update install sections 2022-11-24 08:30:57 -08:00