Skip to content

Hemisphere Suite is alternate alternate firmware for Ornament and Crime, featuring a dual-applet framework with dozens of different modular functions.

Notifications You must be signed in to change notification settings

mcleinn/O_C-HemisphereSuite-for-SSD1309-2.4-inch-display

 
 

Repository files navigation

experimental-setup

Experimental branch!!!

EastRising's ER-OLEDM-024-2 does not seem to support more than 10MHz on the serial bus (according to datasheet & my own tests). If run with the original 30MHz, it will remain black.

So I am dynamically changing the of SPI bus frequency to 8MHz when display data is sent, DAC data is sent with the original 30MHz. The maximum ISR=DAC frequency is at the original 16.67kHz.

Secondly, I split the DMA page transfer (8 pages of 128 bytes per refresh) into 4 sub-pages, so the Teensy sends 8x4x32 bytes instead of 8x128 bytes per refresh. This allows to have a longer display transfer (8MHz is considerably slower than 30MHz), while not affecting the DAC.

To compensate for additional load on the CPU, I reduced the display refresh rate (REDRAW_TIMEOUT_MS) from 500Hz to 100Hz, which should not be noticeable to the eyes. I am not an embedded developer, however, so please let me know if you see any problems with this approach.

30/8 MHz SPI, 16kHz DAC, 100Hz display

30/8 MHz SPI, 16kHz DAC, 100Hz display

30/8 MHz SPI, 16kHz DAC, 500Hz display

30/8 MHz SPI, 16kHz DAC, 500Hz display

Original timing: 30MHz SPI, 16kHz DAC, 500Hz display

Original timing: 30MHz SPI, 16kHz DAC, 500Hz display

About

Hemisphere Suite is alternate alternate firmware for Ornament and Crime, featuring a dual-applet framework with dozens of different modular functions.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.0%
  • Python 0.9%
  • C 0.6%
  • Objective-C 0.2%
  • R 0.2%
  • Makefile 0.1%