Adaptation of the uOLED 96x96 graphics library to uOLED-128-G1. DataSheet: https://www.farnell.com/datasheets/356896.pdf https://4dsystems.com.au/

Dependents:   uOLED-128-G1-CLASS-DEMO

Adaptation of the uOLED 96x96 graphics library to uOLED-128-G1. For edit color use : https://www.mathsisfun.com/hexadecimal-decimal-colors.html

Demo program vaible here : https://os.mbed.com/users/cdupaty/code/uOLED-128-G1-CLASS-DEMO/

DataSheet: https://www.farnell.com/datasheets/356896.pdf

https://4dsystems.com.au/

https://os.mbed.com/media/uploads/cdupaty/uoled-128-g1.jpg

Connexions

https://os.mbed.com/media/uploads/cdupaty/uoled22_-medium-.jpg https://os.mbed.com/media/uploads/cdupaty/uoled11_-medium-.jpg

Video demo from Youtube

https://youtu.be/QGD0pg0KP_E

main.cpp for testing

https://os.mbed.com/media/uploads/cdupaty/main.cpp

Committer:
cdupaty
Date:
Sun Mar 14 10:57:53 2021 +0000
Revision:
32:3fd1e54faf79
STM32 adaptation by Christian Dupaty 03/2021

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cdupaty 32:3fd1e54faf79 1 /*******************************************************************************
cdupaty 32:3fd1e54faf79 2 4D LABS PTY. LTD. COPYRIGHT 2009.
cdupaty 32:3fd1e54faf79 3 THIS SOFTWARE IS PROVIDED "AS IS." 4D LABS EXPRESSLY DISCLAIM ANY WARRANTY OF
cdupaty 32:3fd1e54faf79 4 ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED
cdupaty 32:3fd1e54faf79 5 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT.
cdupaty 32:3fd1e54faf79 6 IN NO EVENT SHALL 4D LABS BE LIABLE FOR ANY INCIDENTAL, SPECIAL,
cdupaty 32:3fd1e54faf79 7 INDIRECT OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, HARM TO YOUR
cdupaty 32:3fd1e54faf79 8 EQUIPMENT, COST OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY
cdupaty 32:3fd1e54faf79 9 CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENCE THEREOF), ANY
cdupaty 32:3fd1e54faf79 10 CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER SIMILAR COSTS.
cdupaty 32:3fd1e54faf79 11 *******************************************************************************/
cdupaty 32:3fd1e54faf79 12 /*******************************************************************************
cdupaty 32:3fd1e54faf79 13 Name: GOLDELOX-SGC Host Serial Commands Definitions
cdupaty 32:3fd1e54faf79 14 File Name: GSGCdef.h
cdupaty 32:3fd1e54faf79 15 Description: Host Serial Interface Commands Definitions
cdupaty 32:3fd1e54faf79 16 *******************************************************************************/
cdupaty 32:3fd1e54faf79 17 #ifndef GSGC_DEF_H
cdupaty 32:3fd1e54faf79 18 #define GSGC_DEF_H
cdupaty 32:3fd1e54faf79 19 // GSGC PROTOCOL CONSTANTS
cdupaty 32:3fd1e54faf79 20 #define ACK 0x06 // Acknowledge
cdupaty 32:3fd1e54faf79 21 #define NAK 0x15 // Not Acknowledge
cdupaty 32:3fd1e54faf79 22 // GSGC SWITCH-JOYSTICK CONSTANTS
cdupaty 32:3fd1e54faf79 23 #define SW1_UP 0x10 // SW1 or Joystick UP
cdupaty 32:3fd1e54faf79 24 #define SW2_LEFT 0x20 // SW2 or Joystick LEFT
cdupaty 32:3fd1e54faf79 25 #define SW3_DOWN 0x30 // SW3 or Joystick DOWN
cdupaty 32:3fd1e54faf79 26 #define SW4_RIGHT 0x40 // SW4 or Joystick RIGHT
cdupaty 32:3fd1e54faf79 27 #define SW5_FIRE 0x50 // SW5 or Joystick FIRE
cdupaty 32:3fd1e54faf79 28 // GSGC GRAPHICS CONSTANTS
cdupaty 32:3fd1e54faf79 29 #define COLOR8 0x08 // 8 bit Colour Mode
cdupaty 32:3fd1e54faf79 30 #define COLOR16 0x10 // 16 bit Colour Mode
cdupaty 32:3fd1e54faf79 31 #define BUTTONUP 0x01 // Button Up Mode
cdupaty 32:3fd1e54faf79 32 #define BUTTONDOWN 0x00 // Button Down Mode
cdupaty 32:3fd1e54faf79 33 #define RED 0xF800 // RED
cdupaty 32:3fd1e54faf79 34 #define GREEN 0x07E0 // GREEN
cdupaty 32:3fd1e54faf79 35 #define BLUE 0x001F // BLUE
cdupaty 32:3fd1e54faf79 36 #define BLACK 0x0000 // BLACK
cdupaty 32:3fd1e54faf79 37 #define WHITE 0xFFFF // WHITE
cdupaty 32:3fd1e54faf79 38 // GSGC TEXT CONSTANTS
cdupaty 32:3fd1e54faf79 39 #define FONT1 0x00 // 5x7 Internal Font
cdupaty 32:3fd1e54faf79 40 #define FONT2 0x01 // 8x8 Internal Font
cdupaty 32:3fd1e54faf79 41 #define FONT3 0x02 // 8x12 Internal Font
cdupaty 32:3fd1e54faf79 42 // GSGC GENERAL COMMANDS DEFINITIONS
cdupaty 32:3fd1e54faf79 43 #define GSGC_AUTOBAUD 0x55 // Auto Baud Command
cdupaty 32:3fd1e54faf79 44 #define GSGC_VERSION 0x56 // Device Info Request
cdupaty 32:3fd1e54faf79 45 #define GSGC_BACKGND 0x42 // Change Background Colour
cdupaty 32:3fd1e54faf79 46 #define GSGC_CLS 0x45 // Clear Screen
cdupaty 32:3fd1e54faf79 47 #define GSGC_DISPCONT 0x59 // Display Control Functions
cdupaty 32:3fd1e54faf79 48 #define GSGC_SWITCHSTAT 0x4A // Get Switch-Buttons Status
cdupaty 32:3fd1e54faf79 49 #define GSGC_SWITCHSTATWAIT 0x6A // Get Switch-Buttons Status with Timeout
cdupaty 32:3fd1e54faf79 50 #define GSGC_SOUND 0x4E // Generate a Tone
cdupaty 32:3fd1e54faf79 51 // GSGC GRAPHICS COMMANDS DEFINITIONS
cdupaty 32:3fd1e54faf79 52 #define GSGC_ADDBM 0x41 // Add User Bitmap
cdupaty 32:3fd1e54faf79 53 #define GSGC_CIRCLE 0x43 // Draw Circle
cdupaty 32:3fd1e54faf79 54 #define GSGC_BM 0x44 // Draw User Bitmap
cdupaty 32:3fd1e54faf79 55 #define GSGC_TRIANGLE 0x47 // Draw Triangle
cdupaty 32:3fd1e54faf79 56 #define GSGC_IMAGE 0x49 // Draw Image-Icon
cdupaty 32:3fd1e54faf79 57 #define GSGC_LINE 0x4C // Draw Line
cdupaty 32:3fd1e54faf79 58 #define GSGC_PIXEL 0x50 // Draw Pixel
cdupaty 32:3fd1e54faf79 59 #define GSGC_RDPIXEL 0x52 // Read Pixel
cdupaty 32:3fd1e54faf79 60 #define GSGC_SCRNCOPYPASTE 0x63 // Screen Copy-Paste
cdupaty 32:3fd1e54faf79 61 #define GSGC_POLYGON 0x67 // Draw Polygon
cdupaty 32:3fd1e54faf79 62 #define GSGC_SETPEN 0x70 // Set Pen Size
cdupaty 32:3fd1e54faf79 63 #define GSGC_RECTANGLE 0x72 // Draw Rectangle
cdupaty 32:3fd1e54faf79 64 // GSGC TEXT COMMANDS DEFINITIONS
cdupaty 32:3fd1e54faf79 65 #define GSGC_SETFONT 0x46 // Set Font
cdupaty 32:3fd1e54faf79 66 #define GSGC_SETOPAQUE 0x4F // Set Transparent-Opaque Text
cdupaty 32:3fd1e54faf79 67 #define GSGC_STRINGGFX 0x53 // “String” of ASCII Text (graphics format)
cdupaty 32:3fd1e54faf79 68 #define GSGC_CHARTXT 0x54 // ASCII Character (text format)
cdupaty 32:3fd1e54faf79 69 #define GSGC_BUTTONTXT 0x62 // Text Button
cdupaty 32:3fd1e54faf79 70 #define GSGC_STRINGTXT 0x73 // “String” of ASCII Text (text format)
cdupaty 32:3fd1e54faf79 71 #define GSGC_CHARGFX 0x74 // ASCII Character (graphics format)
cdupaty 32:3fd1e54faf79 72 // GSGC EXTENDED COMMANDS HEADER DEFINITION
cdupaty 32:3fd1e54faf79 73 #define GSGC_EXTCMD 0x40 // Extended Command Header
cdupaty 32:3fd1e54faf79 74 // GSGC MEMORY CARD COMMANDS DEFINITIONS
cdupaty 32:3fd1e54faf79 75 #define GSGC_MCAP 0x41 // Set Address Pointer of Memory Card
cdupaty 32:3fd1e54faf79 76 #define GSGC_MCCOPYSAVE 0x43 // Screen Copy-Save to Memory Card
cdupaty 32:3fd1e54faf79 77 #define GSGC_MCIMAGE 0x49 // Display Image-Icon from Memory Card
cdupaty 32:3fd1e54faf79 78 #define GSGC_MCOBJ 0x4F // Display Object from Memory Card
cdupaty 32:3fd1e54faf79 79 #define GSGC_MCRUN 0x50 // Run Script (4DSL) Program from Card
cdupaty 32:3fd1e54faf79 80 #define GSGC_MCRDSECTOR 0x52 // Read Sector Block Data from Memory Card
cdupaty 32:3fd1e54faf79 81 #define GSGC_MCVIDEO 0x56 // Display Video Clip from Memory Card
cdupaty 32:3fd1e54faf79 82 #define GSGC_MCWRSECTOR 0x57 // Write Sector Block Data to Memory Card
cdupaty 32:3fd1e54faf79 83 #define GSGC_MCINIT 0x69 // Initialise Memory Card
cdupaty 32:3fd1e54faf79 84 #define GSGC_MCRDBYTE 0x72 // Read Byte Data from Memory Card
cdupaty 32:3fd1e54faf79 85 #define GSGC_MCWRBYTE 0x77 // Write Byte Data to Memory Card
cdupaty 32:3fd1e54faf79 86 // GSGC SCRIPTING COMMANDS DEFINITIONS
cdupaty 32:3fd1e54faf79 87 #define GSGC_MCAP 0x41 // Set Address Pointer of Memory Card
cdupaty 32:3fd1e54faf79 88 #define GSGC_DELAY 0x07 // Delay
cdupaty 32:3fd1e54faf79 89 #define GSGC_SETCNTR 0x08 // Set Counter
cdupaty 32:3fd1e54faf79 90 #define GSGC_DECCNTR 0x09 // Decrement Counter
cdupaty 32:3fd1e54faf79 91 #define GSGC_JMPNZ 0x0A // Jump to Address If Counter Not Zero
cdupaty 32:3fd1e54faf79 92 #define GSGC_JMP 0x0B // Jump to Address
cdupaty 32:3fd1e54faf79 93 #define GSGC_EXIT 0x0C // Exit-Terminate Script Program
cdupaty 32:3fd1e54faf79 94 // DIVERS
cdupaty 32:3fd1e54faf79 95 #define SOLID 0
cdupaty 32:3fd1e54faf79 96 #define EMPTY 1
cdupaty 32:3fd1e54faf79 97 #define TRANSPARENT 0
cdupaty 32:3fd1e54faf79 98 #define OPAQUE 1
cdupaty 32:3fd1e54faf79 99 #define UP 1
cdupaty 32:3fd1e54faf79 100 #define DOWN 0
cdupaty 32:3fd1e54faf79 101 #endif