Giter VIP home page Giter VIP logo

ssd_13xx's Introduction

SSD_13XX

A very fast and full featured driver for Solomon Systech SSD1331, SSD1332, SSD1322 and SSD1351 drivers designed mainly for Oled's compatible with Teensy's and many other MCU's. I have other 2 libraries here in github but have some issues and are quite old, this will replace both.

Current Version:

  • 1.0r2: SSD1331/SSD1332/SSD1351 tested only with various Teensy's and ESP8266 (Have to set SPI at 79.999.999!). If not work with other CPU please report only, I NEVER tested the code with other CPU's so I expect this, but remember that is a preview and things gonna change soon.

Driver description (what I should choose?):

  • SSD1331 is a full featured driver for 96x64 oled with a lot of useful registers and an hardware accellerated standalone scroll that I never seen in other drivers. This controller is currently supported.
  • SSD1332 is the 'low cost' version of SSD1331, much less features, less fast (but use some Hardware Accellerated primitives), no scrolling. This controller is currently supported.
  • SSD1322 used in some wide oled's.(in development)
  • SSD1351 Can drive 128x128 Oled's, doesn't have any Hardware Accellerated primitive (apart scrolling as SD1331), pretty featured. This controller is currently supported.

SSD1331 Currently my preferred one...

Uncomment in settings file: #include "../_display/SSD_1331_96x64.h" SSD1331
NOTE:works out of the box, no hardware configurations, very bright


SSD1331 RED PCB 0.96" Color Oled

Uncomment in settings file: #include "../_display/SSD_1331_REDPCB.h" SSD1331b
NOTE:This Oled needs to be configured for SPI (jumpers on the back) and you should connect D2,D3,D4,D5,D6,D7 to GND!


SSD1332

Uncomment in settings file: #include "../_display/SSD_1332_96x64.h" SSD1332
NOTE:This Oled needs to be configured for SPI (jumpers on the back) and you should connect D2,D3,D4,D5,D6,D7 to GND! I will not raccomand this, red color is still orange to me.


SSD1351 128x128

Uncomment in settings file: #include "../_display/SSD_1351_128x128.h" SSD1332


How to set driver:

You need to open _settings/SSD_13XX_settings.h with a text editor and uncomment the driver you want to use:
Es. #include "../_display/SSD_1331_96x64.h"

Driver that will never supported:

  • SSD_1306: This device need a completely different library since it have no internal framebuffer.

CPU Supported:

  • Teensy 3.0, 3.1, 3.2, 3.4, 3.5, LC
  • Teensy 2.0 and variant
  • Any AVR 8 bit (UNO, etc.)
  • Arduino DUE
  • ESP8266
  • SPARK (next versions)
  • Several ST (next versions)

Note: I currently will not support Arduino Zero, it's currently poor documented and it cost a fortune, I suggest a Teensy that is much cheaper, more featured and smaller!
However, this is open source an released with GNU V3 so you can fork library and add Zero support yourself as you respect the GNU licence and leave intact any comment.


Background:
I got my first SSD_1331 on Ebay, find a library compatible at Adafruit but I was extremely disappointed about performances/features and bugs, so I decided to write a new one from scratch based on my popular TFT_ILI9163C. Since this devices are very similar I have decided to build up an unique library.
I have 2 old libraries here on github, but digging inside datasheet I discover that I can get much more by rewrote almost everithing. As result I got all chip features enabled and it's probably the faster driver around, much more than adafruit and works with all features at any screen rotation by using all the time his hardware accellerated primitives
Commands and features are pretty similar to TFT_9163C,TFT_7735,TFT_ILI93XX last libraries here on github, of course there's differences related to hardware (OLED don't have backlight pin, etc.)


Features:

  • A display file for each oled, easy to customize.
  • Blazing fast, near chip hardware limits, expecially with Teensy's.
  • Any feature enabled for any rotation, using native hardware accellerated primitives.
  • Standard SPI & SPI transaction compatible, play nice with other SPI devices.
  • Many CPU supported.
  • Ultrafast Teensy's 3.0,3.1,3.2,3.4,3.5 SPI FIFO.
  • Fully SPI Transaction (where applicable), play nice with other SPI devices.
  • Almost all chip features supported.
  • LGPO Font accellerated rendering.
  • Icon support.
  • Image support.
  • Gradients.
  • Icon support (as seen in my last other libraries, use same icon file format).
  • Image support (as seen in my last other libraries, use same image file format).
  • User Font support (as seen in my last other libraries, use same font file format).
  • Uses TFT_ILI9163C command format that have many features and covers commands used in many libraries so it will be easy convert code to work with this one.

SSD1331/32 Unique commands: (differs from other libraries due different chip features)

  • copyArea: copy a portion of screen into another location (hardware acc.)
  • dimArea: dim a selected area (only SSD1331)
  • scroll: this chip has an standalone hardware scroll (only SSD1331 and SSD1351)
  • defineScrollArea: since scroll is hardware, all is defined inside this function)
  • moveArea: It move a defined area into another place (hardware acc.)
  • setColorDepth:8 or 16bit
  • setColorOrder:RGB or BGR (only SSD1331)
  • drawRect: the standard drawRect is provided, but this advanced version have borders. (hardware acc.) (only SSD1331/32)
  • mode:PWRSAVE It's almost equal to sleep, display goes off
  • mode:DISP_DIM The display goes in Dim mode (only SSD1331)
  • mode:PROTECT The chip logic don't accept any commands, just mode:NORMAL to goes off of protect mode.(only SSD1331)

Connections:
Of course some oled has just SPI exposed but some can be configured for parallel, I2C and so on. I'm using ONLY SPI here (so don't ask for any other protocol please).

  • RST Connect to +3v3 using a 4k7->10k resistor.
  • scl, sclk -> SCLK
  • sda, sdin -> MOSI
  • DC,RS ->DC pin on MCU
  • some oled has WR, RD. Leave floating...
  • some oled has D0...D7. Most of the times D0 and D1 are used for SPI, connect D2...D7 to GND or will be unstable!
  • VIN. Most oled support 5v, internally they have regulators, but follow specifications of your particular oled!
  • 3v3. This is 99% of the times an OUT! So do not use it.

Some notes, please read this, will save your time:

  • Even if your OLED can work at 5V, it cannot accept logic levels at 5V!!! All OLED accept logic levels at 3v3 so if you plan to use an AVR (like UNO) you need a level converted (like CD4050 or HCF4050 powered at 3v3, very cheap).
  • Do not use logic converters based on mosfet or similar or bidirectional ones (Adafruit and Sparkfun sell a lot of these), they are crap, waveforms are distorted and DO NOT USE PARTITION RESISTOR's for that, it's a bad idea, you can damage oled and cpu in the same time.
  • Most of you know already this but remember that Arduino UNO or similar can provide 3v3 but the logic levels are always at 5V!!!
  • The RST pin is not strictly necessary but if not used must pullup to 3v3, never leave float! When is necessary? When you develop a library for example but if you change libraries you may need a complete power cycle if you are not using this pin.
  • ESP8266 has very weak SPI, should be 3v3 but most of the times is much less so better avoid use any logic chip between it and oled, I spend days around a circuit before discovering this.
  • On ESP8266, from April 2016 the pin GPIO16 misteriously doesn't works as CS, don't ask me why. I'm currently using GPIO2 or GPIO4.
  • Since I'm using the fast SPI possible, keep wires short and remember to provide a decoupling capacitor for your oled.
  • If you plan to use SPI for other devices as well it's a good idea pullup the CS with a 10K resistor to +3v3, this will keep oled disabled until your CPU access it for initialization and avoid interferences.
  • It's always a good idea provide a pullup for each CS if multiple SPI devices are used, when CPU start all devices are forced disabled and CPU is able to access one by one and initialize all of them correctly, keep in mind and you will happy in the future!

Performances (SSD1331):
Early alpha was not working, only garbage on screen, it's here for just for reference
Alpha 1..2 was using absolute screen addressing (now abandoned)
Alpha 3..4 and beta's use hardware rotation addressing. (In Alpha 4 triangles rendering failed)
Beta 1..2 works and are usable, all function tested at any rotation.
CPU used for benchmarks: SSD1331, Teensy 3.2 at 96Mhz. Sketch:benchmarks_official.ino
Times are in Microseconds!

test Early alpha 1 alpha 2 alpha 3 alpha 4 beta 1 beta 2
Screen fill 409 809 807 809 808 507 406
Text 3983 3907 3963 3891 2357 2378 2270
Text2 9564 9368 9517 9332 5047 5057 4910
Lines 5576 10976 10978 10974 5561 299 277
Horiz/Vert Lines 6827 1800 1978 1964 1956 1954 1956
Rectangles (outline) 4508 8916 8919 8915 1126 1376 1123
Rectangles (filled) 4509 8924 8922 8920 1223 1499 1214
Circles (filled) 3635 18787 4488 4482 4481 4479 4481
Circles (outline) 4697 2851 2852 2849 2848 2847 2847
Triangles (outline) 517 505 508 504 503 204 183
Triangles (filled) 1916 11087 4284 4274 276 4274 4275
Rounded rects (outline) 1206 2942 1619 1586 1585 1587 1588
Rounded rects (filled) 10271 8184 5814 5807 5036 5241 5032
Icon Render 1404 1312

More or less, Beta 2 it's the release candidate, you can note how amazing fast in some operation, for example 406 microsec for a complete screen erase, 277 microsecs for the complete line test or the 183 microsec for the triangle test (remember that triangulation is used for 3d rendering as well, it should be fast), even text it's really fast. In comparison, for the Adafruit one I have to use milliseconds, it's amazing slow (even using the fast SPI mode). I will up a table comparison (for fun) whe I release out this one.


Licence:
Licensed under GNU V3.

ssd_13xx's People

Contributors

sumotoy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ssd_13xx's Issues

Does not work with more than one screen

With separate CS and DC or shared DC, shared CLK and DOUT, 2 screen will draw over each other displaying a combined picture of draw commands sent each of the display objects.

Works great on STM32L4

I just hooked this up to a Tindie_Tlera Ladybug and it is 18 times faster over a test suite that goes from 18323.891 ms down to 946.418 ms for a combined set of 18 tests - most just POP the image onto the screen! This is on an 80 MHz STM. The tests look like they run the same - but too fast to tell :)

It has room for optimization with #ifdef. Wondering (hoping) if you are back online Sumotoy and would take a PULL request if I got the changes done right?

Small things like it has twin SPI, can do 16 bit writes for color - and should have direct port writes to replace digitalWrite()'s that I didn't test yet. There may be others.

Terrific work! Great with ESP32

This lib is great and working well with ESP32 Devkit V1. Just remember to pull up the OLED CS line otherwise during power up the line will float and the display may not init properly.

Tip:

I use 3 x SSD1331 oleds in parallel on the SPI bus with shared CS and tied high RST. This arrangement highlights any startup reliability issues as sometimes 1 will fail indicating a problem with my circuit layout or timing. If all 3 constantly work as expected then I feel I'm good to go. I do the same with I2C.

Can't drawIcon an icon which width/height equal to the width/height of the OLED?

I am using SSD1331 OLED, it's a 96 x 64 OLED display. I want to print a 64 x 64 QR code on display, but I can't see anything on display. I looked up source code in SSD_13XX.cpp, and found this in line 1921:
if ((x + iWidth) * scale >= _width || (y + iHeight) * scale >= _height) return;//cannot be
When drawIcon is called, it always return, because my icon is:
static const tIcon qrcode1 = { image_data_qrcode1, 64, 64, 512, RLE_no };
That is the reason in my case. so can't I draw a height 64 icon? why? thanks a lot.

Arduino UNO connection with SSD1331 0.95inch RGB OLED from Waveshare?

I own a SSD1331 0.95inch RGB OLED from Waveshare (resolution 96x64, RGB, 65K colorful, specifications here.
I have been able to find how to connect pins on an Arduino UNO and the use of Adafruit library for Arduino allow me to display correctly (but very slow).
I cannot figure out how to connect it to use SSD_13XX. Compilation and upload of code to the UNO is okay but nothing is displayed (serial shows the appropriate text, so firmware is running). Is there some schema how to make the appropriate connection.
Thanks a lot.

Wemos D1 mini pro

Hi,
I used the SSD1331 from adafruit with a wemos d1 mini pro (ESP8266, CS on D3, DC on D0, RST with 4,7k on 5V)
Text is not readable (from tft.print("HHH") I see only the middle line of the H)
tft.drawLine(20, 20, 40, 40, BLUE) is visible, but tft.drawCircle and tft.drawRoundRect don't show anything.
Thank you for the lib and for your help.
Greetings

drawRect does not work if the rectangle ends at the last pixel of the screen

Hi. Great library, been using it a while.
Think I found a small bug in the drawRect method.
For instance tft.fillRect(120, 15, 8, 8, BLACK); works as expected, but
tft.drawRect(120, 15, 8, 8, BLACK) does not.
In the drawRect method I think the lines
if (x + w >= _width) return;
if (y + h >= _height) return;
should be
if (x + w > _width) return;
if (y + h > _height) return;
Don't know if this might mess up something else, but seems to be working fine for me.
Thank you for your work and your attention.

Custom Fonts

Hi!
Thankls for sharing this!
I got a small Issue, how can I load in a custom font? I managed it with adafruit GFX due to a webconverter. Now I am quite unsure how to get these .c files for fonts. Hopefully someone can help me?

Thank you

Just wanted to drop by and say "Thank you!". Got my OLED a couple of days ago, started to play around with the adafruit library and was very disappointed about the slow updates. Thought this could not be it, then I studied the datasheet, and found out that they were not utilizing the hardware to the fullest. Fortunately I googled for an alternative and found this.

Saved me days - thank you.

Feel free to close (github is missing a PM system)...

SSD1351 Showing white noise only

I've been successfully using this library for SSD1331 screens, but I recently got one with a SSD1351 controller (just like this one) and the screen does respond, turn on, but every frame is drawn like white noise.

I followed the instructions and uncommented the SSD1351 include and commented the other ones.

Support for ESP32?

Hi i tested the code / library on the esp32 the i2c scanner founds the display SSD13XX but nothing is shown on the display when i try to use an example code. on the eso8266 it runs smooth

thanks in advantage.

ESP32 on HSPI

Hi,
i tested your driver for ssd1351, very good!
have you this driver for work with spi2 (HSPI) of the ESP32?

Thanks
Umberto

mirrored text on ssd1332

Hi,
I'm using the library with a ssd1332, and text is mirrored, I can't seem to find anything in the code to mirror the text, have I missed something?

How to draw custom images

Hello, I didn't find any guide on how to draw own images. How can I do this? Sorry if I'm missing something.

How to reset display?

Hi, when the display is stuck (because of invalid garbage data received), it's really hard to reset it. Each time I wait until it discharges completely and it randomly begin to work again if I'm lucky (until next garbage data). How do you deal with it on your setup? I haven't noticed that problem with adafruit library while watching demo, but your lib is very fast so I would like to keep using it, the only problem is hard to reset (or maybe I'm doing something wrong?). Thank you.

Any support for SSD1322?

Hi there -- I'm trying to drive an SSD1322 OLED display as fast as possible using a Teensy 3.1 and, well, this library looks perfect. Faster than anything else I've tried, in theory. I just can't find any references to the 1322 in the released header files, though, and support for that chipset is still listed as "under development".

Has there been any development in this direction? Thanks!

Compilation Error with ESP8266 Sloeber IDE

Hi Max, thanks for your driver.
I am using the sloeber-eclipse-C IDE to compile my ESP8266 sketches. For now I got every Library runnig but I have some wired compile issues with your lib.
Can you be so kind and have a look on it?

Trying to compile the ESP8266 Basic Setup:

C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:67: error: 'RLE_no' undeclared here (not in a function)
static const tPicture eye0 = { image_data_eye0, 48, 48, 2304, 16, RLE_no};
^

C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: error: unknown type name 'tPicture'
static const tPicture eye0 = { image_data_eye0, 48, 48, 2304, 16, RLE_no};

COMPLETE STACK:
15:57:23 **** Incremental Build of configuration Release for project displaySmallColor ****
"C:\DEV\nodeMCU\sloeber\arduinoPlugin\tools\make\make" all
'Building file: ../.ino.cpp'
'Starting C++ compile'
"C:\DEV\nodeMCU\sloeber\arduinoPlugin\tools\esp8266\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:/DEV/nodeMCU/sloeber/arduinoPlugin/packages/esp8266/hardware/esp8266/2.1.0/tools/sdk/include" -c -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=160000000L -DARDUINO=10609 -DARDUINO_ESP8266_ESP12 -DARDUINO_ARCH_ESP8266 -DESP8266 -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\cores\esp8266" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\variants\nodemcu" -I"C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master" -I"C:\DEV\nodeMCU\ESP8266LibsNDriver\ESP8266Libs\Adafruit-GFX-Library-master" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\libraries\SPI" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\libraries\ESP8266WiFi" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\libraries\ESP8266WiFi\src" -MMD -MP -MF".ino.cpp.d" -MT".ino.cpp.o" -D__IN_ECLIPSE__=1 -x c++ "../.ino.cpp" -o ".ino.cpp.o" -Wall
'Finished building: ../.ino.cpp'
' '
'Building file: C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c'
'Starting C compile'
"C:\DEV\nodeMCU\sloeber\arduinoPlugin\tools\esp8266\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-gcc" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:/DEV/nodeMCU/sloeber/arduinoPlugin/packages/esp8266/hardware/esp8266/2.1.0/tools/sdk/include" -c -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections -DF_CPU=160000000L -DARDUINO=10609 -DARDUINO_ESP8266_ESP12 -DARDUINO_ARCH_ESP8266 -DESP8266 -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\cores\esp8266" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\variants\nodemcu" -I"C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master" -I"C:\DEV\nodeMCU\ESP8266LibsNDriver\ESP8266Libs\Adafruit-GFX-Library-master" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\libraries\SPI" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\libraries\ESP8266WiFi" -I"C:\DEV\nodeMCU\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.1.0\libraries\ESP8266WiFi\src" -MMD -MP -MF"SSD_13XX-master_images\eye\eye0.c.d" -MT"SSD_13XX-master_images\eye\eye0.c.o" -D__IN_ECLIPSE__=1 "C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c" -o "SSD_13XX-master_images\eye\eye0.c.o" -Wall
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:27:1: error: unknown type name 'uint16_t'
static const uint16_t image_data_eye0[2304]
^
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: error: unknown type name 'tPicture'
static const tPicture eye0 = { image_data_eye0, 48, 48, 2304, 16, RLE_no};
^
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: initialization makes integer from pointer without a cast [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: (near initialization for 'eye0') [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: excess elements in scalar initializer [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: (near initialization for 'eye0') [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: excess elements in scalar initializer [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: (near initialization for 'eye0') [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: excess elements in scalar initializer [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: (near initialization for 'eye0') [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: excess elements in scalar initializer [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: (near initialization for 'eye0') [enabled by default]
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:67: error: 'RLE_no' undeclared here (not in a function)
static const tPicture eye0 = { image_data_eye0, 48, 48, 2304, 16, RLE_no};
^
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: excess elements in scalar initializer [enabled by default]
static const tPicture eye0 = { image_data_eye0, 48, 48, 2304, 16, RLE_no};
^
C:\Users\wurst\Downloads\SSD_13XX-masterNew\SSD_13XX-master_images\eye\eye0.c:32:1: warning: (near initialization for 'eye0') [enabled by default]
SSD_13XX-master_images\eye/subdir.mk:72: recipe for target 'SSD_13XX-master_images\eye\eye0.c.o' failed
make: *** [SSD_13XX-master_images\eye\eye0.c.o] Error 1

15:57:25 Build Finished (took 1s.812ms)

Thanks

scrolling

I saw a comment that the scroll implementation is a work in progress, is that still true? I was unable to get it working.

I also saw this on youtube which is silky smooth scrolling: https://github.com/sumotoy/SSD_13XX/issues

is this something only the 32 can do via vspi or should the 8266 also be able to do this?

Nothing displaying

I have 2 different SSD1331s with 7 pins from two different vendors on Amazon. They work ok with Arduino Mega 2560 using adafruit library. When connecting to a Teensy 3.2 and using this library I get the serial output from basicTest but nothing shows up on the screen. I have SSD_1331_96x64.h uncommented in settings file. Suggestions? I also posted on the pjrc.com forum.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.