SSD1306 OLED display driver  1.8.2
This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays
Static Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
NanoEngineInputs Class Reference

#include <core.h>

Inheritance diagram for NanoEngineInputs:
NanoEngineCore NanoEngine< C, W, H, B > NanoEngine< TILE_8x8_MONO_8 > NanoEngine1_8

Static Public Member Functions

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...
 

Protected Member Functions

 NanoEngineInputs ()
 

Static Protected Attributes

static TNanoEngineGetButtons m_onButtons
 

Detailed Description

Class for keys processing functionality

Definition at line 64 of file core.h.

Constructor & Destructor Documentation

◆ NanoEngineInputs()

NanoEngineInputs::NanoEngineInputs ( )
inlineprotected

Initializes Nano Engine Inputs object.

Definition at line 70 of file core.h.

Member Function Documentation

◆ buttonsState()

static uint8_t NanoEngineInputs::buttonsState ( )
inlinestatic

Returns bits of all pressed buttons.

Returns bits of all pressed buttons. For example, to check if Down button is pressed you need to write if (result & BUTTON_DOWN) {}. Available constants are: BUTTON_DOWN, BUTTON_LEFT, BUTTON_RIGHT, BUTTON_UP, BUTTON_A, BUTTON_B.

Definition at line 96 of file core.h.

◆ connectCustomKeys()

static void NanoEngineInputs::connectCustomKeys ( TNanoEngineGetButtons  handler)
static

Configures NanoEngine8 to use custom key handler. You can implement in your handler any keyboard layout, you use in your schematics.

◆ connectGpioKeypad()

static void NanoEngineInputs::connectGpioKeypad ( const uint8_t *  gpioKeys)
static

Enables engine to use GPIO keys.

Enables engine to use gpio-keys. You need to pass globally defined array, containing GPIO pin numbers for the 6 buttons in the following order: Down, Left, Right, Up, A, B. If you don't want to use some specific button, then just set not used button to 0. Once you call this function, you can read buttons state via buttonsState().

Parameters
gpioKeyspointer to 6-button pins array.
See also
buttonsState()

◆ connectZKeypad()

static void NanoEngineInputs::connectZKeypad ( uint8_t  analogPin)
static

Enables engine to use Z-Keypad. Enables engine to use Z-Keypad. Please refer to arkanoid example for schematics.

Parameters
analogPin- pin, which Z-Keypad is connected to.

◆ notPressed()

static bool NanoEngineInputs::notPressed ( uint8_t  buttons)
static

Returns true if button or specific combination of buttons is not pressed. Returns true if button or specific combination of buttons is not pressed.

Parameters
buttons- buttons to check
Returns
true of false

◆ pressed()

static bool NanoEngineInputs::pressed ( uint8_t  buttons)
static

Returns true if button or specific combination of buttons is not pressed. Returns true if button or specific combination of buttons is pressed.

Parameters
buttons- buttons to check
Returns
true or false

Member Data Documentation

◆ m_onButtons

TNanoEngineGetButtons NanoEngineInputs::m_onButtons
staticprotected

Callback to call if buttons state needs to be updated

Definition at line 149 of file core.h.


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