NucleoF446 re + SSD1331 simple Library

Dependents:   Nucleo_446 Nucleo446_SSD1331

Committer:
kadonotakashi
Date:
Thu Oct 11 01:58:04 2018 +0000
Revision:
0:9442efe129e7
Child:
1:85198abc3103
success to Initilize SSD1331

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:9442efe129e7 1 #ifndef MBEDLIB_SSD1331
kadonotakashi 0:9442efe129e7 2 #define MBEDLIB_SSD1331
kadonotakashi 0:9442efe129e7 3
kadonotakashi 0:9442efe129e7 4 #include "mbed.h"
kadonotakashi 0:9442efe129e7 5
kadonotakashi 0:9442efe129e7 6 #define PROGMEM
kadonotakashi 0:9442efe129e7 7
kadonotakashi 0:9442efe129e7 8 #include "gfxfont.h"
kadonotakashi 0:9442efe129e7 9 #include "./fonts/FreeMonoBold9pt7b.h"
kadonotakashi 0:9442efe129e7 10
kadonotakashi 0:9442efe129e7 11 #define NumOfFont 8
kadonotakashi 0:9442efe129e7 12
kadonotakashi 0:9442efe129e7 13 typedef struct{
kadonotakashi 0:9442efe129e7 14 GFXfont *pFnt;
kadonotakashi 0:9442efe129e7 15 char FontName[16];
kadonotakashi 0:9442efe129e7 16 }FontList;
kadonotakashi 0:9442efe129e7 17
kadonotakashi 0:9442efe129e7 18
kadonotakashi 0:9442efe129e7 19 class ssd1331
kadonotakashi 0:9442efe129e7 20 {
kadonotakashi 0:9442efe129e7 21 public:
kadonotakashi 0:9442efe129e7 22 ssd1331(PinName mosi,PinName miso,PinName sclk,PinName cs,PinName dc,PinName reset);
kadonotakashi 0:9442efe129e7 23 void Initssd1331();
kadonotakashi 0:9442efe129e7 24 void ClearScreen();
kadonotakashi 0:9442efe129e7 25 void DrawPix(uint16_t x,uint16_t y, uint16_t color);
kadonotakashi 0:9442efe129e7 26 void DrawLine( uint8_t xs, uint8_t ys, uint8_t xe, uint8_t ye, uint16_t color );
kadonotakashi 0:9442efe129e7 27 void DrawRectangle( uint8_t xs, uint8_t ys, uint8_t xe, uint8_t ye, uint16_t color );
kadonotakashi 0:9442efe129e7 28 void DrawRectangleFill( uint8_t xs, uint8_t ys, uint8_t xe, uint8_t ye, uint16_t line_color,uint16_t fill_color );
kadonotakashi 0:9442efe129e7 29 int put_charPattern(char CharCode,uint16_t CHAR_COLOR,uint16_t xs,uint16_t ys,int FontSel);
kadonotakashi 0:9442efe129e7 30 int PutString(int x,int y,char *string,uint16_t CharColor,int FontSel);
kadonotakashi 0:9442efe129e7 31
kadonotakashi 0:9442efe129e7 32 private:
kadonotakashi 0:9442efe129e7 33 SPI _spi;
kadonotakashi 0:9442efe129e7 34 DigitalOut _cs;
kadonotakashi 0:9442efe129e7 35 DigitalOut _dc;
kadonotakashi 0:9442efe129e7 36 DigitalOut _rst;
kadonotakashi 0:9442efe129e7 37 FontList FntList[NumOfFont];
kadonotakashi 0:9442efe129e7 38
kadonotakashi 0:9442efe129e7 39
kadonotakashi 0:9442efe129e7 40 void DataWr(uint8_t data);
kadonotakashi 0:9442efe129e7 41 void CmdWr(uint8_t Cmd);
kadonotakashi 0:9442efe129e7 42
kadonotakashi 0:9442efe129e7 43 };
kadonotakashi 0:9442efe129e7 44
kadonotakashi 0:9442efe129e7 45
kadonotakashi 0:9442efe129e7 46
kadonotakashi 0:9442efe129e7 47 #define WIDTH_1331 96
kadonotakashi 0:9442efe129e7 48 #define HEIGHT_1331 64
kadonotakashi 0:9442efe129e7 49
kadonotakashi 0:9442efe129e7 50 #define ColorMode8bit 0
kadonotakashi 0:9442efe129e7 51 #define ColorMode16bit 1
kadonotakashi 0:9442efe129e7 52
kadonotakashi 0:9442efe129e7 53 //SSD1331 Command
kadonotakashi 0:9442efe129e7 54 #define SSD1331_CMD_SetClmAddr 0x15
kadonotakashi 0:9442efe129e7 55 #define SSD1331_CMD_SetRawAddr 0x75
kadonotakashi 0:9442efe129e7 56
kadonotakashi 0:9442efe129e7 57 #define SSD1331_CMD_SetCntrstA 0x81
kadonotakashi 0:9442efe129e7 58 #define SSD1331_CMD_SetCntrstB 0x82
kadonotakashi 0:9442efe129e7 59 #define SSD1331_CMD_SetCntrstC 0x83
kadonotakashi 0:9442efe129e7 60
kadonotakashi 0:9442efe129e7 61 #define SSD1331_CMD_SetMstrCrrnt 0x87
kadonotakashi 0:9442efe129e7 62 #define SSD1331_CMD_SetPrChgSpeed 0x8A
kadonotakashi 0:9442efe129e7 63 #define SSD1331_CMD_SetChrgA 0x8A
kadonotakashi 0:9442efe129e7 64 #define SSD1331_CMD_SetChrgB 0x8B
kadonotakashi 0:9442efe129e7 65 #define SSD1331_CMD_SetChrgC 0x8C
kadonotakashi 0:9442efe129e7 66
kadonotakashi 0:9442efe129e7 67 #define SSD1331_CMD_SetRemap_DataFormat 0xA0
kadonotakashi 0:9442efe129e7 68
kadonotakashi 0:9442efe129e7 69 #define SSD1331_CMD_SetDspStrtLine 0xA1
kadonotakashi 0:9442efe129e7 70 #define SSD1331_CMD_SetDspOffset 0xA2
kadonotakashi 0:9442efe129e7 71 #define SSD1331_CMD_SetDspModeNorm 0xA4
kadonotakashi 0:9442efe129e7 72 #define SSD1331_CMD_SetDspModeDspOn 0xA5
kadonotakashi 0:9442efe129e7 73 #define SSD1331_CMD_SetDspModeDspOff 0xA6
kadonotakashi 0:9442efe129e7 74 #define SSD1331_CMD_SetDspModeInv 0xA7
kadonotakashi 0:9442efe129e7 75 #define SSD1331_CMD_SetMltplRatio 0xA8
kadonotakashi 0:9442efe129e7 76 #define SSD1331_CMD_DimModeSetting 0xAB
kadonotakashi 0:9442efe129e7 77 #define SSD1331_CMD_SetMstrCnfg 0xAD
kadonotakashi 0:9442efe129e7 78
kadonotakashi 0:9442efe129e7 79 #define SSD1331_CMD_SetDimModeOn 0xAC
kadonotakashi 0:9442efe129e7 80 #define SSD1331_CMD_SetDspOff 0xAE
kadonotakashi 0:9442efe129e7 81 #define SSD1331_CMD_SetDspOn 0xAF
kadonotakashi 0:9442efe129e7 82
kadonotakashi 0:9442efe129e7 83 #define SSD1331_CMD_PowerSave 0xB0
kadonotakashi 0:9442efe129e7 84 #define SSD1331_CMD_P1_P2_ADJ 0xB1
kadonotakashi 0:9442efe129e7 85 #define SSD1331_CMD_SetDispCLK 0xB3
kadonotakashi 0:9442efe129e7 86 #define SSD1331_CMD_SetGrayScale 0xB8
kadonotakashi 0:9442efe129e7 87 #define SSD1331_CMD_EnLinearScale 0xB9
kadonotakashi 0:9442efe129e7 88 #define SSD1331_CMD_SetPrChrgV 0xBB
kadonotakashi 0:9442efe129e7 89 #define SSD1331_CMD_SetVcomhV 0xBE
kadonotakashi 0:9442efe129e7 90 #define SSD1331_CMD_NOP 0xBC
kadonotakashi 0:9442efe129e7 91 #define SSD1331_CMD_SetCmdLock 0xFD
kadonotakashi 0:9442efe129e7 92
kadonotakashi 0:9442efe129e7 93 #define SSD1331_CMD_DrawLine 0x21
kadonotakashi 0:9442efe129e7 94 #define SSD1331_CMD_DrawRectangle 0x22
kadonotakashi 0:9442efe129e7 95 #define SSD1331_CMD_Copy 0x23
kadonotakashi 0:9442efe129e7 96 #define SSD1331_CMD_DimWindow 0x24
kadonotakashi 0:9442efe129e7 97 #define SSD1331_CMD_ClearWindow 0x25
kadonotakashi 0:9442efe129e7 98 #define SSD1331_CMD_FillEnable 0x26
kadonotakashi 0:9442efe129e7 99 #define SSD1331_CMD_SetScrol 0x27
kadonotakashi 0:9442efe129e7 100 #define SSD1331_CMD_DeactiveScrol 0x2E
kadonotakashi 0:9442efe129e7 101 #define SSD1331_CMD_ActiveScrol 0x2F
kadonotakashi 0:9442efe129e7 102
kadonotakashi 0:9442efe129e7 103
kadonotakashi 0:9442efe129e7 104 #define RGB565_WHITE (uint16_t)0xffff
kadonotakashi 0:9442efe129e7 105 #define RGB565_BLACK (uint16_t)0x0000
kadonotakashi 0:9442efe129e7 106 #define RGB565_RED (uint16_t)0xf800
kadonotakashi 0:9442efe129e7 107 #define RGB565_GREEN (uint16_t)0x07e0
kadonotakashi 0:9442efe129e7 108 #define RGB565_BLUE (uint16_t)0x001f
kadonotakashi 0:9442efe129e7 109 #define RGB565_MAGENTA (uint16_t)0xf81f
kadonotakashi 0:9442efe129e7 110 #define RGB565_YELLOW (uint16_t)0xffe0
kadonotakashi 0:9442efe129e7 111 #define RGB565_CYAN (uint16_t)0x07FF
kadonotakashi 0:9442efe129e7 112
kadonotakashi 0:9442efe129e7 113 #define RGB332_WHITE (uint8_t)0xff
kadonotakashi 0:9442efe129e7 114 #define RGB332_BLACK (uint8_t)0x00
kadonotakashi 0:9442efe129e7 115 #define RGB332_RED (uint8_t)0xe0
kadonotakashi 0:9442efe129e7 116 #define RGB332_GREEN (uint8_t)0x1c
kadonotakashi 0:9442efe129e7 117 #define RGB332_BLUE (uint8_t)0x03
kadonotakashi 0:9442efe129e7 118 #define RGB332_MAGENTA (uint8_t)0xe3
kadonotakashi 0:9442efe129e7 119 #define RGB332_YELLOW (uint8_t)0xfc
kadonotakashi 0:9442efe129e7 120 #define RGB332_CYAN (uint8_t)0x1f
kadonotakashi 0:9442efe129e7 121
kadonotakashi 0:9442efe129e7 122 #endif