00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef Matrix_h
00021 #define Matrix_h
00022
00023 #include <inttypes.h>
00024
00025 class Sprite;
00026
00027 class Matrix
00028 {
00029 private:
00030 uint8_t _pinData;
00031 uint8_t _pinClock;
00032 uint8_t _pinLoad;
00033
00034 uint8_t* _buffer;
00035 uint8_t _screens;
00036 uint8_t _maximumX;
00037
00038 void putByte(uint8_t);
00039 void setRegister(uint8_t, uint8_t);
00040 void syncRow(uint8_t);
00041
00042 void setScanLimit(uint8_t);
00043
00044 void buffer(uint8_t, uint8_t, uint8_t);
00045 public:
00046 Matrix(uint8_t, uint8_t, uint8_t, uint8_t = 1);
00047 void setBrightness(uint8_t);
00048 void write(uint8_t, uint8_t, uint8_t);
00049 void write(uint8_t, uint8_t, Sprite);
00050 void clear(void);
00051 };
00052
00053 #endif
00054