From d9fb4f7401b8bf546cc7e6ddeb9f22d343f0622d Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Wed, 23 Jan 2013 00:01:46 +0000 Subject: Add examples making use of the RTC Add an example using the RTC to help with a lower power design. This is a sister example to the existing "button-irq-printf", which is functionally identical, but uses far less power. There's more tricks that can be done to lower the power even further, but this shows a few of the early steps that can be done, using the RTC wakeup instead of a timer. --- .../button-irq-printf-lowpower/syscfg.h | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 examples/stm32/l1/stm32l-discovery/button-irq-printf-lowpower/syscfg.h (limited to 'examples/stm32/l1/stm32l-discovery/button-irq-printf-lowpower/syscfg.h') diff --git a/examples/stm32/l1/stm32l-discovery/button-irq-printf-lowpower/syscfg.h b/examples/stm32/l1/stm32l-discovery/button-irq-printf-lowpower/syscfg.h new file mode 100644 index 0000000..8ca634b --- /dev/null +++ b/examples/stm32/l1/stm32l-discovery/button-irq-printf-lowpower/syscfg.h @@ -0,0 +1,61 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2012 Karl Palsson + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#ifndef SYSCFG_H +#define SYSCFG_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include + + +#define USART_CONSOLE USART2 +#define USE_NASTYLOG 1 + +#define LED_DISCO_GREEN_PORT GPIOB +#define LED_DISCO_GREEN_PIN GPIO7 +#define LED_DISCO_BLUE_PORT GPIOB +#define LED_DISCO_BLUE_PIN GPIO6 + +#define BUTTON_DISCO_USER_PORT GPIOA +#define BUTTON_DISCO_USER_PIN GPIO0 +#define BUTTON_DISCO_USER_EXTI EXTI0 +#define BUTTON_DISCO_USER_isr exti0_isr +#define BUTTON_DISCO_USER_NVIC NVIC_EXTI0_IRQ +#define TIMER_BUTTON_PRESS TIM7 + + struct state_t { + bool falling; + bool pressed; + int rtc_ticked; + int hold_time; + }; + + +#ifdef __cplusplus +} +#endif + +#endif /* SYSCFG_H */ + -- cgit v1.2.3