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

Committer:
TETSUYA
Date:
Tue Jan 11 07:29:40 2011 +0000
Revision:
0:94eac1a165ab
Child:
2:e331851128c1
OLED Control Lib ver1.00

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TETSUYA 0:94eac1a165ab 1 // ALO-095BWNN-J9 test program
TETSUYA 0:94eac1a165ab 2 // See also "http://www.aitendo.co.jp/product/2099"
TETSUYA 0:94eac1a165ab 3
TETSUYA 0:94eac1a165ab 4
TETSUYA 0:94eac1a165ab 5 #ifndef __SPIOLED96x64_H__
TETSUYA 0:94eac1a165ab 6 #define __SPIOLED96x64_H__
TETSUYA 0:94eac1a165ab 7
TETSUYA 0:94eac1a165ab 8 #include "mbed.h"
TETSUYA 0:94eac1a165ab 9 #include "small_font.h"
TETSUYA 0:94eac1a165ab 10
TETSUYA 0:94eac1a165ab 11 #define Dis_X_MAX 96-1 // Max X axial direction in screen
TETSUYA 0:94eac1a165ab 12 #define Dis_Y_MAX 64-1 // Max Y axial direction in screen
TETSUYA 0:94eac1a165ab 13 #define X_Witch 8 // character's width
TETSUYA 0:94eac1a165ab 14 #define Y_Witch 8 // character's height
TETSUYA 0:94eac1a165ab 15
TETSUYA 0:94eac1a165ab 16 #define CS_NORMAL 0
TETSUYA 0:94eac1a165ab 17 #define CS_WIDE 1
TETSUYA 0:94eac1a165ab 18 #define CS_HIGH 2
TETSUYA 0:94eac1a165ab 19 #define CS_WH 3
TETSUYA 0:94eac1a165ab 20 #define CS_WHx36 4
TETSUYA 0:94eac1a165ab 21
TETSUYA 0:94eac1a165ab 22 class SPIOLED96x64 : public Stream {
TETSUYA 0:94eac1a165ab 23 public:
TETSUYA 0:94eac1a165ab 24 // constructor
TETSUYA 0:94eac1a165ab 25 SPIOLED96x64(PinName cs_pin, PinName rst_pin, PinName a0_pin, PinName mosi_pin, PinName miso_pin, PinName sclk_pin);
TETSUYA 0:94eac1a165ab 26 #if DOXYGEN_ONLY
TETSUYA 0:94eac1a165ab 27 int putc(int c);
TETSUYA 0:94eac1a165ab 28 int printf(const char* format, ...);
TETSUYA 0:94eac1a165ab 29 #endif
TETSUYA 0:94eac1a165ab 30 void RegWrite(unsigned char Command);
TETSUYA 0:94eac1a165ab 31 void DataWrite(unsigned char c);
TETSUYA 0:94eac1a165ab 32 void DataWrite_to(unsigned int Dat);
TETSUYA 0:94eac1a165ab 33
TETSUYA 0:94eac1a165ab 34 void Draw_Dot(int x,int y,unsigned int Color);
TETSUYA 0:94eac1a165ab 35
TETSUYA 0:94eac1a165ab 36 void Box(int x1,int y1, int x2, int y2, unsigned int Color, int fill);
TETSUYA 0:94eac1a165ab 37 void Fill_Screen(unsigned int Color);
TETSUYA 0:94eac1a165ab 38
TETSUYA 0:94eac1a165ab 39 void CS_Conv(int *lpx, int *lpy);
TETSUYA 0:94eac1a165ab 40 unsigned int ColorConv(unsigned int R,unsigned int G,unsigned int B);
TETSUYA 0:94eac1a165ab 41 void ChangeFontColor(unsigned int color);
TETSUYA 0:94eac1a165ab 42 void ChangeBGColor(unsigned int color);
TETSUYA 0:94eac1a165ab 43 void SetFontSize(int);
TETSUYA 0:94eac1a165ab 44 //void putc(unsigned char c);
TETSUYA 0:94eac1a165ab 45 void locate(int column, int row);
TETSUYA 0:94eac1a165ab 46 int row();
TETSUYA 0:94eac1a165ab 47 int column();
TETSUYA 0:94eac1a165ab 48 void puts( char *s );
TETSUYA 0:94eac1a165ab 49
TETSUYA 0:94eac1a165ab 50 void line( int x0,int y0,int x1,int y1, unsigned int fore_col ,int pat );
TETSUYA 0:94eac1a165ab 51 void circle (int radius, int x, int y , unsigned int col, int fill);
TETSUYA 0:94eac1a165ab 52
TETSUYA 0:94eac1a165ab 53 protected:
TETSUYA 0:94eac1a165ab 54 // Stream implementation functions
TETSUYA 0:94eac1a165ab 55 virtual int _putc( int c );
TETSUYA 0:94eac1a165ab 56 virtual int _getc();
TETSUYA 0:94eac1a165ab 57 private:
TETSUYA 0:94eac1a165ab 58 DigitalOut CS, RES, DC;
TETSUYA 0:94eac1a165ab 59 SPI spi; // mosi, miso, sclk
TETSUYA 0:94eac1a165ab 60
TETSUYA 0:94eac1a165ab 61 unsigned int Char_Color; // character's color
TETSUYA 0:94eac1a165ab 62 unsigned int BGround_Color;
TETSUYA 0:94eac1a165ab 63 int x_locate;
TETSUYA 0:94eac1a165ab 64 int y_locate;
TETSUYA 0:94eac1a165ab 65 int chr_size;
TETSUYA 0:94eac1a165ab 66 void Init(void);
TETSUYA 0:94eac1a165ab 67 void PutChar(int x,int y,unsigned int a);
TETSUYA 0:94eac1a165ab 68 unsigned int findface(unsigned short c);
TETSUYA 0:94eac1a165ab 69
TETSUYA 0:94eac1a165ab 70
TETSUYA 0:94eac1a165ab 71 };
TETSUYA 0:94eac1a165ab 72
TETSUYA 0:94eac1a165ab 73
TETSUYA 0:94eac1a165ab 74 #endif