Пример #1
0
void SEC_ToggleOutput(SEC_Output_t signal) 
{
      SEC_OutputState[signal] = !SEC_OutputState[signal];
      if (output_port) {
         switch (signal) {
#ifdef LED_1
             case SEC_LED1_OUTPUT:
                lwgpio_toggle_value(&led1);
                break;
#endif
#ifdef LED_2
             case SEC_LED2_OUTPUT:
                lwgpio_toggle_value(&led2);
                break;
#endif
#ifdef LED_3
             case SEC_LED3_OUTPUT:
                lwgpio_toggle_value(&led3);
                break;
#endif
#ifdef LED_4
             case SEC_OPEN_OUTPUT:
                lwgpio_toggle_value(&led4);
                break;
#endif
         }
      }
}
Пример #2
0
void for_loop_led_task
    (
        uint32_t initial_data
    )
{
    volatile uint32_t i = 0;
    LWGPIO_STRUCT led2;

    /* Initialize LED pin for output */
    if (!lwgpio_init(&led2, BSP_LED2, LWGPIO_DIR_OUTPUT, LWGPIO_VALUE_HIGH))
    {
        printf("\nLED2 initialization failed.\n");
        _task_block();
    }
    /* Set LED pin to GPIO functionality */
    lwgpio_set_functionality(&led2, BSP_LED2_MUX_GPIO);

    while(1)
    {
        /* Duration of this loop depends on actual core clock */
        for (i = 0; i < 800000; i++) {};
        
        /* To let the idle task run too */
        _time_delay (50);
        
        /* Toggle led 2 */
        lwgpio_toggle_value(&led2);
    }
}
Пример #3
0
/*TASK*----------------------------------------------------------
*
* Task Name : blink_led_task
* Comments  :
*   Set up LED and button.
*   When user presses a button this task blinks the LED and prints
*   out the number of times the system timer interrupt occurred.
*   If the button is pressed again, the LED is turned off and
*   the number of times the system timer interrupt occurred
*   is also printed out.
*END*-----------------------------------------------------------*/
void blink_led_task
    (
        uint32_t initial_data
    )
{
    /* Initialize led */
    init_led((void *)(&led1));
    /* Initialize button 1 */
    init_interrupt_btn((void *)(&btn1));
    while(1)
    {
        if(TRUE == btn_pressed)
        {
            if (TRUE == prv_btn_pressed)
            {
                prv_btn_pressed = FALSE;
                printf("\nLed starts blinking at tick No. = %d\n", num_tick);
            }
            lwgpio_toggle_value(&led1);
            _time_delay(200);
        }
        else if (FALSE == prv_btn_pressed)
        {
            prv_btn_pressed = TRUE;
            printf("\nLed is off at tick No. = %d\n", num_tick);
            lwgpio_set_value(&led1, LWGPIO_VALUE_HIGH);
        }
    }
}
Пример #4
0
void for_loop_led_task
    (
        uint_32 initial_data
    )
{
    uint_32 i = 0;
    LWGPIO_STRUCT led2;

    /* Initialize LED pin for output */
    if (!lwgpio_init(&led2, BSP_LED2, LWGPIO_DIR_OUTPUT, LWGPIO_VALUE_HIGH))
    {
        printf("\nLED2 initialization failed.\n");
        _task_block();
    }
    /* Set LED pin to GPIO functionality */
    lwgpio_set_functionality(&led2, BSP_LED2_MUX_GPIO);

    while(1)
    {
        for (i = 0; i < 800000; i++) {};
        
        /* Toggle led 2 */
        lwgpio_toggle_value(&led2);
    }
}
Пример #5
0
static void button_isr
    (
         void   *pin
    )
{
    lwgpio_toggle_value (&led1);
    lwgpio_int_clear_flag (pin);
    _lwevent_set (&app_event, SW_EVENT_MASK);
}
Пример #6
0
/*FUNCTION*****************************************************************
*
* Function Name    : LWGPIO_TOGGLE_PIN_OUTPUT
* Returned Value   : TRUE if succesfull
* Comments         :
*    Toggles output pin state
*
*END*********************************************************************/
bool lwgpio_toggle_pin_output(LWGPIO_PIN_ID id)
{
    LWGPIO_STRUCT tmp;
    if (lwgpio_init(&tmp, id, LWGPIO_DIR_OUTPUT, LWGPIO_VALUE_NOCHANGE)) {
        lwgpio_toggle_value(&tmp);
        return TRUE;
    }
    return FALSE;
}
Пример #7
0
void for_loop_led_task
(
    uint32_t initial_data
)
{
    LWGPIO_STRUCT   led2;
    int             i = 0;

    /* Initialize LED pin for output */
    if (!lwgpio_init(&led2, BSP_LED2, LWGPIO_DIR_OUTPUT, LWGPIO_VALUE_HIGH))
    {
        /* LED2 initialization failed.*/
        _task_block();
    }
    /* Set LED pin to GPIO functionality */
    lwgpio_set_functionality(&led2, BSP_LED2_MUX_GPIO);

    while(1)
    {
        for (i = 0; i < 700000; i++) {};
        /* toggle led 2 */
        lwgpio_toggle_value(&led2);
    }
}
Пример #8
0
void led_task
(
    uint32_t initial_data
)
{
    LWGPIO_STRUCT led1;

    /* Initialize LED pin for output */
    if (!lwgpio_init(&led1, BSP_LED1, LWGPIO_DIR_OUTPUT, LWGPIO_VALUE_HIGH))    {
        /* LED1 initialization failed. */
        _task_block();
    }

    /* Set LED pin to GPIO functionality */
    lwgpio_set_functionality(&led1, BSP_LED1_MUX_GPIO);

    while(1)
    {
        _time_delay (500);
        /* toggle led 1 */
        lwgpio_toggle_value(&led1);
    }

}