RBCX
Library for the RB3204-RBCX board with the ESP32 by RoboticsBrno.
|
The main library class for working with the RBCX board. Call the install() method at the start of your program. More...
#include <RBCXManager.h>
Public Member Functions | |
Manager (Manager const &)=delete | |
void | operator= (Manager const &)=delete |
Static Public Member Functions | |
static Manager & | get () |
Get manager instance. More... | |
Friends | |
class | MotorChangeBuilder |
class | Encoder |
class | PcntInterruptHandler |
class | Motor |
void | install (ManagerInstallFlags flags=MAN_NONE, BaseType_t managerLoopStackSize=3072) |
Initialize the manager - must be called once at the start of the program. More... | |
Ultrasound & | ultrasound (uint8_t index) |
Initialize the UART servo bus for intelligent servos LX-16. TODO: smart servos not implemented! More... | |
StupidServo & | stupidServo (uint8_t index) |
Oled & | oled () |
Get the Piezo controller. More... | |
Mpu & | mpu () |
Get the Piezo controller. More... | |
SmartServoBusBackend & | smartServoBusBackend () |
Piezo & | piezo () |
Get the Piezo controller. More... | |
Battery & | battery () |
Get the Battery interface. More... | |
Leds & | leds () |
Get the Leds helper. More... | |
Buttons & | buttons () |
Motor & | motor (MotorId id) |
MotorChangeBuilder | setMotors () |
Get a motor instance. More... | |
void | schedule (uint32_t period_ms, std::function< bool()> callback) |
Schedule callback to fire after period (in millisecond). More... | |
Timers & | timers () |
void | monitorTask (TaskHandle_t task) |
void | sendToCoproc (const CoprocReq &msg) |
const CoprocStat_VersionStat & | coprocFwVersion () const |
void | coprocFwVersionAssert (uint32_t minVersion, const char *name) |
The main library class for working with the RBCX board. Call the install() method at the start of your program.
|
delete |
|
inline |
|
inline |
void rb::Manager::coprocFwVersionAssert | ( | uint32_t | minVersion, |
const char * | name | ||
) |
|
inlinestatic |
Get manager instance.
Always returns the same instance and is thread-safe. Don't forget to call install() to initialize the manager at the start of your program, when you first get the instance.
void rb::Manager::install | ( | ManagerInstallFlags | flags = MAN_NONE , |
BaseType_t | managerLoopStackSize = 3072 |
||
) |
Initialize the manager - must be called once at the start of the program.
flags | modify the manager's behavior or toggle some features. SeeManagerInstallFlags} enum. |
void rb::Manager::monitorTask | ( | TaskHandle_t | task | ) |
|
delete |
|
inline |
Schedule callback to fire after period (in millisecond).
Return true from the callback to schedule periodically, false to not (singleshot timer).
period_ms | is period in which will be the schedule callback fired |
callback | is a function which will be schedule with the set period. |
void rb::Manager::sendToCoproc | ( | const CoprocReq & | msg | ) |
MotorChangeBuilder rb::Manager::setMotors | ( | ) |
Get a motor instance.
Create motor power change builder: MotorChangeBuilder
.
SmartServoBusBackend & rb::Manager::smartServoBusBackend | ( | ) |
StupidServo & rb::Manager::stupidServo | ( | uint8_t | index | ) |
|
inline |
|
inline |
Initialize the UART servo bus for intelligent servos LX-16. TODO: smart servos not implemented!
SmartServoBus
which manage the intelligent servos.Get the SmartServoBus
for working with intelligent servos LX-16..
SmartServoBus
which manage the intelligent servos.
|
friend |
|
friend |
|
friend |
|
friend |