|
| void | setPins (int in1, int in2, int steeringPin) |
| | Set the pins for the drive motor and steering servo.
|
| |
|
void | setSpeed (float percent) |
| | Set drive speed (percent, -100 to 100). Positive = forward.
|
| |
|
void | setSteeringAngle (float angle) |
| | Set steering angle (degrees, left positive, right negative).
|
| |
|
void | setSteeringAngle (Angle angle) |
| |
|
Angle | getSteeringAngle () const |
| |
|
float | getSpeed () const |
| |
| void | end () override |
| |
| bool | isPinsSet () const |
| | Check if the necessary pins for the vehicle's actuators have been set (pure virtual).
|
| |
| bool | onMessage (const Message< float > &msg) override |
| | Handle an incoming message (pure virtual).
|
| |
| std::vector< MessageContent > | getControls () const override |
| |
|
MotorMT & | getMotor () |
| |
|
ServoMT & | getServo () |
| |
| std::vector< IMotor< T > * > | getMotors () override |
| |
| bool | begin () |
| | Initialize the vehicle.
|
| |
| virtual void | end ()=0 |
| | Reset the vehicle to a safe or neutral state (pure virtual).
|
| |
| virtual bool | isPinsSet () const =0 |
| | Check if the necessary pins for the vehicle's actuators have been set (pure virtual).
|
| |
|
virtual std::vector< MessageContent > | getControls () const =0 |
| |
|
float | getSpeedFactor () const |
| | Get the speed factor (scaling for speed commands).
|
| |
|
void | setSpeedFactor (float factor) |
| | Set the speed factor (scaling for speed commands).
|
| |
|
virtual std::vector< IMotor< MotorT > * > | getMotors ()=0 |
| |
Public Member Functions inherited from MessageHandler |
| virtual bool | onMessage (const Message< float > &msg)=0 |
| | Handle an incoming message (pure virtual).
|
| |
| virtual bool | onMessage (const Message< Coordinate< float > > &msg) |
| |
| virtual bool | onMessage (const Message< GPSCoordinate > &msg) |
| |
|
virtual bool | onMessage (const Message< MotionState3D > &msg) |
| |
| void | subscribe (MessageHandler &handler, MessageOrigin origin=MessageOrigin::Undefined, MessageContent content=MessageContent::Undefined) |
| | Subscribe a message handler to this source, with optional filtering.
|
| |
|
void | unsubscribeAll () |
| | Remove all registered message handlers.
|
| |
| void | sendMessage (Message< float > &msg) |
| | Publish a message to all registered handlers.
|
| |
| void | sendMessage (const Message< Coordinate< float > > &msg) |
| | Publish a message to all registered handlers.
|
| |
| void | sendMessage (const Message< GPSCoordinate > &msg) |
| | Publish a message to all registered handlers.
|
| |
|
void | sendMessage (const Message< MotionState3D > &msg) |
| | Overload for MotionState3D messages.
|
| |
template<typename T = float, typename MotorMT = BrushedMotor<T>, typename ServoMT = ServoMotor<T>>
class tinyrobotics::CarAckerman< T, MotorMT, ServoMT >
Car with Ackerman steering and single drive motor.
This class abstracts a simple car:
- 1 drive motor (HBridge)
- 1 steering servo (ServoMotor)
Usage Example:
car.setSteering(30);
Car with Ackerman steering and single drive motor.
Definition: CarAckerman.h:29
void setSpeed(float percent)
Set drive speed (percent, -100 to 100). Positive = forward.
Definition: CarAckerman.h:48
void setPins(int in1, int in2, int steeringPin)
Set the pins for the drive motor and steering servo.
Definition: CarAckerman.h:40
void end() override
Definition: CarAckerman.h:78