Robotka
Knihovna pro obsluhu Robotky.
|
Funkce | |
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. ... | |
Metody pro obsluhu motorů.
void rkMotorsDrive | ( | float | mmLeft, |
float | mmRight, | ||
uint8_t | speed | ||
) |
Popojetí oběma motory o vzdálenost v mm (blokující).
Tato funkce zablokuje program, dokud robot danou vzdálenost neujede.
mmLeft | kolik milimetrů má ujet levý motor |
mmRight | kolik milimetrů má ujet pravý motor |
speed | rychlost, kterou má robot jet od -100% do 100% |
void rkMotorsDriveAsync | ( | float | mmLeft, |
float | mmRight, | ||
uint8_t | speed, | ||
std::function< void()> | callback = nullptr |
||
) |
Popojetí oběma motory o vzdálenost v mm (asynchroní).
Tato funkce vrátí okamžítě, a po dojetí zavolá callback.
Příklad použití:
mmLeft | kolik milimetrů má ujet levý motor |
mmRight | kolik milimetrů má ujet pravý motor |
speed | rychlost, kterou má robot jet od -100% do 100% |
callback | funkce, která je zavolána jakmile robot dojede o určenou vzdálenost |
void rkMotorsDriveById | ( | uint8_t | id, |
float | mm, | ||
uint8_t | speed | ||
) |
Popojetí motorem podle ID o vzdálenost v mm (blokující).
Tato funkce zablokuje program, dokud robot danou vzdálenost neujede.
id | číslo motoru, který má jet, od 1 do 4 včetně |
mm | kolik milimetrů má motor ujet |
speed | rychlost, kterou má motor jet od -100% do 100% |
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í).
Tato funkce vrátí okamžítě, a po dojetí zavolá callback.
Příklad použití:
id | číslo motoru, který má jet, od 1 do 4 včetně |
mm | kolik milimetrů má ujet pravý motor |
speed | rychlost, kterou má robot jet od -100% do 100% |
callback | funkce, která je zavolána jakmile robot dojede o určenou vzdálenost |
void rkMotorsDriveLeft | ( | float | mm, |
uint8_t | speed | ||
) |
Popojetí levým motorem o vzdálenost v mm (blokující).
Tato funkce zablokuje program, dokud robot danou vzdálenost neujede.
mm | kolik milimetrů má ujet levý motor |
speed | rychlost, kterou má motor jet od -100% do 100% |
void rkMotorsDriveLeftAsync | ( | float | mm, |
uint8_t | speed, | ||
std::function< void()> | callback = nullptr |
||
) |
Popojetí levým motorem o vzdálenost v mm (asynchroní).
Tato funkce vrátí okamžítě, a po dojetí zavolá callback.
Příklad použití:
mm | kolik milimetrů má ujet levý motor |
speed | rychlost, kterou má robot jet od -100% do 100% |
callback | funkce, která je zavolána jakmile robot dojede o určenou vzdálenost |
void rkMotorsDriveRight | ( | float | mm, |
uint8_t | speed | ||
) |
Popojetí pravým motorem o vzdálenost v mm (blokující).
Tato funkce zablokuje program, dokud robot danou vzdálenost neujede.
mm | kolik milimetrů má ujet pravý motor |
speed | rychlost, kterou má motor jet od -100% do 100% |
void rkMotorsDriveRightAsync | ( | float | mm, |
uint8_t | speed, | ||
std::function< void()> | callback = nullptr |
||
) |
Popojetí pravým motorem o vzdálenost v mm (asynchroní).
Tato funkce vrátí okamžítě, a po dojetí zavolá callback.
Příklad použití:
mm | kolik milimetrů má ujet pravý motor |
speed | rychlost, kterou má robot jet od -100% do 100% |
callback | funkce, která je zavolána jakmile robot dojede o určenou vzdálenost |
float rkMotorsGetPositionById | ( | uint8_t | id, |
bool | fetch = false |
||
) |
Vrátí absolutní najetou vzálenost na motoru podle ID.
id | číslo motoru od 1 do 4 včetně |
fetch | zeptá se koprocesoru na opravdovou pozici, místo toho, aby vrátil "cachovanou" hodnotu, ale volání trvá déle |
float rkMotorsGetPositionLeft | ( | bool | fetch = false | ) |
Vrátí absolutní najetou vzálenost na levém motoru v mm.
fetch | zeptá se koprocesoru na opravdovou pozici, místo toho, aby vrátil "cachovanou" hodnotu, ale volání trvá déle |
float rkMotorsGetPositionRight | ( | bool | fetch = false | ) |
Vrátí absolutní najetou vzálenost na pravém motoru v mm.
fetch | zeptá se koprocesoru na opravdovou pozici, místo toho, aby vrátil "cachovanou" hodnotu, ale volání trvá déle |
void rkMotorsJoystick | ( | int32_t | x, |
int32_t | y | ||
) |
Nastavení rychlosti motorů podle joysticku.
Tato funkce nastaví rychlost motorů podle výstupu z joysticku. Očekává dvě hodnoty od -32768 do 32768, posílané například aplikací RBController. Funkce tyto hodnoty převede na rychlost a nastaví ji.
x | X hodnota z joysticku. |
y | Y hodnota z joysticku. |
void rkMotorsSetPositionById | ( | uint8_t | id, |
float | positionMm = 0.f |
||
) |
Nastaví absolutní počítadlo vzdálenosti na motoru podle ID na hodnotu v mm.
id | číslo motoru od 1 do 4 včetně |
positionMm | absolutní pozice, na kterou nastavit čítač |
void rkMotorsSetPositionLeft | ( | float | positionMm = 0.f | ) |
Nastaví absolutní počítadlo vzdálenosti na levém motoru na hodnotu v mm.
positionMm | absolutní pozice, na kterou nastavit čítač |
void rkMotorsSetPositionRight | ( | float | positionMm = 0.f | ) |
Nastaví absolutní počítadlo vzdálenosti na pravém motoru na hodnotu v mm.
positionMm | absolutní pozice, na kterou nastavit čítač |
void rkMotorsSetPower | ( | int8_t | left, |
int8_t | right | ||
) |
Nastavení výkonu motorů.
left | výkon levého motoru od od -100% do 100% |
right | výkon pravého motoru od od -100 do 100% |
void rkMotorsSetPowerById | ( | uint8_t | id, |
int8_t | power | ||
) |
Nastavení výkonu motoru podle jeho čísla (M1...M4) na desce.
id | číslo motoru od 1 do 4 včetně |
power | výkon motoru od od -100% do 100% |
void rkMotorsSetPowerLeft | ( | int8_t | power | ) |
Nastavení výkonu levého motoru.
power | výkon levého motoru od od -100% do 100% |
void rkMotorsSetPowerRight | ( | int8_t | power | ) |
Nastavení výkonu pravého motoru.
power | výkon levého motoru od od -100% do 100% |
void rkMotorsSetSpeed | ( | int8_t | left, |
int8_t | right | ||
) |
Nastavení rychlosti motorů.
left | rychlost levého motoru od od -100% do 100% |
right | rychlost pravého motoru od od -100% do 100% |
void rkMotorsSetSpeedById | ( | uint8_t | id, |
int8_t | speed | ||
) |
Nastavení rychlosti motoru podle jeho čísla (M1...M4) na desce.
id | číslo motoru od 1 do 4 včetně |
speed | rychlost motoru od od -100% do 100% |
void rkMotorsSetSpeedLeft | ( | int8_t | speed | ) |
Nastavení rychlosti levého motoru.
speed | rychlost levého motoru od od -100% do 100% |
void rkMotorsSetSpeedRight | ( | int8_t | speed | ) |
Nastavení rychlosti pravého motoru.
speed | rychlost levého motoru od od -100% do 100% |