Teensy 3.x Non-blocking I2C and saying hello

275 views
Skip to first unread message

Steven Aldinger

unread,
Jan 31, 2016, 4:30:45 PM1/31/16
to Mozzi-users
First of all, I'm new to the Mozzi community so I wanted to say hello to anyone currently active. I'm Steven. Hello.

I've been messing with the Mozzi library for the last few days trying to get a better understanding of exactly how everything works and how different functions can be combined (lets say I want to combine the vibrato example with the FM synth examples, but they both require phMod). It has been a frustrating but rewarding learning experience. Right now I have an arduino uno-based 4 button/2 switch/1 potentiometer synthesizer working just to play with some sounds with the hardware I had lying around.

I have a teensy 3.2 coming in a few days as well as a Wii guitar that I'll be turning into a fully loaded synth (all octaves covered, 5 buttons on the guitar neck set to pentatonic, fm, am, tremolo/vibrato/etc effects script-kiddied from the examples, ADSR/lpf and what not). Communicating with the Wii guitar can be done easily enough without electronic-surgery thanks to some open source libraries and I2C. However, from what I could gather, non-blocking I2C wasn't covered for Teensy.

A quick google search revealed this library, so I wanted to share it with everyone in case this was still an issue and other people might be discouraged or giving up on one of their dreams due to the limitation.

I haven't set any of this up or tested it with Mozzi yet, but I'll let the community know if there are any hurdles.

Non-blocking I2C upgrade for Teensy:


Thanks to the Mozzi community for making it easy to get started, and thanks to Tim for creating the library and staying active. I've seen some posts that would take patience to respond to politely after all the work you've put in and the examples.

Tim Barrass

unread,
Feb 1, 2016, 6:28:06 AM2/1/16
to mozzi...@googlegroups.com
Hi Steven,
welcome and thanks for the pointer to non-blocking I2C, something which many people would find useful (including me) if you or anyone has time to explore and report about it.  Good luck,
Tim

--
You received this message because you are subscribed to the Google Groups "Mozzi-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mozzi-users...@googlegroups.com.
To post to this group, send email to mozzi...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mozzi-users/95e0968f-caae-4db9-ae1e-ef22eecaa098%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Steven Aldinger

unread,
Mar 10, 2016, 12:35:43 AM3/10/16
to Mozzi-users
I got caught up with school/work and had to put aside my project for a while. I did end up coding a non-blocking i2c snippet into my Mozzi program and would love to share. Mine is very specific to my project at this point, sacrificing good reusable code for speed...
Any pointers on how to best help out the community? I'd provide code for sure (same general pattern as the current non-blocking code on the examples page but different library) but not sure how to best go about it.

Thanks again Tim, I've got a bad ass multi-voiced wii guitar audio synth/sequencer (all octaves covered) with ADSR and LPF working great at this point. Super cool project and wouldn't have dreamed of making it happen without your work. Need to buy some buttons/dials to really finish it up how I want it but I'm pretty happy with where it is at this point :D I'll probably end up blogging about it in a couple months when I can finish it and will absolutely open source the project when it isn't embarrassingly sloppy.
Reply all
Reply to author
Forward
0 new messages