Robotka
Knihovna pro obsluhu Robotky.
Funkce
Motory

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 ()
 Vrátí absolutní najetou vzálenost na levém motoru v mm. ...
 
float rkMotorsGetPositionRight ()
 Vrátí absolutní najetou vzálenost na pravém motoru v mm. ...
 
float rkMotorsGetPositionById (uint8_t id)
 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. ...
 

Detailní popis

Metody pro obsluhu motorů.

Dokumentace funkcí

◆ rkMotorsDrive()

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.

Parametry
mmLeftkolik milimetrů má ujet levý motor
mmRightkolik milimetrů má ujet pravý motor
speedrychlost, kterou má robot jet od -100% do 100%

◆ rkMotorsDriveAsync()

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í:

rkMotorsDriveAsync(100, 100, 50, []() {
printf("Dojel jsem!\n");
});
void rkMotorsDriveAsync(float mmLeft, float mmRight, uint8_t speed, std::function< void()> callback)
Popojetí oběma motory o vzdálenost v mm (asynchroní).
Definition: robotka.cpp:147
Parametry
mmLeftkolik milimetrů má ujet levý motor
mmRightkolik milimetrů má ujet pravý motor
speedrychlost, kterou má robot jet od -100% do 100%
callbackfunkce, která je zavolána jakmile robot dojede o určenou vzdálenost

◆ rkMotorsDriveById()

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.

Parametry
idčíslo motoru, který má jet, od 1 do 4 včetně
mmkolik milimetrů má motor ujet
speedrychlost, kterou má motor jet od -100% do 100%

◆ rkMotorsDriveByIdAsync()

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í:

rkMotorsDriveByIdAsync(2, 100, 50, []() {
printf("Dojel jsem!\n");
});
void rkMotorsDriveByIdAsync(uint8_t id, float mm, uint8_t speed, std::function< void()> callback)
Popojetí motorem podle ID o vzdálenost v mm (asynchroní).
Definition: robotka.cpp:159
Parametry
idčíslo motoru, který má jet, od 1 do 4 včetně
mmkolik milimetrů má ujet pravý motor
speedrychlost, kterou má robot jet od -100% do 100%
callbackfunkce, která je zavolána jakmile robot dojede o určenou vzdálenost

◆ rkMotorsDriveLeft()

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.

Parametry
mmkolik milimetrů má ujet levý motor
speedrychlost, kterou má motor jet od -100% do 100%

◆ rkMotorsDriveLeftAsync()

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í:

rkMotorsDriveLeftAsync(100, 50, []() {
printf("Dojel jsem!\n");
});
void rkMotorsDriveLeftAsync(float mm, uint8_t speed, std::function< void()> callback)
Popojetí levým motorem o vzdálenost v mm (asynchroní).
Definition: robotka.cpp:151
Parametry
mmkolik milimetrů má ujet levý motor
speedrychlost, kterou má robot jet od -100% do 100%
callbackfunkce, která je zavolána jakmile robot dojede o určenou vzdálenost

◆ rkMotorsDriveRight()

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.

Parametry
mmkolik milimetrů má ujet pravý motor
speedrychlost, kterou má motor jet od -100% do 100%

◆ rkMotorsDriveRightAsync()

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í:

rkMotorsDriveRightAsync(100, 50, []() {
printf("Dojel jsem!\n");
});
void rkMotorsDriveRightAsync(float mm, uint8_t speed, std::function< void()> callback)
Popojetí pravým motorem o vzdálenost v mm (asynchroní).
Definition: robotka.cpp:155
Parametry
mmkolik milimetrů má ujet pravý motor
speedrychlost, kterou má robot jet od -100% do 100%
callbackfunkce, která je zavolána jakmile robot dojede o určenou vzdálenost

◆ rkMotorsGetPositionById()

float rkMotorsGetPositionById ( uint8_t  id)

Vrátí absolutní najetou vzálenost na motoru podle ID.

Parametry
idčíslo motoru od 1 do 4 včetně
Návratová hodnota
absolutní (celková) najetá vzdálenost na motoru v mm

◆ rkMotorsGetPositionLeft()

float rkMotorsGetPositionLeft ( )

Vrátí absolutní najetou vzálenost na levém motoru v mm.

Návratová hodnota
absolutní (celková) najetá vzdálenost na levém motoru v mm

◆ rkMotorsGetPositionRight()

float rkMotorsGetPositionRight ( )

Vrátí absolutní najetou vzálenost na pravém motoru v mm.

Návratová hodnota
absolutní (celková) najetá vzdálenost na pravém motoru v mm

◆ rkMotorsJoystick()

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.

Parametry
xX hodnota z joysticku.
yY hodnota z joysticku.

◆ rkMotorsSetPositionById()

void rkMotorsSetPositionById ( uint8_t  id,
float  positionMm = 0.f 
)

Nastaví absolutní počítadlo vzdálenosti na motoru podle ID na hodnotu v mm.

Parametry
idčíslo motoru od 1 do 4 včetně
positionMmabsolutní pozice, na kterou nastavit čítač

◆ rkMotorsSetPositionLeft()

void rkMotorsSetPositionLeft ( float  positionMm = 0.f)

Nastaví absolutní počítadlo vzdálenosti na levém motoru na hodnotu v mm.

Parametry
positionMmabsolutní pozice, na kterou nastavit čítač

◆ rkMotorsSetPositionRight()

void rkMotorsSetPositionRight ( float  positionMm = 0.f)

Nastaví absolutní počítadlo vzdálenosti na pravém motoru na hodnotu v mm.

Parametry
positionMmabsolutní pozice, na kterou nastavit čítač

◆ rkMotorsSetPower()

void rkMotorsSetPower ( int8_t  left,
int8_t  right 
)

Nastavení výkonu motorů.

Parametry
leftvýkon levého motoru od od -100% do 100%
rightvýkon pravého motoru od od -100 do 100%

◆ rkMotorsSetPowerById()

void rkMotorsSetPowerById ( uint8_t  id,
int8_t  power 
)

Nastavení výkonu motoru podle jeho čísla (M1...M4) na desce.

Parametry
idčíslo motoru od 1 do 4 včetně
powervýkon motoru od od -100% do 100%

◆ rkMotorsSetPowerLeft()

void rkMotorsSetPowerLeft ( int8_t  power)

Nastavení výkonu levého motoru.

Parametry
powervýkon levého motoru od od -100% do 100%

◆ rkMotorsSetPowerRight()

void rkMotorsSetPowerRight ( int8_t  power)

Nastavení výkonu pravého motoru.

Parametry
powervýkon levého motoru od od -100% do 100%

◆ rkMotorsSetSpeed()

void rkMotorsSetSpeed ( int8_t  left,
int8_t  right 
)

Nastavení rychlosti motorů.

Parametry
leftrychlost levého motoru od od -100% do 100%
rightrychlost pravého motoru od od -100% do 100%

◆ rkMotorsSetSpeedById()

void rkMotorsSetSpeedById ( uint8_t  id,
int8_t  speed 
)

Nastavení rychlosti motoru podle jeho čísla (M1...M4) na desce.

Parametry
idčíslo motoru od 1 do 4 včetně
speedrychlost motoru od od -100% do 100%

◆ rkMotorsSetSpeedLeft()

void rkMotorsSetSpeedLeft ( int8_t  speed)

Nastavení rychlosti levého motoru.

Parametry
speedrychlost levého motoru od od -100% do 100%

◆ rkMotorsSetSpeedRight()

void rkMotorsSetSpeedRight ( int8_t  speed)

Nastavení rychlosti pravého motoru.

Parametry
speedrychlost levého motoru od od -100% do 100%