jim herd / MD25

Dependents:   Nucleo_motors HTU21D_HELLOWORLD Major_dHome pixyMajordhome ... more

Embed: (wiki syntax)

« Back to documentation index

MD25 Class Reference

MD25 Class Reference

MD25 class. More...

#include <MD25.h>

Public Member Functions

 MD25 (PinName sda, PinName scl, int MD25_i2cAddress)
 Constructor for the MD25 connected to specified I2C pins at a specified address.
 MD25 (PinName sda, PinName scl)
 Constructor for the MD25 connected to specified I2C pins at default address.
int32_t getEncoder1 (void)
 Read encoder for channel 1.
int32_t getEncoder2 (void)
 Read encoder for channel 2.
void setSpeedRegisters (uint8_t speed_1, uint8_t speed_2)
 set speed registers for both channels
void setSpeed1Reg (uint8_t speed)
 set speed register for channel 1
void setSpeed2Reg (uint8_t speed)
 set speed register for channel 2
void stopMotor1 (void)
 switch motor 1 off
void stopMotor2 (void)
 switch motor 2 off
void stopMotors (void)
 switch both motors off
uint32_t getSoftwareVersion (void)
 read current software version
float getBatteryVolts (void)
 read battery voltage
uint8_t getAccelerationRate (void)
 read acceleration rate
uint8_t getMotor1Current (void)
 read current from motor channel 1
uint8_t getMotor2Current (void)
 read current from motor channel 2
uint8_t getMotor1Speed (void)
 read current speed register for motor channel 1
uint8_t getMotor2Speed (void)
 read current speed register for motor channel 2
uint8_t getMode (void)
 read current mode
void setMode (uint8_t mode)
 set system mode
void setAccelerationRate (uint8_t rate)
 set acceleration rate
void setCommand (uint8_t command)
 send command to command register

Detailed Description

MD25 class.

Allow access to an MD25 Dual 12V 2.8A H-Bridge DC Motor Driver

      MD25  motor_control(p9,p10);   // assumes default address of 0xB0
 or
      MD25  motor_control(p9, p10, 0xB0);

Definition at line 59 of file MD25.h.


Constructor & Destructor Documentation

MD25 ( PinName  sda,
PinName  scl,
int  MD25_i2cAddress 
)

Constructor for the MD25 connected to specified I2C pins at a specified address.

Parameters:
sdaI2C data pin
sclI2C clock pin
i2cAddressI2C address

Definition at line 35 of file md25.cpp.

MD25 ( PinName  sda,
PinName  scl 
)

Constructor for the MD25 connected to specified I2C pins at default address.

Parameters:
sdaI2C data pin
sclI2C clock pin

Definition at line 30 of file md25.cpp.


Member Function Documentation

uint8_t getAccelerationRate ( void   )

read acceleration rate

Returns:
acceleration rate

Definition at line 82 of file md25.cpp.

float getBatteryVolts ( void   )

read battery voltage

Returns:
voltage value in float format

Definition at line 78 of file md25.cpp.

int32_t getEncoder1 ( void   )

Read encoder for channel 1.

Returns:
32-bit signed integer value of current encoder value for channel 1

Definition at line 44 of file md25.cpp.

int32_t getEncoder2 ( void   )

Read encoder for channel 2.

Returns:
32-bit signed integer value of current encoder value for channel 2

Definition at line 59 of file md25.cpp.

uint8_t getMode ( void   )

read current mode

Returns:
mode value (0, 1, 2, or 3); default is mode 0

Definition at line 102 of file md25.cpp.

uint8_t getMotor1Current ( void   )

read current from motor channel 1

Returns:
current value

Definition at line 94 of file md25.cpp.

uint8_t getMotor1Speed ( void   )

read current speed register for motor channel 1

Returns:
speed value (0->255); meaning dependent on mode

Definition at line 86 of file md25.cpp.

uint8_t getMotor2Current ( void   )

read current from motor channel 2

Returns:
current value in apprx. units of 0.1amp

Definition at line 98 of file md25.cpp.

uint8_t getMotor2Speed ( void   )

read current speed register for motor channel 2

Returns:
speed value (0->255); meaning dependent on mode

Definition at line 90 of file md25.cpp.

uint32_t getSoftwareVersion ( void   )

read current software version

Returns:
version number

Definition at line 74 of file md25.cpp.

void setAccelerationRate ( uint8_t  rate )

set acceleration rate

Parameters:
rateacceleration rate

Definition at line 147 of file md25.cpp.

void setCommand ( uint8_t  command )

send command to command register

Parameters:
commandcommand code

MD25_RESET_ENCODERS 0x20 MD25_DIABLE SPEED_REGULATION 0x30 MD25_ENABLE_SPEED_REGULATION 0x31 MD25_DISABLE_TIMEOUT 0x32 MD25_ENABLE_TIMEOUT 0x33

Definition at line 151 of file md25.cpp.

void setMode ( uint8_t  mode )

set system mode

Parameters:
modevalue (0, 1, 2, or 3)

Definition at line 142 of file md25.cpp.

void setSpeed1Reg ( uint8_t  speed )

set speed register for channel 1

Effect of value is dependent on system mode

Parameters:
speed_1speed register for channel 1 (0->255)
void setSpeed2Reg ( uint8_t  speed )

set speed register for channel 2

Effect of value is dependent on system mode

Parameters:
speed_2speed register for channel 2 (0->255)
void setSpeedRegisters ( uint8_t  speed_1,
uint8_t  speed_2 
)

set speed registers for both channels

Effect of value is dependent on system mode

Parameters:
speed_1speed register for channel 1 (0->255)
speed_2speed register for channel 2 (0->255)

Definition at line 106 of file md25.cpp.

void stopMotor1 ( void   )

switch motor 1 off

Definition at line 111 of file md25.cpp.

void stopMotor2 ( void   )

switch motor 2 off

Definition at line 124 of file md25.cpp.

void stopMotors ( void   )

switch both motors off

Definition at line 137 of file md25.cpp.