Robotka
Knihovna pro obsluhu Robotky.
Definice maker | Výčty | Funkce
Tlačítka

Definice maker

#define EXTRA_BUTTON1   27
 Číslo pinu pro připojení extra koncového tlačítka, blíže okraji desky.
 
#define EXTRA_BUTTON2   14
 Číslo pinu pro připojení extra koncového tlačítka, blíže do středu desky.
 

Výčty

enum  rkButtonId {
  BTN_DOWN = rb::ButtonId::Down , BTN_UP = rb::ButtonId::Up , BTN_LEFT = rb::ButtonId::Left , BTN_RIGHT = rb::ButtonId::Right ,
  BTN_ON = rb::ButtonId::On , BTN_OFF = rb::ButtonId::Off
}
 Seznam konstant označujícíh tlačítka, pro použítí v rkButtonIsPressed a dalších. ...
 

Funkce

bool rkButtonIsPressed (rkButtonId id, bool waitForRelease=false)
 Je teď stisknuto tlačítko? ...
 
void rkButtonOnChangeAsync (std::function< bool(rkButtonId, bool)> callback=nullptr)
 Asynchroní zpracování události o stisku tlačítka. ...
 
bool rkButtonDown (bool waitForRelease=false)
 Je teď stisknuto "dolů"? ...
 
bool rkButtonUp (bool waitForRelease=false)
 Je teď stisknuto "nahoru"? ...
 
bool rkButtonLeft (bool waitForRelease=false)
 Je teď stisknuto "doleva"? ...
 
bool rkButtonRight (bool waitForRelease=false)
 Je teď stisknuto "doprava"? ...
 
bool rkButtonOn (bool waitForRelease=false)
 Je teď stisknuto "ON"? ...
 
bool rkButtonOff (bool waitForRelease=false)
 Je teď stisknuto "OFF"? ...
 
void rkButtonWaitForRelease (rkButtonId id)
 Počkat, dokud není tlačítko uvolněno. ...
 

Detailní popis

Funkce pro vyčítání stavu tlačítek.

Dokumentace výčtových typů

◆ rkButtonId

enum rkButtonId

Seznam konstant označujícíh tlačítka, pro použítí v rkButtonIsPressed a dalších.

Hodnoty výčtu
BTN_DOWN 

Tlačítko dolů

BTN_UP 

Tlačítko nahoru.

BTN_LEFT 

Tlačítko doleva.

BTN_RIGHT 

Tlačítko doprava.

BTN_ON 

Tlačítko ON/Ok (prostřední)

BTN_OFF 

Tlačítko Off/Esc.

Dokumentace funkcí

◆ rkButtonDown()

bool rkButtonDown ( bool  waitForRelease = false)
inline

Je teď stisknuto "dolů"?

Parametry
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonIsPressed()

bool rkButtonIsPressed ( rkButtonId  id,
bool  waitForRelease = false 
)

Je teď stisknuto tlačítko?

Parametry
idID tlačítka z enumu rkButtonId
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonLeft()

bool rkButtonLeft ( bool  waitForRelease = false)
inline

Je teď stisknuto "doleva"?

Parametry
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonOff()

bool rkButtonOff ( bool  waitForRelease = false)
inline

Je teď stisknuto "OFF"?

Parametry
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonOn()

bool rkButtonOn ( bool  waitForRelease = false)
inline

Je teď stisknuto "ON"?

Parametry
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonOnChangeAsync()

void rkButtonOnChangeAsync ( std::function< bool(rkButtonId, bool)>  callback = nullptr)

Asynchroní zpracování události o stisku tlačítka.

Ukázka použití:

rkButtonOnChange([](rkButtonId id, bool pressed) -> bool {
if (id == BTN_DOWN) {
printf("Dolů: %d\n", pressed);
} else if (id == BTN_UP) {
printf("Nahoru: %d\n", pressed);
} else if (id == BTN_LEFT) {
printf("Doleva: %d\n", pressed);
} else if (id == BTN_RIGHT) {
printf("Doprava: %d\n", pressed);
}
return true;
});
rkButtonId
Seznam konstant označujícíh tlačítka, pro použítí v rkButtonIsPressed a dalších.
Definition: robotka.h:493
@ BTN_RIGHT
Tlačítko doprava.
Definition: robotka.h:497
@ BTN_LEFT
Tlačítko doleva.
Definition: robotka.h:496
@ BTN_UP
Tlačítko nahoru.
Definition: robotka.h:495
@ BTN_DOWN
Tlačítko dolů
Definition: robotka.h:494
Parametry
callbackfunkce, která je zavolána pokud se stav kteréhokoliv tlačítka změní. parametry jsou ID tlačítka z rkButtonId a bool isPressed. Funkce musí vrátit true nebo false, podle toho, jestli má čekat na další události (true) nebo se má odstranit a další události už nepřijmat (false).

◆ rkButtonRight()

bool rkButtonRight ( bool  waitForRelease = false)
inline

Je teď stisknuto "doprava"?

Parametry
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonUp()

bool rkButtonUp ( bool  waitForRelease = false)
inline

Je teď stisknuto "nahoru"?

Parametry
waitForReleasepokud je stisknuto, počká před vrácením výsledku na jeho uvolnění (default: false)
Návratová hodnota
Vrátí true pokud je tlačítko stisknuto.

◆ rkButtonWaitForRelease()

void rkButtonWaitForRelease ( rkButtonId  id)

Počkat, dokud není tlačítko uvolněno.

Pokud tlačítko není stisknuté, počká pouze několik desítek ms, tedy nečeká na stisknutí.

Parametry
idID tlačítka z enumu rkButtonId