Arduino shield only connects with low CPU utilization


#1

Hi,

My Mod Duo (kickstarter edition - 2nd batch) will only find my Arduino shield when I load a
pedalboard that has low CPU utilisation.

For example with a new pedalboard with just a gain module loaded the utilisation is 8% and as I connect and disconnect the shield the mod picks it up without a problem. If I then load one of my common patches containing 12 pedals and averaging 44% utilisation it doesn’t recognise the shield when I plug it in. This is repeatable behaviour.

If I plug in the shield when I have a minimal board loaded (so it picks it up OK) and then switch to a more heavily loaded pedalboard it continues to work but starts to get a bit flakey.

I can imagine this might be an issue if the CPU was in the 90% mark but it’s occurring at much lower levels than that.

Has anyone else has similar problems? Any solution?

By the way I wrote another post on a similar topic when I thought the issue was due to me overloading my DUE board, but I’ve now been able to rule that out of the equation.

Thanks

Ian


#2

OK I’ve done a bit more digging with this and it seems to make a difference whether you’re using an Arduino UNO or Mega:

My test process is to load the Button.ino sketch onto the device, then start with a basic pedal board (just a stereo gain pedal) and gradually add AmpVTS simulators to it. After I add/remove each amp I connect and disconnect the device to see if it works.

With an UNO I can reliably connect until the CPU gets to about 70%. Higher than that and there’s a bit of a delay before I get the message saying it’s connected. Over 80% and it won’t connect at all.

With a Mega 2560 it reliably connects while the CPU is below 50%. Between 50 and 60% connection is delayed/unreliable and above that it doesn’t connect at all.

As the Mega is a faster device I’d have that thought that if anything it should be the other way around, but I was also surprised that the arduino device would affect connection time at all. I notice that a different timer library is used between the UNO and the DUE - could it be an issue for the Mega?

Thanks

Ian