From ec28fcd9f905358759eea98161f451567135d17e Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 27 Aug 2023 22:31:09 +0200 Subject: new driver blinkenlights --- driver_fw/include/global.h | 56 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 driver_fw/include/global.h (limited to 'driver_fw/include/global.h') diff --git a/driver_fw/include/global.h b/driver_fw/include/global.h new file mode 100644 index 0000000..df07598 --- /dev/null +++ b/driver_fw/include/global.h @@ -0,0 +1,56 @@ + +#ifndef __GLOBAL_H__ +#define __GLOBAL_H__ + +#include +#include +#include +#include +#include + +/* The IRQ header must be included before stm32_device.h since ST defines a bunch of messy macros there. */ +#include /* Header generated from stm32***_startup.s in Makefile */ + +#include +#include + +#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x]))))) + +#define AFRL(pin, val) ((val) << ((pin)*4)) +#define AFRH(pin, val) ((val) << (((pin)-8)*4)) +#define AF(pin) (2<<(2*(pin))) +#define OUT(pin) (1<<(2*(pin))) +#define IN(pin) (0) +#define ANALOG(pin) (3<<(2*(pin))) +#define CLEAR(pin) (~(3<<(2*(pin)))) +#define PULLUP(pin) (1<<(2*pin)) +#define PULLDOWN(pin) (2<<(2*pin)) +#define BSRR_CLEAR(pin) ((1<