+/*
+ * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
+ *
+ * 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
extern volatile uint_least8_t Stat;
#endif /* __AVR__ */
-#define S_10MS_TO (1<<0)
+#define S_10MS_TO (1<<0)
#define S_MSG_PENDING (1<<1)
#define S_CON_PENDING (1<<2)