// Passing received frames to the main loop
static byte bsb_rx_frame[BSB_MAX_SIZE];
static volatile byte bsb_rx_frame_len;
+static byte bsb_rx_frame_led;
struct bsb_stat {
u32 rx_noise;
memcpy(bsb_rx_frame, bsb_rx_buf, bsb_rx_buf[3]);
barrier();
bsb_rx_frame_len = bsb_rx_buf[3];
+ bsb_rx_frame_led = 100;
+ gpio_clear(GPIOB, GPIO1);
}
}
}
bsb_rx_len = 0;
bsb_stat.rx_timeouts++;
}
+ if (bsb_rx_frame_led) {
+ if (!--bsb_rx_frame_led)
+ gpio_set(GPIOB, GPIO1);
+ }
cm_enable_interrupts();
wait_for_interrupt();