32 #define TM_DISCO_H 1110
153 #include "stm32f4xx.h"
155 #include "tm_stm32f4_gpio.h"
159 #if defined(STM32F429_439xx) || defined(STM32F429ZI)
161 #ifndef TM_DISCO_STM32F429_DISCOVERY
162 #define TM_DISCO_STM32F429_DISCOVERY
164 #elif defined(STM32F407VG) || defined(STM32F401VC)// || defined(STM32F40_41xxx)
166 #ifndef TM_DISCO_STM32F4_DISCOVERY
167 #define TM_DISCO_STM32F4_DISCOVERY
169 #elif defined (STM32F401xx) || defined(STM32F401RE) || defined(STM32F401RB)
171 #ifndef TM_DISCO_NUCLEO_F401
172 #define TM_DISCO_NUCLEO_F401
174 #elif defined (STM32F411xx) || defined(STM32F411RE) || defined(STM32F411RB)
176 #ifndef TM_DISCO_NUCLEO_F411
177 #define TM_DISCO_NUCLEO_F411
182 #if defined(TM_DISCO_STM324x9_EVAL)
183 #define LED_GREEN GPIO_PIN_6
184 #define LED_ORANGE GPIO_PIN_7
185 #define LED_RED GPIO_PIN_10
186 #define LED_BLUE GPIO_PIN_12
187 #define LED_ALL LED_GREEN | LED_RED | LED_ORANGE | LED_BLUE
189 #define TM_DISCO_SWAP_LOGIC
191 #define TM_DISCO_LED_PORT GPIOG
192 #define TM_DISCO_LED_PINS LED_GREEN | LED_RED | LED_ORANGE | LED_BLUE
194 #define TM_DISCO_BUTTON_PORT GPIOA
195 #define TM_DISCO_BUTTON_PIN GPIO_PIN_0
196 #define TM_DISCO_BUTTON_PRESSED 1
197 #define TM_DISCO_BUTTON_PULL TM_GPIO_PuPd_DOWN
198 #elif defined(TM_DISCO_STM32F429_DISCOVERY)
199 #define LED_GREEN GPIO_PIN_13
200 #define LED_RED GPIO_PIN_14
203 #define LED_ALL LED_GREEN | LED_RED
205 #define TM_DISCO_LED_PORT GPIOG
206 #define TM_DISCO_LED_PINS LED_GREEN | LED_RED
208 #define TM_DISCO_BUTTON_PORT GPIOA
209 #define TM_DISCO_BUTTON_PIN GPIO_PIN_0
210 #define TM_DISCO_BUTTON_PRESSED 1
211 #define TM_DISCO_BUTTON_PULL TM_GPIO_PuPd_DOWN
213 #elif defined(TM_DISCO_STM32F4_DISCOVERY) || defined(TM_DISCO_STM32F401_DISCOVERY) || defined(TM_DISCO_STM32F411_DISCOVERY)
214 #define LED_GREEN GPIO_PIN_12
215 #define LED_ORANGE GPIO_PIN_13
216 #define LED_RED GPIO_PIN_14
217 #define LED_BLUE GPIO_PIN_15
218 #define LED_ALL LED_GREEN | LED_RED | LED_ORANGE | LED_BLUE
220 #define TM_DISCO_LED_PORT GPIOD
221 #define TM_DISCO_LED_PINS LED_GREEN | LED_RED | LED_ORANGE | LED_BLUE
223 #define TM_DISCO_BUTTON_PORT GPIOA
224 #define TM_DISCO_BUTTON_PIN GPIO_PIN_0
225 #define TM_DISCO_BUTTON_PRESSED 1
226 #define TM_DISCO_BUTTON_PULL TM_GPIO_PuPd_DOWN
228 #elif defined(TM_DISCO_NUCLEO_F401) || defined(TM_DISCO_NUCLEO_F411)
229 #define LED_GREEN GPIO_PIN_5
233 #define LED_ALL LED_GREEN
235 #define TM_DISCO_LED_PORT GPIOA
236 #define TM_DISCO_LED_PINS LED_GREEN
238 #define TM_DISCO_BUTTON_PORT GPIOC
239 #define TM_DISCO_BUTTON_PIN GPIO_PIN_13
240 #define TM_DISCO_BUTTON_PRESSED 0
241 #define TM_DISCO_BUTTON_PULL TM_GPIO_PuPd_UP
244 #error "tm_stm32f4_disco.h: Please select your board. Open tm_stm32f4_disco.h and follow instructions!!"
278 #ifndef TM_DISCO_SWAP_LOGIC
279 #define TM_DISCO_LedOn(led) TM_GPIO_SetPinHigh(TM_DISCO_LED_PORT, (led))
281 #define TM_DISCO_LedOn(led) TM_GPIO_SetPinLow(TM_DISCO_LED_PORT, (led))
295 #ifndef TM_DISCO_SWAP_LOGIC
296 #define TM_DISCO_LedOff(led) TM_GPIO_SetPinLow(TM_DISCO_LED_PORT, (led))
298 #define TM_DISCO_LedOff(led) TM_GPIO_SetPinHigh(TM_DISCO_LED_PORT, (led))
311 #define TM_DISCO_LedToggle(led) TM_GPIO_TogglePinValue(TM_DISCO_LED_PORT, (led))
324 #ifndef TM_DISCO_SWAP_LOGIC
325 #define TM_DISCO_LedIsOn(led) TM_GPIO_GetOutputPinValue(TM_DISCO_LED_PORT, (led))
327 #define TM_DISCO_LedIsOn(led) !TM_GPIO_GetOutputPinValue(TM_DISCO_LED_PORT, (led))
343 #define TM_DISCO_SetLed(led, state) ((state) ? TM_DISCO_LedOn(led): TM_DISCO_LedOff(led))
352 #define TM_DISCO_ButtonPressed() ((TM_GPIO_GetInputPinValue(TM_DISCO_BUTTON_PORT, TM_DISCO_BUTTON_PIN) == 0) != TM_DISCO_BUTTON_PRESSED)
void TM_DISCO_ButtonInit(void)
Configures Button pin as input.
void TM_DISCO_LedInit(void)
Configures LED pins as outputs.
uint8_t TM_DISCO_ButtonOnReleased(void)
Checks if button was released now, but was already pressed before.
uint8_t TM_DISCO_ButtonOnPressed(void)
Checks if button was pressed now, but was not already pressed before.