From 43d45dca63e8e098e8a40481411d0c4ca46564c5 Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Tue, 20 Nov 2012 18:37:49 +0100 Subject: [PATCH] gtimer demo --- demos/{ => applications}/console/main.c | 0 demos/{ => applications}/graph/main.c | 0 demos/{ => applications}/mandelbrot/main.c | 0 demos/{ => applications}/notepad/main.c | 0 demos/modules/gtimer/main.c | 65 ++++++++++++++++++++++ 5 files changed, 65 insertions(+) rename demos/{ => applications}/console/main.c (100%) rename demos/{ => applications}/graph/main.c (100%) rename demos/{ => applications}/mandelbrot/main.c (100%) rename demos/{ => applications}/notepad/main.c (100%) create mode 100644 demos/modules/gtimer/main.c 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; +} +