diff --git a/demos/console/main.c b/demos/applications/console/main.c similarity index 100% rename from demos/console/main.c rename to demos/applications/console/main.c diff --git a/demos/graph/main.c b/demos/applications/graph/main.c similarity index 100% rename from demos/graph/main.c rename to demos/applications/graph/main.c diff --git a/demos/mandelbrot/main.c b/demos/applications/mandelbrot/main.c similarity index 100% rename from demos/mandelbrot/main.c rename to demos/applications/mandelbrot/main.c diff --git a/demos/notepad/main.c b/demos/applications/notepad/main.c similarity index 100% rename from demos/notepad/main.c rename to demos/applications/notepad/main.c diff --git a/demos/modules/gtimer/main.c b/demos/modules/gtimer/main.c new file mode 100644 index 00000000..bb991edc --- /dev/null +++ b/demos/modules/gtimer/main.c @@ -0,0 +1,65 @@ +/* + ChibiOS/GFX - Copyright (C) 2012 + Joel Bodenmann aka Tectu + + This file is part of ChibiOS/GFX. + + ChibiOS/GFX is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/GFX is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/** + * Make sure you have enabled the GTimer module in your halconf.h: + * + * #define GFX_USE_GTIMER TRUE + */ + +#include "ch.h" +#include "hal.h" +#include "gtimer.h" + +GTimer GT1, GT2; + +void callback1(void* arg) { + (void)arg; + + palTogglePad(GPIOD, GPIOD_LED3); +} + +void callback2(void* arg) { + (void)arg; + + palSetPad(GPIOD, GPIOD_LED4); +} + +int main(void) { + halInit(); + chSysInit(); + + /* initialize the timers */ + gtimerInit(>1); + gtimerInit(>2); + + /* continious mode - callback1() called without any argument every 250ms */ + gtimerStart(>1, callback1, NULL, TRUE, 250); + + /* single shot mode - callback2() called without any argument once after 1s */ + gtimerStart(>2, callback2, NULL, FALSE, 1000); + + while(TRUE) { + chThdSleepMilliseconds(500); + } + + return 0; +} +