I've got a decorative project that uses TLC5940 to drive LEDs. A JeeNode integrates local sensor inputs drives the 5940 and (hopefully) talks to a control node using the RF12.
It works fine if I don't use the RF12 code, it gets very messy and hangs the loop. By changing delays and Serial prints I can change exactly when the hang happens (yuck).
I may be doing something incompatible with the RF12 to cause this. I'm using fast PWM on the JN IRQ line (PD3) and Port 2's digital ping (PD5), with Timer2 and Timer0 respectively.
The radio code is pretty simple at the end of 'loop':
while (!rf12_canSend()) rf12_recvDone(); rf12_sendStart(0,gsLevel,sizeof gsLevel); rf12_sendWait(0); Serial.println("sent levels");
(Note: uint16_t gsLevel)
Is using IRQ for for fast PWM wrong?
As far as possible timer outputs go PB1, PB2, PB3 are all used by the RF12. Ports 2(PD5) and 3(PD6) are presumably fine to use. I could reconfigure to use Port3(D) instead of IRQ. Is this likely to help?