NXShield  v1.07
NXShield Library Reference by OpenElectrons.com
 All Classes Files Functions Variables Enumerations Enumerator Macros Pages
PFMate Class Reference

This class interfaces with PFMate attached to NXShield. More...

#include <PFMate.h>

Inheritance diagram for PFMate:
NXShieldI2C BaseI2CDevice SoftI2cMaster

Public Member Functions

 PFMate (uint8_t i2c_address=0x48)
 
uint8_t issueCommand (char command)
 
bool sendSignal ()
 
void controlMotor (uint8_t channel, uint8_t contol, uint8_t operation, uint8_t speed)
 
bool setChannel (uint8_t channel)
 
bool setControl (uint8_t contol)
 
bool setOperationA (uint8_t operation)
 
bool setOperationB (uint8_t operation)
 
bool setSpeedA (uint8_t speed)
 
bool setSpeedB (uint8_t speed)
 
- Public Member Functions inherited from NXShieldI2C
 NXShieldI2C (uint8_t i2c_address)
 
void init (void *shield, SH_BankPort bp)
 
uint8_t readByte (uint8_t location)
 
uint16_t readInteger (uint8_t location)
 
uint32_t readLong (uint8_t location)
 
uint8_t * readRegisters (uint8_t start_register, uint8_t bytes, uint8_t *buf)
 
char * readString (uint8_t location, uint8_t bytes_to_read, uint8_t *buffer=0, uint8_t buffer_length=0)
 
bool writeRegisters (uint8_t start_register, uint8_t bytes_to_write, uint8_t *buffer=0)
 
bool writeByte (uint8_t location, uint8_t data)
 
bool writeInteger (uint8_t location, uint16_t data)
 
bool writeLong (uint8_t location, uint32_t data)
 
char * getFirmwareVersion ()
 
char * getVendorID ()
 
char * getDeviceID ()
 
char * getFeatureSet ()
 
uint8_t getErrorCode ()
 
bool checkAddress ()
 
bool setAddress (uint8_t address)
 
- Public Member Functions inherited from BaseI2CDevice
 BaseI2CDevice (uint8_t i2c_address)
 
void initProtocol ()
 
uint8_t * readRegisters (uint8_t start_register, uint8_t bytes_to_read, uint8_t *buffer=0, uint8_t buffer_length=0, bool clear_buffer=false)
 
uint8_t readByte (uint8_t location)
 
int16_t readInteger (uint8_t location)
 
uint32_t readLong (uint8_t location)
 
char * readString (uint8_t location, uint8_t bytes_to_read, uint8_t *buffer=0, uint8_t buffer_length=0)
 
bool writeRegisters (uint8_t start_register, uint8_t bytes_to_write, uint8_t *buffer=0)
 
bool writeByte (uint8_t location, uint8_t data)
 
bool writeInteger (uint8_t location, uint16_t data)
 
bool writeLong (uint8_t location, uint32_t data)
 
bool checkAddress ()
 
bool setAddress (uint8_t i2c_address)
 
uint8_t getAddress ()
 
uint8_t getWriteErrorCode ()
 
char * getFirmwareVersion ()
 
char * getVendorID ()
 
char * getDeviceID ()
 
char * getFeatureSet ()
 
- Public Member Functions inherited from SoftI2cMaster
uint8_t start (uint8_t addressRW)
 
void stop (void)
 
uint8_t restart (uint8_t addressRW)
 
uint8_t write (uint8_t b)
 
uint8_t read (uint8_t last)
 
 SoftI2cMaster (uint8_t devAddr)
 
void initProtocol (uint8_t sclPin=NULL, uint8_t sdaPin=NULL)
 
uint8_t * readRegisters (uint8_t startRegister, uint8_t bytes, uint8_t *buf=NULL)
 
bool writeRegistersWithLocation (int bytes, uint8_t *buf)
 
bool writeRegisters (uint8_t location, uint8_t bytes_to_write, uint8_t *buffer=0)
 
bool writeByte (uint8_t location, uint8_t data)
 
bool writeInteger (uint8_t location, uint16_t data)
 
bool writeLong (uint8_t location, uint32_t data)
 
char * readString (uint8_t startRegister, uint8_t bytes, uint8_t *buf=NULL, uint8_t len=0)
 
uint8_t readByte (uint8_t location)
 
int16_t readInteger (uint8_t location)
 
uint32_t readLong (uint8_t location)
 
char * getFirmwareVersion ()
 
char * getVendorID ()
 
char * getDeviceID ()
 
uint8_t getWriteErrorCode ()
 
bool checkAddress ()
 
bool setAddress (uint8_t address)
 

Additional Inherited Members

- Public Attributes inherited from NXShieldI2C
void * mp_shield
 
uint8_t * _i2c_buffer
 
uint8_t m_protocol
 
- Public Attributes inherited from SoftI2cMaster
uint8_t * _so_buffer
 
- Static Public Attributes inherited from BaseI2CDevice
static uint8_t * _buffer = 0
 
static bool b_initialized = false
 
- Protected Member Functions inherited from BaseI2CDevice
void setWriteErrorCode (uint8_t code)
 

Detailed Description

This class interfaces with PFMate attached to NXShield.

Constructor & Destructor Documentation

PFMate::PFMate ( uint8_t  i2c_address = 0x48)

class constructor for PFMate with optional custom i2c address as a parameter

Member Function Documentation

void PFMate::controlMotor ( uint8_t  channel,
uint8_t  contol,
uint8_t  operation,
uint8_t  speed 
)

control the PF motors on the channel the receiver is set to, which motors to control, the operation for the motors, and the speed to run them

uint8_t PFMate::issueCommand ( char  command)

issue char command byte to the command register of the PFMate

bool PFMate::sendSignal ( )

send the data to the PF receiver

bool PFMate::setChannel ( uint8_t  channel)

set which channel the PF receiver is on so the PFMate can talk with it

bool PFMate::setControl ( uint8_t  contol)

set which motor to control

bool PFMate::setOperationA ( uint8_t  operation)

set the operation of motor A

bool PFMate::setOperationB ( uint8_t  operation)

set the operation of motor B

bool PFMate::setSpeedA ( uint8_t  speed)

set the speed of motor A

bool PFMate::setSpeedB ( uint8_t  speed)

set the speed of motor B


The documentation for this class was generated from the following files: