Serial Wombat Arduino Library
|
A class representing an Allegro ACS712 5A current sensor connected to a SW8B Analog input on a PCB0031 Grip board. More...
#include <PCB0031_Grip.h>
Public Member Functions | |
GripACS712 (SerialWombatChip &serialWombatChip) | |
Constructor for the GripACS712 Class. | |
int16_t | begin (uint8_t pin) |
Initialize a GripACS712 on the specified pin. | |
uint16_t | calibrateIdleCurrent () |
called to set the zero calibration current | |
int16_t | readCurrent_mA () |
returns the current reading in Milliamps. May be negative | |
![]() | |
SerialWombatAnalogInput_18AB (SerialWombatChip &serialWombat) | |
uint8_t | pin () |
Used for inheritance. | |
uint8_t | swPinModeNumber () |
Used for ineheritance. | |
![]() | |
SerialWombatAnalogInput (SerialWombatChip &SerialWombatChip) | |
Constructor for the SerialWombatAnalogInput class. | |
int16_t | begin (uint8_t pin, uint16_t averageSamples=64, uint16_t filterConstant=0xFF80, AnalogInputPublicDataOutput output=AnalogInputPublicDataOutput::AnalogInputPublicDataOutput_Raw) |
Initialize an analog input on a given pin. | |
uint16_t | readVoltage_mV () |
Retreive a raw A/D measurement and convert it to mV. | |
uint16_t | readCounts () |
Retreive a raw A/D measurement. | |
uint16_t | readFiltered_mV () |
Retreive a filtered A/D measurement and convert it to mV. | |
uint16_t | readFilteredCounts () |
Retreive a filtered A/D measurement. | |
uint16_t | readAveraged_mV () |
Retreive an averaged A/D measurement and convert it to mV. | |
uint16_t | readAveragedCounts () |
Retreive an averaged A/D measurement. | |
uint16_t | updateSupplyVoltage_mV () |
Provides a wrapper around the readSupplyVoltage_mV() method for the SerialWombat chip hosting this pin mode. | |
uint16_t | readMaximum_mV (bool resetAfterRead=false) |
Retreive the maximum single sample A/D value in mV. | |
uint16_t | readMaximumCounts (bool resetAfterRead=false) |
uint16_t | readMinimum_mV (bool resetAfterRead=false) |
uint16_t | readMinimumCounts (bool resetAfterRead=false) |
Retreive the maximum single sample A/D value in counts. | |
![]() | |
SerialWombatPin (SerialWombatChip &serialWombatChip) | |
Instantiates a Serial Wombat Pin. | |
SerialWombatPin (SerialWombatChip &serialWombatChip, uint8_t pin) | |
Instantiates a Serial Wombat Pin. | |
uint16_t | readPublicData () |
Read the 16 Bit public data associated with this pin. | |
void | pinMode (uint8_t mode, bool pullDown=false, bool openDrain=false) |
Set pin to INPUT or OUTPUT, with options for pull Ups and open Drain settings. | |
void | digitalWrite (uint8_t val) |
Set output pin High or Low. | |
int | digitalRead () |
Reads the state of the Pin. | |
uint16_t | writePublicData (uint16_t value) |
Write a 16 bit value to this pin. | |
uint8_t | pin () |
Returns the current SW pin number. Used primarily for virtual calls by derived classes. | |
uint8_t | swPinModeNumber () |
Returns the Mode number. Used primarily by derived classes to populate packet data. | |
int16_t | initPacketNoResponse (uint8_t packetNumber, uint8_t param0=0x55, uint8_t param1=0x55, uint8_t param2=0x55, uint8_t param3=0x55, uint8_t param4=0x55) |
int16_t | initPacketNoResponse (uint8_t packetNumber, uint16_t param0=0x55, uint8_t param1=0x55, uint8_t param2=0x55, uint8_t param3=0x55) |
int16_t | initPacketNoResponse (uint8_t packetNumber, uint16_t param0, uint16_t param1, uint8_t param2=0x55) |
int16_t | disable () |
Disables the pin mode (if applicable) | |
int16_t | enablePullup (bool enabled) |
Enables the weak pull up on a pin. Implemented on SW18AB and SW8B only. | |
int16_t | enablePulldown (bool enabled) |
Enables the weak pull down on a pin. Implemented on SW18AB and SW8B only. | |
int16_t | enableOpenDrain (bool enabled) |
Enables open drain mode on a pin. Implemented on SW18AB and SW8B only. | |
int16_t | forceDMA (bool enabled) |
Forces use of DMA instead of hardware timing resources on SW18AB. | |
![]() | |
SerialWombatAbstractProcessedInput (SerialWombatChip &sw) | |
Constructor for the SerialWombatAbstractScaledOutput Class. | |
int16_t | writeInverted (bool inverted) |
if enabled subtract the input value from 65535 before doing any other processing. | |
int16_t | writeFirstOrderFilteringConstant (uint16_t constant) |
Set a first order filtering constant to be applied to the signal Higher is heavier filtering. | |
int16_t | writeAveragingNumberOfSamples (uint16_t numberOfSamples) |
Set a number of samples to average for each update of the downstream signal. | |
int16_t | writeExcludeBelowAbove (uint16_t low, uint16_t high) |
Sets input value ranges which are discarded rather than processed. | |
int16_t | configureQueue (SerialWombatQueue *queue, Period period, bool queueHighByte=true, bool queueLowByte=true) |
Sets up the queueing feature for this pin mode. Queue must have been initialized prior to this queue. | |
int16_t | configureOutputValue (OutputValue outputValue) |
Configures whether the pin's public data value is averaged, filtered, or neither. | |
int16_t | writeTransformScaleRange (uint16_t min, uint16_t max) |
Scale incoming values to a range of 0 to 65535. | |
int16_t | writeTransformLinearMXB (int32_t m, int32_t b) |
Scale incoming values based on an mx+b linear equation. | |
int16_t | configureIntegrator (uint16_t negativeMaxIndex, uint16_t negativeMidIndex, uint16_t negativeDeadZone, uint16_t positiveDeadZone, uint16_t positiveMidIndex, uint16_t positiveMaxIndex, uint16_t midIncrement, uint16_t maxIncrement, uint16_t initialValue, uint8_t updateFrequencyMask=0) |
Sort incoming data into one of 5 ranges, and integrate based on linear interpolation in those ranges. | |
int16_t | writeProcessedInputEnable (bool enabled) |
Enables or disables all input processing functions If disabled, the raw input value is placed directly in the pin's 16 bit public data buffer. | |
uint16_t | readMinimum (bool resetAfterRead=false) |
Retreive the maximum public data output value since the last call with reset= true. | |
uint16_t | readMaximum (bool resetAfterRead=false) |
Retreive the minimum public data output value since the last call with reset= true. | |
uint16_t | readAverage () |
Retreive the last completed averaged value. | |
uint16_t | readFiltered () |
Retreive the filtered value. | |
Public Attributes | |
uint16_t | zeroCurrentCalibration = 32768 |
Variable holding the zero calibration value in counts. | |
Additional Inherited Members | |
![]() | |
enum | Period { PERIOD_1mS = 0 , PERIOD_2mS = 1 , PERIOD_4mS = 2 , PERIOD_8mS = 3 , PERIOD_16mS = 4 , PERIOD_32mS = 5 , PERIOD_64mS = 6 , PERIOD_128mS = 7 , PERIOD_256mS = 8 , PERIOD_512mS = 9 , PERIOD_1024mS = 10 } |
enum | OutputValue { RAW = 0 , FIRST_ORDER_FILTERED = 1 , AVERAGE = 2 } |
enum | Transform { NONE = 0 , SCALE_RANGE = 1 , LINEAR_MXB = 2 } |
![]() | |
uint8_t | _pin = 255 |
SerialWombatChip & | _sw |
uint8_t | _pinMode = 0 |
A class representing an Allegro ACS712 5A current sensor connected to a SW8B Analog input on a PCB0031 Grip board.
The GripACS712 class is a child class of SerialWombatAnalogInput_18AB. It has all of the same methods and adds methods for converting the output to mA, and setting a reference zero current. This can be either real zero current, or an offset such as in the case of a Servo which pulls a small current to drive its electronics even when the motor is not generating torque.
A Tutorial video is also avaialble:
Definition at line 51 of file PCB0031_Grip.h.
|
inline |
Constructor for the GripACS712 Class.
sw | A reference to a previously declared SerialWombatChip to which the Servo is connected. |
Definition at line 59 of file PCB0031_Grip.h.
|
inline |
Initialize a GripACS712 on the specified pin.
This function must be called after the SerialWombatChip instance specified in the constructor has been initialized with a begin call.
This function initializes the underlying analog input with default parameters.
pin | The Serial Wombat pin to set. Valid values are 4-7 as those pins are ACS712 pins on the grip board |
Definition at line 72 of file PCB0031_Grip.h.
|
inline |
called to set the zero calibration current
Definition at line 91 of file PCB0031_Grip.h.
|
inline |
returns the current reading in Milliamps. May be negative
Definition at line 103 of file PCB0031_Grip.h.
uint16_t GripACS712::zeroCurrentCalibration = 32768 |
Variable holding the zero calibration value in counts.
Definition at line 84 of file PCB0031_Grip.h.