Li Weiyi
/
LED_DZ
work fine
Diff: Microduino_MatrixBase.h
- Revision:
- 0:5ca227682ee7
- Child:
- 1:14b7c3a3ec60
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Microduino_MatrixBase.h Tue May 31 15:32:03 2016 +0000 @@ -0,0 +1,95 @@ +// 本作品采用知识共享 署名-非商业性使用-相同方式共享 3.0 未本地化版本 许可协议进行许可 +// 访问 http://creativecommons.org/licenses/by-nc-sa/3.0/ 查看该许可协议 +// ============== + +// 版权所有: +// @老潘orz wasdpkj@hotmail.com +// ============== + +// Microduino-IDE +// ============== +// Microduino Getting start: +// http://www.microduino.cc/download/ + +// Microduino IDE Support: +// https://github.com/wasdpkj/Microduino-IDE-Support/ + +// ============== +// Microduino wiki: +// http://wiki.microduino.cc + +// ============== +// E-mail: +// Kejia Pan +// pankejia@microduino.cc + +// ============== +// Weibo: +// @老潘orz + +#ifndef Microduino_Matrix_base_h +#define Microduino_Matrix_base_h +#if 0 +#if (ARDUINO >= 100) +#include "Arduino.h" +#include "Print.h" +#else +#include "WProgram.h" +#endif +#endif +#include "Fonts.h" +//#include <Wire.h> +//#include <avr/pgmspace.h> +#include "mbed.h" +#include "Printit.h" + +#define MatrixPix_X 8 +#define MatrixPix_Y 8 + +class LedControl : public Print +{ +public: + LedControl(); + // LedControl(uint8_t _addr); + uint8_t getDeviceAddr(); + void setDeviceAddr(uint8_t _addr); + + void clearDisplay(); + + void setColor(uint8_t value_r, uint8_t value_g, uint8_t value_b); + void clearColor(); + + void setFontMode(bool _Mode); + + void setLed(uint8_t row, uint8_t column, bool state); + void setLedColor(uint8_t row, uint8_t column, uint8_t value_r, uint8_t value_g, uint8_t value_b); + void setLedColorFast(uint8_t row, uint8_t column, uint8_t value_r, uint8_t value_g, uint8_t value_b); + + void setFastMode(); + void clearFastMode(); + + void setRow(uint8_t row, uint8_t value); + void setColumn(uint8_t col, uint8_t value); + + void setCursor(int16_t x, int16_t y); + virtual size_t write(uint8_t); + void displayChar(int8_t row, int8_t col, char _charIndex); + void writeString(int time, char * displayString); + + void (*Fun)(); + +protected: + uint8_t Devices_addr; + bool Fast_mode; + bool Font_mode; + uint8_t value_color[3]; + int16_t cursor_x, cursor_y; + int16_t _width, _height; // Display w/h as modified by current rotation + + uint8_t status[64]; +private : + uint8_t matrixIndex; // index into the channel data for this key +}; + +extern uint8_t pgm_read_byte(uint8_t *p); +#endif