void sendRadioBursts() { uint16 time = (uint16)getMs(); if ((uint16)(time - lastBurst) > 1000) { lastBurst = time; toggle_channel(); currentBurstId++; packetsSent = 0; } if (packetsSent < 100 && (MARCSTATE == 1)) { packet[1] = packetsSent & 1; packet[2] = currentBurstId; packet[3] = packetsSent; packetsSent++; RFIF &= ~(1<<4); // Clear IRQ_DONE DMAARM |= (1<<DMA_CHANNEL_RADIO); // Arm DMA channel RFST = 3; // Switch radio to TX } }
static void click_ext(void *u,int s) { toggle_channel(s << 5); }
static void click_dmc(void *u,int s) { toggle_channel(s << 4); }
static void click_noise(void *u,int s) { toggle_channel(s << 3); }
static void click_tri(void *u,int s) { toggle_channel(s << 2); }
static void click_sq2(void *u,int s) { toggle_channel(s << 1); }
static void click_sq1(void *u,int s) { toggle_channel(s << 0); }