The TLV320 is currently running at 64K 32-bit samples/sec; samples are passed via SPI. The PIC32 controls the TLV (via I2C), monitors the pedal position sensor (AS5055) once every 64 samples, and sends graphics to the OLED.
I chose the AS5055 magnetic position sensor for two reasons: 1) I wanted a non-contact solution to avoid wear, and 2) I found I needed better resolution than I could get out of a potentiometer and a 10-bit ADC. The AS5055 works as advertised, and the magnet alignment issue I was having was solved by using a different type of magnet.
As of now, the 13 effects I have are: 2 octave Pitch Shift, 1 octave Pitch Shift (for finer control), Flanger, Clipping, Soft Clip, "Sag", Chorus (dry plus 1-3 voices), Echo, Harmony(dry+2 voices), Harmony(dry+1 voice), BitCrush, Static, FeedBack Comb filter.
I'm torn over what feature to use when you push in the encoder shaft; I can have it switch-on/switch-off an 82.45Hz tone for E2 tuning, or just Mute the outputs until it's released.
The image shows the working unit; my rev1 board has the encoder and pedal sensor all on one pcb; I just received updated pcb's with the encoder and sensor separate. The 5-pin ICSP header along the bottom was glued on for prototyping.
So for now, I have 3 tasks left: AS5055 magnet alignment, getting my 'theremin' effect working, and designing a case.
6/25: Forget what I said about the AS5055 having a small sensing area; i just tried a small cabinet latch magnet I had laying around, and it works MUCH better than the bar magnets I was trying before.
One problem down!
7/12: Ran across a description of a Sample & Hold; 13 lines of code later, I have my 15th effect. I'll have to play with the hold time to find the best sound.
7/22: Well, after a few days tracking down a bug caused by combined misreading of the PIC datasheet AND leaving some test code un-commented-out, I finally saw my waveforms change smoothly in response to the pedal magnet. YES!
Tonight I'm off to the local makerspace (Sask TechWorks) to see about printing a case and components.
7/28: after various fits and starts, I got a 'learning prototype' printed - as in '"now i get to see how bad my Sketchup skills are". :)
Being that it was a flat box, the corners pulled up - oops, lesson learned. And I STILL can't figure out how the Makerbot printed several centimeters of (millimeter-sized) horizontal beams WITH NO SUPPORT STRUCTURE! How'dtheydothat?
Anyhow, in spite of the pulling, the important areas printed fine, and showed me some changes that need to be made for ergonomics. All in all, for a first pass, I'm satisfied. Tonight it's back to the 'space for more...