|
Robotka
Knihovna pro obsluhu Robotky.
|
#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. ... | |
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. ... | |
Metody v tomto souboru vám dovolují jednoduše obsluhovat Robotku.