Robotka
Knihovna pro obsluhu Robotky.
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Třídy | Definice maker | Výčty | Funkce
Dokumentace souboru robotka.h
#include <memory>
#include <fmt/core.h>
#include <fmt/printf.h>
#include <Arduino.h>
#include "SmartLeds.h"
#include "SmartServoBus.hpp"
#include "RBCX.h"
#include "gridui.h"
#include "rbprotocol.h"

Zobrazit zdrojový text tohoto souboru.

Třídy

struct  rkPinsConfig
 Nastavení čísel pinů různých periferií. ...
 
struct  rkConfig
 Nastavení SW pro Robotky. ...
 

Definice maker

#define RK_DEFAULT_WIFI_AP_PASSWORD   "flusflus"
 Výchozí heslo pro WiFi AP.
 
#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

void rkSetup (const rkConfig &cfg=rkConfig())
 Inicializační funkce Robotky. ...
 
void rkMotorsSetPower (int8_t left, int8_t right)
 Nastavení výkonu motorů. ...
 
void rkMotorsSetPowerLeft (int8_t power)
 Nastavení výkonu levého motoru. ...
 
void rkMotorsSetPowerRight (int8_t power)
 Nastavení výkonu pravého motoru. ...
 
void rkMotorsSetPowerById (uint8_t id, int8_t power)
 Nastavení výkonu motoru podle jeho čísla (M1...M4) na desce. ...
 
void rkMotorsSetSpeed (int8_t left, int8_t right)
 Nastavení rychlosti motorů. ...
 
void rkMotorsSetSpeedLeft (int8_t speed)
 Nastavení rychlosti levého motoru. ...
 
void rkMotorsSetSpeedRight (int8_t speed)
 Nastavení rychlosti pravého motoru. ...
 
void rkMotorsSetSpeedById (uint8_t id, int8_t speed)
 Nastavení rychlosti motoru podle jeho čísla (M1...M4) na desce. ...
 
void rkMotorsDrive (float mmLeft, float mmRight, uint8_t speed)
 Popojetí oběma motory o vzdálenost v mm (blokující). ...
 
void rkMotorsDriveLeft (float mm, uint8_t speed)
 Popojetí levým motorem o vzdálenost v mm (blokující). ...
 
void rkMotorsDriveRight (float mm, uint8_t speed)
 Popojetí pravým motorem o vzdálenost v mm (blokující). ...
 
void rkMotorsDriveById (uint8_t id, float mm, uint8_t speed)
 Popojetí motorem podle ID o vzdálenost v mm (blokující). ...
 
void rkMotorsDriveAsync (float mmLeft, float mmRight, uint8_t speed, std::function< void()> callback=nullptr)
 Popojetí oběma motory o vzdálenost v mm (asynchroní). ...
 
void rkMotorsDriveLeftAsync (float mm, uint8_t speed, std::function< void()> callback=nullptr)
 Popojetí levým motorem o vzdálenost v mm (asynchroní). ...
 
void rkMotorsDriveRightAsync (float mm, uint8_t speed, std::function< void()> callback=nullptr)
 Popojetí pravým motorem o vzdálenost v mm (asynchroní). ...
 
void rkMotorsDriveByIdAsync (uint8_t id, float mm, uint8_t speed, std::function< void()> callback=nullptr)
 Popojetí motorem podle ID o vzdálenost v mm (asynchroní). ...
 
float rkMotorsGetPositionLeft (bool fetch=false)
 Vrátí absolutní najetou vzálenost na levém motoru v mm. ...
 
float rkMotorsGetPositionRight (bool fetch=false)
 Vrátí absolutní najetou vzálenost na pravém motoru v mm. ...
 
float rkMotorsGetPositionById (uint8_t id, bool fetch=false)
 Vrátí absolutní najetou vzálenost na motoru podle ID. ...
 
void rkMotorsSetPositionLeft (float positionMm=0.f)
 Nastaví absolutní počítadlo vzdálenosti na levém motoru na hodnotu v mm. ...
 
void rkMotorsSetPositionRight (float positionMm=0.f)
 Nastaví absolutní počítadlo vzdálenosti na pravém motoru na hodnotu v mm. ...
 
void rkMotorsSetPositionById (uint8_t id, float positionMm=0.f)
 Nastaví absolutní počítadlo vzdálenosti na motoru podle ID na hodnotu v mm. ...
 
void rkMotorsJoystick (int32_t x, int32_t y)
 Nastavení rychlosti motorů podle joysticku. ...
 
uint32_t rkBatteryPercent ()
 Úroveň baterie v procentech. ...
 
uint32_t rkBatteryVoltageMv ()
 Úroveň baterie v mV. ...
 
int16_t rkTemperature ()
 Teplota desky v Robotce. ...
 
void rkControllerSendLog (const char *format,...)
 Odeslat text do aplikace. ...
 
void rkLedRed (bool on=true)
 Zapnout/vypnout červenou LED. ...
 
void rkLedYellow (bool on=true)
 Zapnout/vypnout žlutou LED. ...
 
void rkLedGreen (bool on=true)
 Zapnout/vypnout zelenou LED. ...
 
void rkLedBlue (bool on=true)
 Zapnout/vypnout modrou LED. ...
 
void rkLedAll (bool on=true)
 Zapnout/vypnout všechny LED zaráz. ...
 
void rkLedById (uint8_t id, bool on=true)
 Zapnout/vypnout LED podle jejich čísla na desce, od 1 do 4 včetně. ...
 
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. ...
 
void rkLineCalibrate (float motor_time_coef=1.0)
 Kalibrovat senzorickou lištu. ...
 
void rkLineClearCalibration ()
 Vymazat kalibraci. ...
 
uint16_t rkLineGetSensor (uint8_t sensorId)
 Hodnota z jednoho senzoru na čáru. ...
 
float rkLineGetPosition (bool white_line=false, uint8_t line_threshold_pct=25)
 Pozice čáry pod senzorickou lištou. ...
 
uint16_t rkIrLeft ()
 Hodnota z levého IR senzoru. ...
 
uint16_t rkIrRight ()
 Hodnota z pravého IR senzoru. ...
 
uint32_t rkUltraMeasure (uint8_t id)
 Změřit vzálenost (blokující) ...
 
void rkUltraMeasureAsync (uint8_t id, std::function< bool(uint32_t)> callback)
 Změřit vzálenost (asynchroní) ...
 
void rkBuzzerSet (bool on)
 Zapnout/vypnout bzučák. ...
 
void rkSmartLedsRGB (uint16_t idx, uint8_t r, uint8_t g, uint8_t b)
 Nastavit barvu chytré led ve formátu RGB (Red, Green, Blue). ...
 
void rkSmartLedsHSV (uint16_t idx, uint8_t h, uint8_t s, uint8_t v)
 Nastavit barvu chytré led ve formátu HSV (Hue, Saturation, Value). ...
 
void rkSmartLedsHEX (uint16_t idx, uint32_t hexCode)
 Nastavit barvu chytré led podle RGB HEX kódu. ...
 
void rkServosSetPosition (uint8_t id, float angleDegrees)
 Nastaví pozici hloupého serva na zadaný úhel. ...
 
float rkServosGetPosition (uint8_t id)
 Vrátí naposledy nastavenou pozici hloupého serva. ...
 
void rkServosDisable (uint8_t id)
 Vypne hloupé servo. ...
 
lx16a::SmartServoBus & rkSmartServoBus (uint8_t servo_count)
 Vrátí instanci SmartServoBus pro ovládání chytrých serv. ...
 

Detailní popis

Metody v tomto souboru vám dovolují jednoduše obsluhovat Robotku.