terom@49: #define false 0 terom@49: #define true 1 terom@49: terom@58: typedef uint8_t byte; terom@58: terom@49: typedef volatile uint8_t ioport_t; terom@49: terom@49: static inline ioport_t tbi(ioport_t *port, int bit) terom@49: { terom@49: return *port & (1 << bit); terom@49: } terom@49: terom@49: static inline void sbi(ioport_t *port, int bit) terom@49: { terom@49: *port |= (1 << bit); terom@49: } terom@49: terom@49: static inline void cbi(ioport_t *port, int bit) terom@49: { terom@49: *port &= ~(1 << bit); terom@49: } terom@49: terom@49: static inline void xbi(ioport_t *port, int bit) terom@49: { terom@49: *port ^= (1 << bit); terom@49: }