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

Committer:
TETSUYA
Date:
Wed Jan 12 07:47:32 2011 +0000
Revision:
2:e331851128c1
Parent:
0:94eac1a165ab
Child:
4:b68843c0269c
Ver 1.01

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