static void radio_setup() { // Update RF231 config if board is patched if (al04_has_slptr_on_timer) { _rf231_config.slp_tr_gpio = GPIO_C; _rf231_config.slp_tr_pin = GPIO_PIN_6; _rf231_config.slp_tr_af = GPIO_AF_2; } // Configure the radio chips // Set IRQ as input IRQ syscfg_select_exti_pin(EXTI_LINE_Px0, SYSCFG_PORT_B); nvic_enable_interrupt_line(NVIC_IRQ_LINE_EXTI0); // Set DIG2 as Timer input capture gpio_set_alternate_function(GPIO_A, GPIO_PIN_6, GPIO_AF_3); // Initialize the radio to put it in Sleep State rf2xx_init(rf231); // Set IRQ as input IRQ syscfg_select_exti_pin(EXTI_LINE_Px1, SYSCFG_PORT_B); nvic_enable_interrupt_line(NVIC_IRQ_LINE_EXTI1); // Set DIG2 as Timer input capture gpio_set_alternate_function(GPIO_A, GPIO_PIN_7, GPIO_AF_3); // Initialize the radio to put it in Sleep State rf2xx_init(rf212); }
static void radio_setup() { // RF 231 // Set IRQ (PC4) as input IRQ gpio_set_input(GPIO_C, GPIO_PIN_4); afio_select_exti_pin(EXTI_LINE_Px4, AFIO_PORT_C); nvic_enable_interrupt_line(NVIC_IRQ_LINE_EXTI4); // Set DIG2 (PB0) as Timer 3 channel 3 input capture // Configure the Timer Capture pins gpio_set_input(GPIO_B, GPIO_PIN_0); // Initialize the radio to put it in Sleep State rf2xx_init(rf231); }
int main() { uint8_t part_num, version_num; // Initialize the platform platform_init(); printf("Testing RF2XX\n"); // Set initial values leds_on(LED_0); leds_off(LED_1); printf("Initializing RF212..."); // Init. the radio rf2xx_init(rf212); rf2xx_wakeup(rf212); printf("OK\n"); printf("Reading RF212 PART_NUM (should be 7): "); part_num = rf2xx_reg_read(rf212, RF2XX_REG__PART_NUM); printf("%x\n", part_num); printf("Reading RF212 VERSION_NUM (should be 1): "); version_num = rf2xx_reg_read(rf212, RF2XX_REG__VERSION_NUM); printf("%x\n", version_num); while (1) { int i; for (i = 0; i < 0x10000; i++) { __asm__("nop"); } leds_toggle(LED_0 + LED_1); } return 0; }