#ifdef __AVR__
#include <avr/io.h>
+#include <avr/pgmspace.h>
+#include <util/delay.h>
+
+#define udelay(n) _delay_us(n)
+
+struct bits {
+ uint8_t b0:1;
+ uint8_t b1:1;
+ uint8_t b2:1;
+ uint8_t b3:1;
+ uint8_t b4:1;
+ uint8_t b5:1;
+ uint8_t b6:1;
+ uint8_t b7:1;
+} __attribute__((__packed__));
+
+#define SBIT(port,pin) ((*(volatile struct bits*)&port).b##pin)
//TODO:
// Known to work: 4.8.4, 4.9.1
#else
#define FLASH
#define MEMX
-#endif
+#endif
#define stringify(s) tostring(s)
#define tostring(s) #s
#endif /* __AVR__ */
#define S_10MS_TO (1<<0)
-#define S_MSG_PENDING (2<<0)
+#define S_MSG_PENDING (1<<1)
+#define S_CON_PENDING (1<<2)
-static inline
+static inline
void my_puts(const char *s)
{
fputs(s, stdout);
}
-static inline
+static inline
void my_puts_P(const char *s)
{
#ifdef __AVR__
}
#endif /* COMMON_H */
-