Skip to content
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

Added support for CMSIS_5, so upstream Synth_Dexed can be used #41

Merged
merged 3 commits into from
Mar 12, 2022
Merged

Added support for CMSIS_5, so upstream Synth_Dexed can be used #41

merged 3 commits into from
Mar 12, 2022

Conversation

dcoredump
Copy link
Contributor

@dcoredump dcoredump commented Mar 12, 2022

I fixed upstream Synth_Dexed so this library supports now Teensy and circle - no need for an own Synth_Dexed library. This makes working on Synth_Dexed easier because only one code base for both platforms is needed.

Therefore support for CMSIS_5 was needed (and is also needed for further additions, like stereo panning and compressor). So CMSIS_5 is now a submodule of MiniDexed.

For CMSIS_5 perhaps some optimizations are needed (like support for NEON).

I hope this PR is useful for further development.

@probonopd probonopd merged commit fb6507c into probonopd:main Mar 12, 2022
@probonopd
Copy link
Owner

probonopd commented Mar 12, 2022

Thank you very much @dcoredump. Looking forward to multiple Dexed instances, stereo panning, and effects 👍

@probonopd
Copy link
Owner

probonopd commented Mar 12, 2022

Oopsie. This destroyed Raspberry Pi Zero and 2 (did not test others).
Hence, reverted for now.

  • HDMI sound loud "random" noise
  • PWM no sound

Which models did you test it on @dcoredump?

I perserved the build at https://github.com/probonopd/MiniDexed/releases/tag/CMSIS_5.

Please let me know how I can help debugging/testing.

@dcoredump
Copy link
Contributor Author

Oh, Strange. I tested with a RPi4. Will check this.

@dcoredump
Copy link
Contributor Author

I have now adjusted the build process in README.md a little bit (except for one problem, it works, but for the Raspi2 there is still kernel=kernel8.img instead of kernel=kernel7.img inside config.txt for [pi2] - I have adjusted this manually).

If I run everything freshly after the recipe inside README.md it runs with me for the Raspi2, 3 and 4 (audio over PWM)!

PR with fixes for the README.md is comming soon.

@probonopd
Copy link
Owner

According to https://www.raspberrypi.com/documentation/computers/config_txt.html#model-filters,

Filter Applicable model(s)
[pi1] Model 1A, Model 1B, Model 1A+, Model 1B+, Compute Module 1
[pi2] Model 2B (BCM2836- or BCM2837-based)
[pi3] Model 3B, Model 3B+, Model 3A+, Compute Module 3, Compute Module 3+
[pi3+] Model 3A+, Model 3B+
[pi4] Model 4B, Pi 400, Compute Module 4
[pi400] Pi 400
[cm4] Compute Module 4
[pi0] Zero, Zero W, Zero 2 W
[pi0w] Zero W
[pi02] Zero 2 W
[board-type=Type] Filter by Type number - see Raspberry Pi Revision Codes E.g [board-type=0x14] would match CM4.

And according to https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel,

kernel is the alternative filename on the boot partition to use when loading the kernel. The default value on the Raspberry Pi 1, Zero and Zero W, and Raspberry Pi Compute Module 1 is kernel.img. The default value on the Raspberry Pi 2, 3, 3+ and Zero 2 W, and Raspberry Pi Compute Modules 3 and 3+ is kernel7.img. The default value on the Raspberry Pi 4 and 400, and Raspberry Pi Compute Module 4 is kernel7l.img.

arm_64bit
If set to non-zero, forces the kernel loading system to assume a 64-bit kernel, starts the processors up in 64-bit mode, and sets kernel8.img to be the kernel image loaded, unless there is an explicit kernel option defined in which case that is used instead. Defaults to 0 on all platforms.

So I think we can simplify the file, I did this in the PR.

@dcoredump
Copy link
Contributor Author

Thanks @probonopd !

I managed to change the name of the kernel file with sed. But perhaps it would be better to set the name for the kernel file to something like "minidexed.img"?

@rsta2
Copy link
Contributor

rsta2 commented Mar 14, 2022

The Circle build system uses the standard naming convention kernel*.img. If you want to use an other naming, you have to copy the file after build. Please don't rename it, because some useful tools (e.g. serial bootloader) require the standard naming to work.

@probonopd
Copy link
Owner

Agree @rsta2, let's stay to the conventions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants