 |
Serial Wombat Arduino Library
|
Go to the documentation of this file.
254 SW_LE16(maximumChangecounts),0x55,
267 (uint8_t)samplePeriod,
329 int16_t
writeHysteresis(uint16_t lowLimit, uint16_t lowOutputValue, uint16_t highLimit, uint16_t highOutputValue, uint16_t initialOutputValue)
339 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
350 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
360 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
399 int16_t
writePID(uint16_t kp, uint16_t ki, uint16_t kd,uint16_t target,
Period samplePeriod)
409 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
419 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
427 (uint8_t)samplePeriod,
430 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
439 int16_t result = _asosw.
sendPacket(tx);
if (result < 0) {
return(result); }
459 0x55, 0x55,0x55,0x55,
464 return(rx[4] + (uint16_t)rx[5] * 256);
479 (byte)(target & 0xFF),(byte)(target >> 8),0x55,0x55
495 memcpy(&returnVal,&rx[4],4);
514 memcpy(&returnVal,&rx[4],4);
531 memcpy(&returnVal,&rx[4],4);
548 memcpy(&returnVal,&rx[4],4);
565 memcpy(&returnVal,&rx[4],4);
582 memcpy(&returnVal,&rx[4],4);
598 return ((uint16_t)(rx[4] + 256 * rx[5]));
619 SW_LE16(IndexInUserMemory),0x55,0x55 };
624 virtual uint8_t
pin() = 0;
@ PERIOD_256mS
Definition: SerialWombatAbstractScaledOutput.h:81
int32_t PIDGetLastDerivativeEffort()
Definition: SerialWombatAbstractScaledOutput.h:552
int16_t writeTimeout(uint16_t timeout_mS, uint16_t timeoutOutputValue)
Enable a timeout value which will cause the output to go to a default value if not updated.
Definition: SerialWombatAbstractScaledOutput.h:101
Class for a Serial Wombat chip. Each Serial Wombat chip on a project should have its own instance.
Definition: SerialWombat.h:286
@ PERIOD_64mS
Definition: SerialWombatAbstractScaledOutput.h:79
Period
Definition: SerialWombatAbstractScaledOutput.h:72
int32_t PIDGetLastProportionalEffort()
Definition: SerialWombatAbstractScaledOutput.h:535
int16_t writeInputScaling(uint16_t inputMin, uint16_t inputMax)
Scale incoming values to a range of 0 to 65535.
Definition: SerialWombatAbstractScaledOutput.h:152
int16_t writeScalingEnabled(bool enabled, uint8_t sourcePin)
Enable scaling and set which pin or public data is used as the input source.
Definition: SerialWombatAbstractScaledOutput.h:126
SerialWombatAbstractScaledOutput(SerialWombatChip &sw)
Constructor for the SerialWombatAbstractScaledOutput Class.
Definition: SerialWombatAbstractScaledOutput.h:70
@ PERIOD_8mS
Definition: SerialWombatAbstractScaledOutput.h:76
@ PERIOD_1024mS
Definition: SerialWombatAbstractScaledOutput.h:83
int16_t writeOutputScaling(uint16_t outputMin, uint16_t outputMax)
Reduces the output range from 0 to 65535 to user specified range.
Definition: SerialWombatAbstractScaledOutput.h:179
SerialWombatServo, SerialWombatPWM and other proportional ouptut classes inherit from this class....
Definition: SerialWombatAbstractScaledOutput.h:62
@ PERIOD_16mS
Definition: SerialWombatAbstractScaledOutput.h:77
int16_t writeScalingTargetValueResetIntegrator(uint16_t target)
Definition: SerialWombatAbstractScaledOutput.h:473
int16_t write1stOrderFiltering(Period sampleRate, uint16_t filterConstant)
Definition: SerialWombatAbstractScaledOutput.h:287
int16_t writeScalingInvertedInput(bool inverted)
if enabled subtract the input value from 65535 before doing any other processing.
Definition: SerialWombatAbstractScaledOutput.h:198
@ PERIOD_512mS
Definition: SerialWombatAbstractScaledOutput.h:82
uint16_t ReadLastTarget()
Definition: SerialWombatAbstractScaledOutput.h:586
int32_t PIDGetLastEffort()
Definition: SerialWombatAbstractScaledOutput.h:569
int32_t PIDGetLastError()
Definition: SerialWombatAbstractScaledOutput.h:483
virtual uint8_t pin()=0
Facilitates inheritance.
int16_t writeRateControl(Period samplePeriod, uint16_t maximumChangecounts)
Definition: SerialWombatAbstractScaledOutput.h:246
@ PERIOD_128mS
Definition: SerialWombatAbstractScaledOutput.h:80
int sendPacket(uint8_t tx[], uint8_t rx[])
Send an 8 byte packet to the Serial Wombat chip and wait for 8 bytes back.
Definition: SerialWombat.cpp:115
int32_t PIDGetLastIntegratorEffort()
Definition: SerialWombatAbstractScaledOutput.h:518
@ PERIOD_4mS
Definition: SerialWombatAbstractScaledOutput.h:75
@ CONFIGURE_PIN_OUTPUTSCALE
(210)
@ PERIOD_32mS
Definition: SerialWombatAbstractScaledOutput.h:78
int16_t writeScalingTargetValue(uint16_t target)
The target input value for PID control.
Definition: SerialWombatAbstractScaledOutput.h:222
int16_t Enable2DLookupOutputScaling(uint16_t IndexInUserMemory)
Set Up 2D Lookup Output Scaling.
Definition: SerialWombatAbstractScaledOutput.h:612
@ PERIOD_1mS
Definition: SerialWombatAbstractScaledOutput.h:73
uint16_t readLastOutputValue()
Request Last Output Value.
Definition: SerialWombatAbstractScaledOutput.h:453
#define SW_LE16(_a)
Convert a uint16_t to two bytes in little endian format for array initialization.
Definition: SerialWombat.h:41
virtual uint8_t swPinModeNumber()=0
Facilitates inheritance.
int16_t writeHysteresis(uint16_t lowLimit, uint16_t lowOutputValue, uint16_t highLimit, uint16_t highOutputValue, uint16_t initialOutputValue)
Controls the output based on hystersis control.
Definition: SerialWombatAbstractScaledOutput.h:329
int16_t writePID(uint16_t kp, uint16_t ki, uint16_t kd, uint16_t target, Period samplePeriod)
Configure the scaled output block into PID control mode.
Definition: SerialWombatAbstractScaledOutput.h:399
int32_t PIDGetLastIntegrator()
Definition: SerialWombatAbstractScaledOutput.h:501
@ PERIOD_2mS
Definition: SerialWombatAbstractScaledOutput.h:74