DS2482-RK
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes
DS2482Command Class Reference

Useful static constants, but the class is mostly just a base class for other commands. More...

#include <DS2482-RK.h>

Inheritance diagram for DS2482Command:
DS24821WireCommand DS24821WireReadByte DS24821WireReset DS24821WireSendAddress DS24821WireTriplet DS24821WireWriteByte DS2482ChannelSelect DS2482CheckBusCommand DS2482ConvertTCommand DS2482DeviceReset DS2482GetTemperatureCommand DS2482GetTemperatureForListCommand DS2482ReadScratchpadCommand DS2482SearchBusCommand DS2482SetConfigCommand

Public Member Functions

 DS2482Command (DS2482 &parent)
 Construct a command object. More...
 
virtual ~DS2482Command ()
 Destructor.
 
virtual int loop ()
 Overridden by subclasses to do things; typically to run the state machine.
 

Static Public Attributes

static const int RESULT_WORKING = 0
 Asynchronous call still in progress.
 
static const int RESULT_DONE = 1
 Asynchronous call completed successfully.
 
static const int RESULT_I2C_ENDTRANSMISSION_BUSY_ERROR = -1
 Busy timeout upon entering endTransmission (I2C error)
 
static const int RESULT_I2C_ENDTRANSMISSION_START_ERROR = -2
 Start bit generation timeout (I2C error)
 
static const int RESULT_I2C_ENDTRANSMISSION_ADDRESS_ERROR = -3
 End of address transmission timeout (I2C error)
 
static const int RESULT_I2C_ENDTRANSMISSION_TRANSFER_ERROR = -4
 Data byte transfer timeout (I2C error)
 
static const int RESULT_I2C_ENDTRANSMISSION_AFTER_TRANSFER_ERROR = -5
 Data byte transfer succeeded, busy timeout immediately after (I2C error)
 
static const int RESULT_I2C_READ_TIMEOUT = -100
 I2C requestFrom did not return bytes.
 
static const int RESULT_I2C_COMMAND_TIMEOUT = -101
 An I2C command timed out.
 
static const int RESULT_1WIRE_SHORT = -200
 On a 1-wire bus reset, a short was detected (SD flag set)
 
static const int RESULT_1WIRE_BUSY = -201
 The previous 1-wire command had not completed yet.
 
static const int RESULT_1WIRE_NO_DEVICE = -202
 No device on the 1-wire bus when doing a 1-wire send address (no presence pulse detected)
 
static const int RESULT_TOO_MANY_RETRIES = -300
 Specified number of retries exceeded without getting a response with a valid CRC.
 
static const int RESULT_SEARCH_FAILED = -301
 During a 1-wire search bus, got an invalid set of bits returned.
 
static const int RESULT_SET_CHANNEL_FAILED = -303
 A DS2482-800 set channel operation failed to set the channel.
 
static const uint8_t TRIPLET_CMD = 0x78
 DS2482 I2C command code.
 
static const uint8_t SINGLE_1WIRE_BIT_CMD = 0x87
 DS2482 I2C command code.
 
static const uint8_t WRITE_BYTE_CMD = 0xa5
 DS2482 I2C command code.
 
static const uint8_t READ_BYTE_CMD = 0x96
 DS2482 I2C command code.
 
static const uint8_t RESET_1WIRE_CMD = 0xb4
 DS2482 I2C command code.
 
static const uint8_t CHANNEL_SELECT_CMD = 0xc3
 DS2482 I2C command code.
 
static const uint8_t WRITE_CONFIG_CMD = 0xd2
 DS2482 I2C command code.
 
static const uint8_t SET_READ_PTR_CMD = 0xe1
 DS2482 I2C command code.
 
static const uint8_t DEVICE_RESET_CMD = 0xf0
 DS2482 I2C command code.
 
static const uint8_t CONFIG_REG = 0xc3
 DS2482 register code.
 
static const uint8_t READ_DATA_REG = 0xe1
 DS2482 register code.
 
static const uint8_t STATUS_REG = 0xf0
 DS2482 register code.
 
static const uint8_t STATUS_DIR_MASK = 0b10000000
 DS2482 status register bit.
 
static const uint8_t STATUS_TSB_MASK = 0b01000000
 DS2482 status register bit.
 
static const uint8_t STATUS_SBR_MASK = 0b00100000
 DS2482 status register bit.
 
static const uint8_t STATUS_RST_MASK = 0b00010000
 DS2482 status register bit.
 
static const uint8_t STATUS_LL_MASK = 0b00001000
 DS2482 status register bit.
 
static const uint8_t STATUS_SD_MASK = 0b00000100
 DS2482 status register bit.
 
static const uint8_t STATUS_PPD_MASK = 0b00000010
 DS2482 status register bit.
 
static const uint8_t STATUS_1WB_MASK = 0b00000001
 DS2482 status register bit.
 
static const uint8_t CONFIG_1WS_MASK = 0b1000
 DS2482 config register bit.
 
static const uint8_t CONFIG_SPU_MASK = 0b0100
 DS2482 config register bit.
 
static const uint8_t CONFIG_APU_MASK = 0b0001
 DS2482 config register bit.
 
static const uint8_t SEARCH_ROM = 0xf0
 1-wire ROM select command
 
static const uint8_t READ_ROM = 0x33
 1-wire ROM select command
 
static const uint8_t MATCH_ROM = 0x55
 1-wire ROM select command
 
static const uint8_t SKIP_ROM = 0xcc
 1-wire ROM select command
 
static const uint8_t ALARM_SEARCH = 0xec
 DS18B20 command.
 
static const uint8_t CONVERT_T = 0x44
 DS18B20 command.
 
static const uint8_t WRITE_SCRATCHPAD = 0x4e
 DS18B20 command.
 
static const uint8_t READ_SCRATCHPAD = 0xbe
 DS18B20 command.
 
static const uint8_t COPY_SCRATCHPAD = 0x48
 DS18B20 command.
 
static const uint8_t RECALL_E2 = 0xb8
 DS18B20 command.
 
static const uint8_t READ_POWER_SUPPLY = 0xb4
 DS18B20 command.
 
static const int CONVERSION_9BIT = 0
 9-bit conversion size, resolution of 1/2 degree C, conversion time 94 ms
 
static const int CONVERSION_10BIT = 1
 10-bit conversion size, resolution of 1/4 degree C, conversion time 188 ms
 
static const int CONVERSION_11BIT = 2
 11-bit conversion size, resolution of 1/8 degree C, conversion time 375 ms
 
static const int CONVERSION_12BIT = 3
 12-bit conversion size, resolution of 1/16 degree C, conversion time 750 ms (default)
 
static const int RETRIES_DEFAULT = 3
 Default numnber of retries if you don't override it with withRetries()
 

Protected Member Functions

void pushCommand ()
 Add this command to the parent queue.
 
void pushCommandList ()
 Pushes a command list onto the command list stack. This is done when a command needs their own sequence of commands to run.
 
void popCommandList ()
 Pops a command list off the command list stack. This is done when a command needs their own sequence of commands to run.
 
int readStatus (uint8_t &value, bool setReadPointerFirst=true)
 Reads the status DS2482 status register.
 
int readData (uint8_t &value, bool setReadPointerFirst=true)
 Reads the status DS2482 data register.
 
int setReadPointer (uint8_t reg)
 Sets the DS2482 read pointer to a specific register (CONFIG_REG, READ_DATA_REG, READ_DATA_REG)
 
int readConfig (uint8_t &value)
 Reads the DS2482 config register. Always sets the data pointer first.
 
int writeConfig (bool speed, bool spu, bool apu)
 Writes the DS2482 config register.
 
int writeReg0 (uint8_t reg)
 Writes a DS2482 register.
 
int writeReg1 (uint8_t reg, uint8_t value)
 Writes the DS2482 config register and a value.
 
int strongPullUp (bool on)
 Enables or disables strong pull-up mode. Used by parasitic power mode.
 
void beginTransmission ()
 Reflects to DS2482 parent to do an I2C operation.
 
uint8_t endTransmission (bool stop=true)
 Reflects to DS2482 parent to do an I2C operation.
 
uint8_t requestFrom (uint8_t numBytes, bool stop=true)
 Reflects to DS2482 parent to do an I2C operation.
 
size_t write (uint8_t val)
 Reflects to DS2482 parent to do an I2C operation.
 
size_t write (const uint8_t *buf, size_t count)
 Reflects to DS2482 parent to do an I2C operation.
 
int available (void)
 Reflects to DS2482 parent to do an I2C operation.
 
int read (void)
 Reflects to DS2482 parent to do an I2C operation.
 

Protected Attributes

DS2482parent
 The DS2482 that this command is being run on.
 

Detailed Description

Useful static constants, but the class is mostly just a base class for other commands.

You won't need to instantiate this but will often use constants like RESULT_DONE in it.

Constructor & Destructor Documentation

◆ DS2482Command()

DS2482Command::DS2482Command ( DS2482 parent)

Construct a command object.

You won't need to do this, as this class is only used as superclass of other command classes


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