NucleoF446 re + SSD1331 simple Library
Dependents: Nucleo_446 Nucleo446_SSD1331
ssd1331.h@0:9442efe129e7, 2018-10-11 (annotated)
- 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?
User | Revision | Line number | New 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 |