intro/blinky/main.c

/*
* EVALUATION AND USE OF THIS SOFTWARE IS SUBJECT TO THE TERMS AND
* CONDITIONS OF THE CONTROLLING LICENSE AGREEMENT FOUND AT LICENSE.md
* IN THIS SDK. IF YOU DO NOT AGREE TO THE LICENSE TERMS AND CONDITIONS,
* PLEASE RETURN ALL SOURCE FILES TO SILICON LABORATORIES.
* (c) Copyright 2018, Silicon Laboratories Inc. All rights reserved.
*/
/*
* Documentation for this app is available online.
* See https://docs.silabs.com/gecko-os/4/standard/latest/sdk/examples/intro/blinky
*/
#include "gos.h"
#define BLINK_PERIOD_MS 500
#define APPLICATION_START_LINE "\r\n\r\nStarting LED Blinking App"
static bool toggle;
/*************************************************************************************************/
void gos_app_init(void)
{
GOS_LOG(APPLICATION_START_LINE);
gos_event_register_periodic(blink_event_handler, NULL, BLINK_PERIOD_MS, GOS_EVENT_FLAG_NONE);
}
/*************************************************************************************************/
static void blink_event_handler(void *arg)
{
gos_gpio_set(PLATFORM_LED1, toggle);
gos_gpio_set(PLATFORM_LED2, !toggle);
toggle = !toggle;
}