Created
September 22, 2015 00:14
-
-
Save TareObjects/62e47ce87c3c36a4b823 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| $Id:$ | |
| ST7565 LCD library! | |
| Copyright (C) 2010 Limor Fried, Adafruit Industries | |
| This library is free software; you can redistribute it and/or | |
| modify it under the terms of the GNU Lesser General Public | |
| License as published by the Free Software Foundation; either | |
| version 2.1 of the License, or (at your option) any later version. | |
| This library is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| Lesser General Public License for more details. | |
| You should have received a copy of the GNU Lesser General Public | |
| License along with this library; if not, write to the Free Software | |
| Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
| // some of this code was written by <cstone@pobox.com> originally; it is in the public domain. | |
| // this source is modified for AQM1284 by kkurahahsi | |
| */ | |
| #include "Arduino.h" | |
| #define swap(a, b) { unsigned char t = a; a = b; b = t; } | |
| #define BLACK 1 | |
| #define WHITE 0 | |
| #define LCDWIDTH 128 | |
| #define LCDHEIGHT 48 | |
| #define CMD_DISPLAY_OFF 0xAE | |
| #define CMD_DISPLAY_ON 0xAF | |
| #define CMD_SET_DISP_START_LINE 0x40 | |
| #define CMD_SET_PAGE 0xB0 | |
| #define CMD_SET_COLUMN_UPPER 0x10 | |
| #define CMD_SET_COLUMN_LOWER 0x00 | |
| #define CMD_SET_ADC_NORMAL 0xA0 | |
| #define CMD_SET_ADC_REVERSE 0xA1 | |
| #define CMD_SET_DISP_NORMAL 0xA6 | |
| #define CMD_SET_DISP_REVERSE 0xA7 | |
| #define CMD_SET_ALLPTS_NORMAL 0xA4 | |
| #define CMD_SET_ALLPTS_ON 0xA5 | |
| #define CMD_SET_BIAS_9 0xA2 | |
| #define CMD_SET_BIAS_7 0xA3 | |
| #define CMD_RMW 0xE0 | |
| #define CMD_RMW_CLEAR 0xEE | |
| #define CMD_INTERNAL_RESET 0xE2 | |
| #define CMD_SET_COM_NORMAL 0xC0 | |
| #define CMD_SET_COM_REVERSE 0xC8 | |
| #define CMD_SET_POWER_CONTROL 0x28 | |
| #define CMD_SET_RESISTOR_RATIO 0x20 | |
| #define CMD_SET_VOLUME_FIRST 0x81 | |
| #define CMD_SET_VOLUME_SECOND 0 | |
| #define CMD_SET_STATIC_OFF 0xAC | |
| #define CMD_SET_STATIC_ON 0xAD | |
| #define CMD_SET_STATIC_REG 0x0 | |
| #define CMD_SET_BOOSTER_FIRST 0xF8 | |
| #define CMD_SET_BOOSTER_234 0 | |
| #define CMD_SET_BOOSTER_5 1 | |
| #define CMD_SET_BOOSTER_6 3 | |
| #define CMD_NOP 0xE3 | |
| #define CMD_TEST 0xF0 | |
| class ST7565 { | |
| public: | |
| ST7565(int8_t SID, int8_t SCLK, int8_t A0, int8_t RST, int8_t CS) :sid(SID), sclk(SCLK), a0(A0), rst(RST), cs(CS) {} | |
| ST7565(int8_t SID, int8_t SCLK, int8_t A0, int8_t RST) :sid(SID), sclk(SCLK), a0(A0), rst(RST), cs(-1) {} | |
| void st7565_init(void); | |
| void begin(unsigned char contrast); | |
| void st7565_command(unsigned char c); | |
| void st7565_data(unsigned char c); | |
| void st7565_set_brightness(unsigned char val); | |
| void clear_display(void); | |
| void clear(); | |
| void display(); | |
| void setpixel(unsigned char x, unsigned char y, unsigned char color); | |
| unsigned char getpixel(unsigned char x, unsigned char y); | |
| void fillcircle(unsigned char x0, unsigned char y0, unsigned char r, | |
| unsigned char color); | |
| void drawcircle(unsigned char x0, unsigned char y0, unsigned char r, | |
| unsigned char color); | |
| void drawrect(unsigned char x, unsigned char y, unsigned char w, unsigned char h, | |
| unsigned char color); | |
| void fillrect(unsigned char x, unsigned char y, unsigned char w, unsigned char h, | |
| unsigned char color); | |
| void drawline(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, | |
| unsigned char color); | |
| void drawchar(unsigned char x, unsigned char line, char c); | |
| void drawstring(unsigned char x, unsigned char line, char *c); | |
| void drawstring_P(unsigned char x, unsigned char line, const char *c); | |
| void drawbitmap(unsigned char x, unsigned char y, | |
| const unsigned char *bitmap, unsigned char w, unsigned char h, | |
| unsigned char color); | |
| private: | |
| int8_t sid, sclk, a0, rst, cs; | |
| void spiwrite(unsigned char c); | |
| void my_setpixel(unsigned char x, unsigned char y, unsigned char color); | |
| //unsigned char buffer[128*64/8]; | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment