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.