Example #1
0
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);
}
Example #2
0
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);
}
Example #3
0
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;
}