SSD1306 OLED display driver 1.7.8 This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays

Public Member Functions | List of all members
NanoEngine1_8 Class Reference
NANO_ENGINE: Nano Engine description

`#include <nano_engine.h>`

Inheritance diagram for NanoEngine1_8:

## Public Member Functions
| NanoEngine1_8 ()
Public Member Functions inherited from NanoEngine< TILE_8x8_MONO_8 >
| NanoEngine ()
Public Member Functions inherited from NanoEngineTiler< TILE_8x8_MONO_8, W, H, B >
const NanoPoint & | getPosition () const

## Additional Inherited Members
Static Public Member Functions inherited from NanoEngine< TILE_8x8_MONO_8 >
static void | display ()
| refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update the screen. Engine will update only those areas, which are marked by refresh() methods.
static void | begin ()
static void | notify (const char *str)
| shows notification to a user for 1 seconds Shows notification to a user for 1 seconds More...
Static Public Member Functions inherited from NanoEngineCore
static void | begin ()
static void | setFrameRate (uint8_t fps)
static uint8_t | getFrameRate ()
static uint8_t | getCpuLoad ()
static bool | nextFrame ()
static void | loopCallback (TLoopCallback callback)
Static Public Member Functions inherited from NanoEngineInputs
static bool | pressed (uint8_t buttons)
| Returns true if button or specific combination of buttons is not pressed. Returns true if button or specific combination of buttons is pressed. More...
static bool | notPressed (uint8_t buttons)
| Returns true if button or specific combination of buttons is not pressed. Returns true if button or specific combination of buttons is not pressed. More...
static uint8_t | buttonsState ()
| Returns bits of all pressed buttons. More...
static void | connectCustomKeys (TNanoEngineGetButtons handler)
static void | connectZKeypad (uint8_t analogPin)
| Enables engine to use Z-Keypad. Enables engine to use Z-Keypad. Please refer to arkanoid example for schematics. More...
static void | connectArduboyKeys ()
| Configures NanoEngine8 to use Arduboy keys layout. Configures NanoEngine8 to use Arduboy keys layout.
static void | connectGpioKeypad (const uint8_t *gpioKeys)
| Enables engine to use GPIO keys. More...
Static Public Member Functions inherited from NanoEngineTiler< TILE_8x8_MONO_8, W, H, B >
static void | refresh ()
static void | refresh (const NanoRect &rect)
static void | refresh (const NanoPoint &point)
static void | refresh (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
static void | refreshWorld (const NanoRect &rect)
static void | refreshWorld (lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
static void | refreshWorld (const NanoPoint &point)
static void | localCoordinates ()
static void | worldCoordinates ()
static void | moveTo (const NanoPoint &position)
static void | moveToAndRefresh (const NanoPoint &position)
static void | drawCallback (TNanoEngineOnDraw callback)
static bool | collision (NanoPoint &p, NanoRect &rect)
| Returns true if point is inside the rectangle area. Returns true if point is inside the rectangle area. More...
Static Public Attributes inherited from NanoEngineTiler< TILE_8x8_MONO_8, W, H, B >
static const uint8_t | NE_TILE_SIZE_BITS
static const uint8_t | NE_TILE_WIDTH
static const uint8_t | NE_TILE_HEIGHT
static const uint8_t | NE_MAX_TILES_NUM
static TILE_8x8_MONO_8 | canvas
Protected Member Functions inherited from NanoEngineInputs
| NanoEngineInputs ()
Protected Member Functions inherited from NanoEngineTiler< TILE_8x8_MONO_8, W, H, B >
| NanoEngineTiler ()
Static Protected Member Functions inherited from NanoEngineTiler< TILE_8x8_MONO_8, W, H, B >
static void | displayBuffer ()
| refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update the screen. Engine will update only those areas, which are marked by refresh() methods.
static void | displayPopup (const char *msg)
| prints popup message over display content prints popup message over display content More...
Static Protected Attributes inherited from NanoEngineCore
static uint8_t | m_frameDurationMs
static uint8_t | m_fps
static uint8_t | m_cpuLoad
static uint32_t | m_lastFrameTs
static TLoopCallback | m_loop
Static Protected Attributes inherited from NanoEngineInputs
static TNanoEngineGetButtons | m_onButtons
Static Protected Attributes inherited from NanoEngineTiler< TILE_8x8_MONO_8, W, H, B >
static uint16_t | m_refreshFlags [NE_MAX_TILES_NUM]
static TNanoEngineOnDraw | m_onDraw

## Detailed Description

NanoEngine1 is simple graphics engine, that implements double buffering work for the systems with very low resources. That is, memory buffer for SSD1306 oled display needs at least 128x64/8 bytes (1024 bytes), and this is inacceptable for microcontrollers like attiny85 (it has only 512B of RAM). So, to workaround issue with low resources, NanoEngine1 uses small tile buffer (NE_TILE_SIZE x NE_TILE_SIZE) and updates only part of oled screen at once. It makes system slow, but it is possible to run NanoEngine1 on simple controllers. If tile size is 32x32, then 128x64 oled display is devided into 8 tiles:
[0,0] [1,0] [2,0], [3,0]
[0,1] [1,1] [2,1], [3,1]
In your application you can choose, if you want to refresh whole screen (refresh()), or you need to refresh only part of oled display.

Warning
  Works only in RGB 8-bit color mode

Definition at line 99 of file nano_engine.h.

## Constructor & Destructor Documentation

## ◆ NanoEngine1_8()

NanoEngine1_8::NanoEngine1_8 | ( |  | ) |
| inline

Creates new Graphics Engine object.

Definition at line 105 of file nano_engine.h.

The documentation for this class was generated from the following file:

- src/nano_engine.h