// // FILE: FastShiftOut.h // AUTHOR: Rob Tillaart // VERSION: 0.1.04 // PURPOSE: shiftout that implements the Print interface // DATE: 2013-08-22 // URL: // // Released to the public domain // #ifndef FastShiftOut_h #define FastShiftOut_h #if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" #else #include "WProgram.h" #endif #define FASTSHIFTOUT_LIB_VERSION (F("0.1.04")) #include "Print.h" class FastShiftOut : public Print { public: FastShiftOut(const uint8_t, const uint8_t, const uint8_t); size_t write(const uint8_t); int read(void); private: uint8_t _bitorder; int _value; uint8_t _databit; volatile uint8_t *_dataout; uint8_t _clockbit; volatile uint8_t *_clockout; }; #endif // -- END OF FILE --