4#include "Participants/IsolatedParticipant.h"
6#include "Things/DifferentialDrive.h"
7#include "Things/Motor.h"
9namespace RoboidControl {
14class DRV8833 :
public Thing {
16 struct Configuration {
27 DRV8833Motor* motorA =
nullptr;
28 DRV8833Motor* motorB =
nullptr;
31 unsigned char pinStandby = 255;
34 class DifferentialDrive;
37#pragma region Differential drive
43 virtual void Update(
bool recurse =
false)
override;
49#pragma endregion Differential drive
63 bool reverse =
false);
67 virtual void SetTargetVelocity(
float targetSpeed)
override;
71 unsigned char pinIn1 = 255;
72 unsigned char pinIn2 = 255;
78 static uint8_t nextAvailablePwmChannel;
82#pragma endregion Motor
Support for a DRV8833 motor controller.
Definition DRV8833.h:54
A thing which can move itself using a differential drive system.
Definition DifferentialDrive.h:11
DifferentialDrive(Thing *parent=Thing::LocalRoot())
Create a new child differential drive.
Definition DifferentialDrive.cpp:7
static Thing * LocalRoot()
The root thing for the local participant.
Definition Thing.cpp:23