ALO-095BWNN-J9 aitendo OLED 96x64 SPI model Ver1.04

Committer:
TETSUYA
Date:
Sat Jan 15 03:24:10 2011 +0000
Revision:
6:7c25a9403243
Parent:
4:b68843c0269c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TETSUYA 2:e331851128c1 1 // ALO-095BWNN-J9 test program
TETSUYA 2:e331851128c1 2 // See also "http://www.aitendo.co.jp/product/2099"
TETSUYA 2:e331851128c1 3
TETSUYA 2:e331851128c1 4
TETSUYA 2:e331851128c1 5 #ifndef __SPIOLED96x64_H__
TETSUYA 2:e331851128c1 6 #define __SPIOLED96x64_H__
TETSUYA 2:e331851128c1 7
TETSUYA 2:e331851128c1 8 #include "mbed.h"
TETSUYA 2:e331851128c1 9 #include "ascii_font6x8.h"
TETSUYA 2:e331851128c1 10 #include "small_font.h"
TETSUYA 2:e331851128c1 11
TETSUYA 4:b68843c0269c 12 //#define __USE_GAC__ // use SSD1331/1332 Graphi Accelaration Command
TETSUYA 4:b68843c0269c 13
TETSUYA 2:e331851128c1 14 #define Dis_X_MAX 96-1 // Max X axial direction in screen
TETSUYA 2:e331851128c1 15 #define Dis_Y_MAX 64-1 // Max Y axial direction in screen
TETSUYA 2:e331851128c1 16 #define X_WitchASC 6 // character's width
TETSUYA 2:e331851128c1 17 #define X_Witch 8 // character's width
TETSUYA 2:e331851128c1 18 #define Y_Witch 8 // character's height
TETSUYA 2:e331851128c1 19
TETSUYA 2:e331851128c1 20 #define CS_NORMAL 0
TETSUYA 2:e331851128c1 21 #define CS_WIDE 1
TETSUYA 2:e331851128c1 22 #define CS_HIGH 2
TETSUYA 2:e331851128c1 23 #define CS_WH 3
TETSUYA 2:e331851128c1 24 #define CS_WHx36 4
TETSUYA 2:e331851128c1 25
TETSUYA 4:b68843c0269c 26
TETSUYA 4:b68843c0269c 27
TETSUYA 6:7c25a9403243 28 #define GAC_FILL_ENABLE_DISABLE 0x26 // �h��‚Ԃ��”ۃR�}���h
TETSUYA 4:b68843c0269c 29 #define GAC_DRAW_RECTANGLE 0x22 // Rectangle cmd
TETSUYA 6:7c25a9403243 30
TETSUYA 4:b68843c0269c 31 #define GAC_COPY_AREA 0x23 // Copy Area
TETSUYA 4:b68843c0269c 32 #define GAC_SCROLL_SETUP 0x27
TETSUYA 4:b68843c0269c 33 #define GAC_SCROLL_STOP 0x2E
TETSUYA 4:b68843c0269c 34 #define GAC_SCROLL_START 0x2F
TETSUYA 4:b68843c0269c 35
TETSUYA 2:e331851128c1 36 class SPIOLED96x64 : public Stream {
TETSUYA 2:e331851128c1 37 public:
TETSUYA 2:e331851128c1 38 // constructor
TETSUYA 2:e331851128c1 39 SPIOLED96x64(PinName cs_pin, PinName rst_pin, PinName a0_pin, PinName mosi_pin, PinName miso_pin, PinName sclk_pin);
TETSUYA 2:e331851128c1 40 #if DOXYGEN_ONLY
TETSUYA 2:e331851128c1 41 int putc(int c);
TETSUYA 2:e331851128c1 42 int printf(const char* format, ...);
TETSUYA 2:e331851128c1 43 #endif
TETSUYA 2:e331851128c1 44 void RegWrite(unsigned char Command);
TETSUYA 2:e331851128c1 45 void RegWriteM(unsigned char *Command, int count);
TETSUYA 2:e331851128c1 46 void DataWrite(unsigned char c);
TETSUYA 2:e331851128c1 47 void DataWrite_to(unsigned int Dat);
TETSUYA 2:e331851128c1 48
TETSUYA 2:e331851128c1 49 void Draw_Dot(int x,int y,unsigned int Color);
TETSUYA 2:e331851128c1 50
TETSUYA 2:e331851128c1 51 void Box(int x1,int y1, int x2, int y2, unsigned int Color, int fill);
TETSUYA 2:e331851128c1 52 void Fill_Screen(unsigned int Color);
TETSUYA 2:e331851128c1 53
TETSUYA 2:e331851128c1 54 void CS_Conv(int *lpx, int *lpy);
TETSUYA 2:e331851128c1 55 unsigned int ColorConv(unsigned int R,unsigned int G,unsigned int B);
TETSUYA 2:e331851128c1 56 void ChangeFontColor(unsigned int color);
TETSUYA 2:e331851128c1 57 void ChangeBGColor(unsigned int color);
TETSUYA 2:e331851128c1 58 void SetFontSize(int);
TETSUYA 2:e331851128c1 59 void locate(int column, int row);
TETSUYA 2:e331851128c1 60 int row();
TETSUYA 2:e331851128c1 61 int column();
TETSUYA 2:e331851128c1 62
TETSUYA 2:e331851128c1 63 void line( int x0,int y0,int x1,int y1, unsigned int fore_col ,int pat );
TETSUYA 2:e331851128c1 64 void circle (int radius, int x, int y , unsigned int col, int fill);
TETSUYA 2:e331851128c1 65 void Pattern(int x,int y,int width, int height, unsigned int *p);
TETSUYA 4:b68843c0269c 66 void GACEnable(int enable);
TETSUYA 6:7c25a9403243 67
TETSUYA 4:b68843c0269c 68 void Copy(int src_x1,int src_y1,int src_x2,int src_y2, int dst_x,int dst_y);
TETSUYA 4:b68843c0269c 69 void ScrollSet(int a, int b, int c, int d , int frame_interval);
TETSUYA 4:b68843c0269c 70 void Scroll(int enable);
TETSUYA 6:7c25a9403243 71
TETSUYA 2:e331851128c1 72 protected:
TETSUYA 2:e331851128c1 73 // Stream implementation functions
TETSUYA 2:e331851128c1 74 virtual int _putc( int c );
TETSUYA 2:e331851128c1 75 virtual int _getc();
TETSUYA 2:e331851128c1 76 private:
TETSUYA 2:e331851128c1 77 DigitalOut CS, RES, DC;
TETSUYA 2:e331851128c1 78 SPI spi; // mosi, miso, sclk
TETSUYA 2:e331851128c1 79
TETSUYA 2:e331851128c1 80 unsigned int Char_Color; // character's color
TETSUYA 2:e331851128c1 81 unsigned int BGround_Color;
TETSUYA 4:b68843c0269c 82 int GAC_Useflag;
TETSUYA 2:e331851128c1 83 int x_locate;
TETSUYA 2:e331851128c1 84 int y_locate;
TETSUYA 2:e331851128c1 85 int chr_size;
TETSUYA 2:e331851128c1 86 void Init(void);
TETSUYA 2:e331851128c1 87 void PutChar(int x,int y,unsigned int a);
TETSUYA 2:e331851128c1 88 unsigned int findface(unsigned short c);
TETSUYA 2:e331851128c1 89
TETSUYA 2:e331851128c1 90
TETSUYA 2:e331851128c1 91 };
TETSUYA 2:e331851128c1 92
TETSUYA 2:e331851128c1 93
TETSUYA 0:94eac1a165ab 94 #endif