-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP32 I2S using buffered motion over DMA #584
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Owner
Paciente8159
commented
Jan 12, 2024
- implemented I2S using buffered motion over DMA (better step timings)
- real-time motions interpolator switch on RT motions like homing, probing, etc...
- implemented step speed aliasing over the constant update step pulse
- all software PWM and servo are also updated via the constant IO tick
- esp32 i2s loop implementation (no dma interrupts or event queues) - in default mode continuously tries to feed the i2s buffer
commit 08e1238 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 20:58:55 2024 +0000 restore defaults commit 57470a6 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 17:01:07 2024 +0000 correct mcu tick calculations commit f66e817 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 16:36:33 2024 +0000 fixed step mode commit e59534c Merge: 7c2e295 6cf0145 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 12:39:23 2024 +0000 Merge branch 'v1.8.x' into alt-dma commit 6cf0145 Merge: c626009 0d76fc6 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 12:30:49 2024 +0000 Merge pull request #583 from Paciente8159/fix-home-flush-after-soft-reset Fixed home motion flushing after homing resume (with or without error) commit 0d76fc6 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 12:16:45 2024 +0000 Update cnc.c commit c626009 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 12:12:40 2024 +0000 fixed homing flush after soft reset - fixed homing flush after soft reset commit 7c2e295 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 11:52:35 2024 +0000 fix axis move after home soft reset commit 5def8b7 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 11:30:34 2024 +0000 Delete uCNC.ino.cpp commit 321c1fb Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Mon Jan 8 11:30:16 2024 +0000 modified itp ticks according step mode - modified itp ticks according step mode - modified I2S constants calculations commit caeb1f8 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Sun Jan 7 09:51:36 2024 +0000 I2S step mode controlled on I2S step task commit f89a782 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Fri Jan 5 18:10:13 2024 +0000 debug commit 1c21740 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Fri Jan 5 17:32:48 2024 +0000 alternative I2S DMA managment
commit 00fdfb1 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Fri Jan 12 22:23:19 2024 +0000 Update mcu_esp32.c commit d50defc Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Fri Jan 12 13:06:35 2024 +0000 multiple fixes and realtime mode commit d923d6a Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Thu Jan 11 19:36:46 2024 +0000 fixed pure ISR IO update and update algorithm commit f88487b Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Thu Jan 11 08:55:56 2024 +0000 cleaned code commit 87e10e2 Author: Paciente8159 <Paciente8159@users.noreply.github.com> Date: Tue Jan 9 17:50:23 2024 +0000 modify I2S to 256KHz to match servo timer clock
Adds step aliasing to ESP8266 and servo outputs. I2S pinout uses the RX uart pin so this makes it less ideal to implement I2S hardware support on this MCU. |
- added oneshot to ESP32 stream mode - reverted io_control change to step en function - made bitbang call to 74h595 update atomic to prevent interrupt transmition midway
- decrease I2S DMA thread CPU hold time and overall runs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.