/*
* (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
*
- * SPDX-License-Identifier: GPL-2.0+
+ * SPDX-License-Identifier: GPL-2.0
*/
#ifndef COMMON_H
#define COMMON_H
+#include <stdio.h>
+#include <stdint.h>
+
#ifdef __AVR__
#include <avr/io.h>
#include <avr/pgmspace.h>
// TODO: stm32
#endif /* __AVR__ */
-#include <stdio.h>
-
#ifdef __FLASH
#define FLASH __flash
#define MEMX __memx
#define FSTR(X) ((const FLASH char[]) { X } )
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+#define MIN(a,b) ({ typeof (a) _a = (a); \
+ typeof (b) _b = (b); \
+ _a < _b ? _a : _b; })
+#define MAX(a,b) ({ typeof (a) _a = (a); \
+ typeof (b) _b = (b); \
+ _a > _b ? _a : _b; })
#ifdef __AVR__
#define Stat GPIOR0