Adafruit ssd1331 OLED 96x64 SPI model
Fork of OledLib by
Diff: spioled96x64.cpp
- Revision:
- 3:eab8d193745a
- Parent:
- 2:e331851128c1
- Child:
- 4:b68843c0269c
diff -r e331851128c1 -r eab8d193745a spioled96x64.cpp --- a/spioled96x64.cpp Wed Jan 12 07:47:32 2011 +0000 +++ b/spioled96x64.cpp Wed Jan 12 07:54:58 2011 +0000 @@ -1,9 +1,9 @@ // ALO-095BWNN-J9 test program // See also "http://www.aitendo.co.jp/product/2099" -// Ver1.00 Å®¬ -// Ver1.01 tHgðk6x8tHgÉÏXBè`gt@CàSpÆͪ£ -// tHg`æ[`ªPhbg·È®ÌðC³ -// CÓJ[p^[ð`æÅ«éæ¤ÉC³ +// Ver1.00 åçå®æ +// Ver1.01 ãã©ã³ããk6x8ãã©ã³ãã«å¤æ´ãå®ç¾©ï¼¨ãã¡ã¤ã«ãå ¨è§ã¨ã¯åé¢ +// ãã©ã³ãæç»ã«ã¼ãã³ãï¼ããããããªãåãã®ãä¿®æ£ +// ä»»æã«ã©ã¼ãã¿ã¼ã³ãæç»ã§ããããã«ä¿®æ£ #include "mbed.h" @@ -13,14 +13,14 @@ #define countof(x) ( sizeof(x) / sizeof(x[0]) ) -// RXgN^ +// ã³ã³ã¹ãã©ã¯ã¿ SPIOLED96x64::SPIOLED96x64(PinName cs_pin, PinName rst_pin, PinName a0_pin, PinName mosi_pin, PinName miso_pin, PinName sclk_pin) : CS(cs_pin), RES(rst_pin), DC(a0_pin), spi(mosi_pin, miso_pin, sclk_pin) { Init(); } -// CjVCU +// ã¤ãã·ã£ã©ã¤ã¶ void SPIOLED96x64::Init(void) { @@ -90,7 +90,7 @@ Fill_Screen(0); } -// WX^Cg +// ã¬ã¸ã¹ã¿ã©ã¤ã void SPIOLED96x64::RegWrite(unsigned char Command) { DC = 0; // Command @@ -98,7 +98,7 @@ spi.write(Command); CS = 1; } -// }`oCg WX^Ýè +// ãã«ããã¤ã ã¬ã¸ã¹ã¿è¨å® void SPIOLED96x64::RegWriteM(unsigned char *Command, int count) { int i; @@ -111,7 +111,7 @@ } -// f[^Cg +// ãã¼ã¿ã©ã¤ã void SPIOLED96x64::DataWrite(unsigned char c) { DC = 1; // DATA @@ -120,7 +120,7 @@ CS = 1; } -// 16rbg«Ý +// 16ãããæ¸ã込㿠void SPIOLED96x64::DataWrite_to(unsigned int Dat) { DC = 1; // DATA @@ -136,7 +136,7 @@ -// wèÀWÉwèFÅhbg`æ +// æå®åº§æ¨ã«æå®è²ã§ãããæç» void SPIOLED96x64::Draw_Dot(int x,int y,unsigned int Color) { unsigned char cmd[7]={0x15,0x00,0x00,0x75,0x00,0x00,0x00}; @@ -176,7 +176,7 @@ { chr_size = Csize; } -//@c¡Ì{¦Ï»ÊðÔ· +//ã縦横ã®åçå¤åéãè¿ã void SPIOLED96x64::CS_Conv(int *lpx,int *lpy) { switch( chr_size ){ @@ -205,9 +205,9 @@ } -// SpLN^Ì`æ -// AXL[LN^ÌÊuwè\¦(5x7dottHg) -// tHgÌÁ«ãAÅãÊrbg©çɪûüÉLq³êé +// å ¨è§ãã£ã©ã¯ã¿ã®æç»å¦ç +// ã¢ã¹ãã¼ãã£ã©ã¯ã¿ã®ä½ç½®æå®è¡¨ç¤º(5x7dotãã©ã³ã) +// ãã©ã³ãã®ç¹æ§ä¸ãæä¸ä½ãããããé ã«âæ¹åã«è¨è¿°ããã void SPIOLED96x64::PutChar(int x,int y,unsigned int a) { int i,j; @@ -237,7 +237,7 @@ } -// ¼zÖÅputcðÀ» +// ç´ç²ä»®æ³é¢æ°ã§putcãå®ç¾ int SPIOLED96x64::_putc( int c ) { static bool kstate = false; @@ -257,7 +257,7 @@ w = X_Witch; } else { p = c; - w = X_WitchASC; // ¼pÍßÚ·éÌÅAPhbg ¯é + w = X_WitchASC; // åè§ã¯è¿æ¥ããã®ã§ãï¼ãããããã } PutChar( x_locate , y_locate ,p); CS_Conv(&lpx, &lpy); @@ -266,7 +266,7 @@ /* if(kstate== false){ - //æÊE[ÅÌNbsO + //ç»é¢å³ç«¯ã§ã®ã¯ãªããã³ã° if(x_locate + (xsize - 1) >= Dis_X_MAX){ x_locate = 0; y_locate += Y_Witch; @@ -306,7 +306,7 @@ return x_locate; } -// SJIS¿R[he[u©çwèÌzñAhXðZo·é +// SJISæ¼¢åã³ã¼ããã¼ãã«ããæå®ã®é åã¢ãã¬ã¹ãç®åºãã unsigned int SPIOLED96x64::findface(unsigned short c) { unsigned int p = 0; @@ -321,7 +321,7 @@ return p; } -// qfa(555)ðRGB565lÉÏ· +// RGB(555)ãRGB565å¤ã«å¤æ // 00~1F(0~31) unsigned int SPIOLED96x64::ColorConv(unsigned int R,unsigned int G,unsigned int B) { @@ -338,7 +338,7 @@ ret = (bv << 11) + (gv << 5) + rv; return ret; } -// æÊÌwèFhèÂÔµwèÌæµ +// ç»é¢ã®æå®è²å¡ãã¤ã¶ãæå®é åã void SPIOLED96x64::Box(int x1,int y1, int x2, int y2, unsigned int Color, int fill) { unsigned char i,j; @@ -363,41 +363,41 @@ } } -// æÊÌwèFhèÂÔµ +// ç»é¢ã®æå®è²å¡ãã¤ã¶ã void SPIOLED96x64::Fill_Screen(unsigned int Color) { BGround_Color = Color; Box( 0,0, Dis_X_MAX, Dis_Y_MAX , Color , 1); } -// BresenhamÌüª¶ASY -// ®ÌÝÉæéüª`æ -// (x0,y0)-(x1,y1)ÖÌC`æ QÆ:http //www2.starcat.ne.jp/~fussy/algo/algo1-1.htm -// pat : 0:Àü 1:jü +// Bresenhamã®ç·åçºçã¢ã«ã´ãªãºã +// æ´æ°ã®ã¿ã«ããç·åæç» +// (x0,y0)-(x1,y1)ã¸ã®ã©ã¤ã³æç» åç §:http //www2.starcat.ne.jp/~fussy/algo/algo1-1.htm +// pat : 0:å®ç· 1:ç ´ç· void SPIOLED96x64::line( int x0, int y0, int x1, int y1, unsigned int fore_col ,int pat ) { int E,x,y; int dx,dy,sx,sy,i; int cl=1 ; - int clc=0; // jüpÌJE^ + int clc=0; // ç ´ç·ç¨ã®ã«ã¦ã³ã¿ - sx = ( x1 > x0 ) ? 1 : -1; // xÌÚ®ûü - dx = ( x1 > x0 ) ? x1 - x0 : x0 - x1; // xÌÚ®Ê - sy = ( y1 > y0 ) ? 1 : -1; // yÌÚ®ûü - dy = ( y1 > y0 ) ? y1 - y0 : y0 - y1; // yÌÚ®Ê + sx = ( x1 > x0 ) ? 1 : -1; // xã®ç§»åæ¹å + dx = ( x1 > x0 ) ? x1 - x0 : x0 - x1; // xã®ç§»åé + sy = ( y1 > y0 ) ? 1 : -1; // yã®ç§»åæ¹å + dy = ( y1 > y0 ) ? y1 - y0 : y0 - y1; // yã®ç§»åé x = x0; y = y0; if( dx >= dy ) { - /* X«ª1ȺÌê */ + /* å¾ãã1以ä¸ã®å ´å */ E = -dx; for( i = 0; i <= dx; i++ ) { switch( pat ) { - case 0: // Àü + case 0: // å®ç· cl = fore_col; break; - default: // jü + default: // ç ´ç· if ( clc>=3 ) { if ( cl==fore_col ) cl=BGround_Color; else cl=fore_col; @@ -417,14 +417,14 @@ } } }else{ - /* X«ª1æèå«¢ê */ + /* å¾ãã1ãã大ããå ´å */ E = -dy; for( i = 0; i <= dy; i++ ) { switch( pat ) { - case 0: // Àü + case 0: // å®ç· cl = fore_col; break; - default: // jü + default: // ç ´ç· if ( clc>=3 ) { if ( cl==fore_col ) cl=BGround_Color; else cl=fore_col; @@ -446,9 +446,9 @@ } } -// ~b`Fi[(Miechener) Ì~`æ Ql:http://dencha.ojaru.jp/programs_07/pg_graphic_09a1.html -// x,y : S_ -// radius: ¼a +// ãããã§ãã¼(Miechener) ã®åæç» åè:http://dencha.ojaru.jp/programs_07/pg_graphic_09a1.html +// x,y : ä¸å¿ç¹ +// radius: åå¾ void SPIOLED96x64::circle (int radius, int x, int y , unsigned int col, int fill) { int cx, cy, d; @@ -456,11 +456,11 @@ d = 3 - 2 * radius; cy = radius; - // úÀWð 究ß`æ·é - Draw_Dot( x, radius+y, col ); // ÀW ( 0, R ); - Draw_Dot( x, -radius+y, col ); // ÀW ( 0, -R); - Draw_Dot( radius+x, y, col ); // ÀW ( R, 0 ); - Draw_Dot( -radius+x, y, col ); // ÀW (-R, 0); + // åæ座æ¨ããããããæç»ãã + Draw_Dot( x, radius+y, col ); // åº§æ¨ ( 0, R ); + Draw_Dot( x, -radius+y, col ); // åº§æ¨ ( 0, -R); + Draw_Dot( radius+x, y, col ); // åº§æ¨ ( R, 0 ); + Draw_Dot( -radius+x, y, col ); // åº§æ¨ (-R, 0); if ( fill ) { line( x, radius+y, x, -radius+y, col ,0 ); line( radius+x, y, -radius+x, y, col ,0 ); @@ -474,34 +474,34 @@ d += 6 + 4 * cx; } - // `æ - Draw_Dot( cy + x, cx + y, col); // 0-45 xÌÔ - Draw_Dot( cx + x, cy + y, col); // 45-90 xÌÔ - Draw_Dot( -cx + x, cy + y, col); // 90-135 xÌÔ - Draw_Dot( -cy + x, cx + y, col); // 135-180 xÌÔ + // æç» + Draw_Dot( cy + x, cx + y, col); // 0-45 度ã®é + Draw_Dot( cx + x, cy + y, col); // 45-90 度ã®é + Draw_Dot( -cx + x, cy + y, col); // 90-135 度ã®é + Draw_Dot( -cy + x, cx + y, col); // 135-180 度ã®é - Draw_Dot( -cy + x, -cx + y, col); // 180-225 xÌÔ - Draw_Dot( -cx + x, -cy + y, col); // 225-270 xÌÔ - Draw_Dot( cx + x, -cy + y, col); // 270-315 xÌÔ - Draw_Dot( cy + x, -cx + y, col); // 315-360 xÌÔ + Draw_Dot( -cy + x, -cx + y, col); // 180-225 度ã®é + Draw_Dot( -cx + x, -cy + y, col); // 225-270 度ã®é + Draw_Dot( cx + x, -cy + y, col); // 270-315 度ã®é + Draw_Dot( cy + x, -cx + y, col); // 315-360 度ã®é if ( fill ) { line( cy + x, cx + y, cy + x, -cx + y, col ,0 ); - line( cx + x, cy + y, cx + x, -cy + y, col ,0 ); // 45-90 xÌÔ - line( -cx + x, cy + y, -cx + x, cy + y, col ,0 ) ; // 90-135 xÌÔ - line( -cy + x, cx + y, -cy + x, cx + y, col ,0 ); // 135-180 xÌÔ + line( cx + x, cy + y, cx + x, -cy + y, col ,0 ); // 45-90 度ã®é + line( -cx + x, cy + y, -cx + x, cy + y, col ,0 ) ; // 90-135 度ã®é + line( -cy + x, cx + y, -cy + x, cx + y, col ,0 ); // 135-180 度ã®é - line( -cy + x, -cx + y, -cy + x, cx + y, col ,0 ); // 180-225 xÌÔ - line( -cx + x, -cy + y, -cx + x, cy + y, col ,0 ); // 225-270 xÌÔ - line( cx + x, -cy + y, cx + x, cy + y, col ,0 ); // 270-315 xÌÔ - line( cy + x, -cx + y, cy + x, cx + y, col ,0 ); // 315-360 xÌÔ + line( -cy + x, -cx + y, -cy + x, cx + y, col ,0 ); // 180-225 度ã®é + line( -cx + x, -cy + y, -cx + x, cy + y, col ,0 ); // 225-270 度ã®é + line( cx + x, -cy + y, cx + x, cy + y, col ,0 ); // 270-315 度ã®é + line( cy + x, -cx + y, cy + x, cx + y, col ,0 ); // 315-360 度ã®é } } } // Color Pattern -// pattern *P ÍqfaTUT(QoCg^)Ìf[^zñÅn· +// pattern *P ã¯ï¼²ï¼§ï¼¢ï¼ï¼ï¼(ï¼ãã¤ãå)ã®ãã¼ã¿é åã§æ¸¡ã void SPIOLED96x64::Pattern(int x,int y,int width, int height, unsigned int *p) { @@ -517,4 +517,3 @@ -