#include #include #include #include "tests.h" #include "config.h" #define DELAY 100000 #define DATA 0x00401000 #define DEBUG_MACA 1 uint32_t ackBox[10]; #define command_xcvr_rx() \ do { \ maca_txlen = (uint32_t)1<<16; \ maca_dmatx = (uint32_t)&ackBox; \ maca_dmarx = DATA; \ maca_tmren = (maca_cpl_clk | maca_soft_clk); \ maca_control = (control_prm | control_asap | control_seq_rx); \ }while(0) #define PAYLOAD_LEN 16 /* not including the extra 4 bytes for len+fcs+somethingelse */ /* maca dmatx needs extra 4 bytes for checksum */ /* needs + 4 bytes for len(1 byte) + fcs(2 bytes) + somethingelse */ #define command_xcvr_tx() \ do { \ maca_txlen = (uint32_t)(PAYLOAD_LEN+4); \ maca_dmatx = (uint32_t)DATA; \ maca_dmarx = (uint32_t)&ackBox; \ maca_control = (control_prm | control_mode_no_cca | \ control_asap | control_seq_tx); \ }while(0) volatile uint8_t led; #define LED LED_RED #define led_on() do { led = 1; *GPIO_DATA0 = LED; } while(0); #define led_off() do { led = 0; *GPIO_DATA0 = 0x00000000; } while(0); void toggle_led(void) { if(0 == led) { led_on(); led = 1; } else { led_off(); } } volatile uint8_t *data; uint8_t count=0; void fill_data(void) { uint8_t i; for(i=0; i