Created Thu, 07 Aug 2014 20:57:53 +0000 by deseipel
Thu, 07 Aug 2014 20:57:53 +0000
Hi guys, I have an Arduino Mega + ruggeduino MIDI shield + Adafruit 1.8" TFT/SD/joystick. My project is a MIDI player / Mapper. The issue I'm having with the Arduino is that it looks like it's not fast enough to handle playing a midi file and have the joystick working menus at the same time. I also have it listening on the MIDI IN port for certain notes to map to other events I send back out. The issue is that during playback, using the joystick causes drops in notes. Also, when I send it notes to map to program changes, the tft goes bonkers. My suspicion is that the Mega isn't fast enough to handle all of this. I suspect SPI sharing is the issue as well. Suggestions?
Thu, 07 Aug 2014 21:25:31 +0000
It sounds like a combination of things there causing problems.
The main problem I think is probably the screen.
The 1.8" TFT is an SPI connected TFT screen. That makes it really quite slow, and the mega can't be doing anything else while it's updating the screen. Not only that, but unless you have made the relevant mods, the Mega will be using software SPI to communicate with the screen, which is even slower.
Switching to a chipKIT will certainly speed that side of things up considerably. Not only would it be using hardware SPI to do the communication, but the overall processing would be much faster.
Also, if you are good at programming and pick the right chipKIT board, you could implement some of the data transfers using DMA to free up the CPU for doing other things.