|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.dalsemi.onewire.container.OneWireContainer | +--com.dalsemi.onewire.container.OneWireContainer30
The DS2760 1-Cell Li-Ion Battery Monitor is a data acquisition, information storage, and safety protection device tailored for cost-sensitive battery pack applications. This low-power device integrates precise temperature, voltage, and current measurement, nonvolatile data storage, and Li-Ion protection into the small footprint of either a TSSOP package or flip-chip. The DS2760 is a key component in applications including adaptive charging, remaining capacity estimation, safety monitoring, and battery-specific data storage.
Field Summary | |
static byte |
CC_PIN_STATE_FLAG
PROTECTION REGISTER FLAG: Mirrors the !CC output pin. |
static byte |
CHARGE_ENABLE_FLAG
PROTECTION REGISTER FLAG: Reseting this flag will disable charging regardless of cell or pack conditions. |
static byte |
CHARGE_OVERCURRENT_FLAG
PROTECTION REGISTER FLAG: When this flag is true the battery has experienced a charge-direction overcurrent condition. |
static byte |
DC_PIN_STATE_FLAG
PROTECTION REGISTER FLAG: Mirrors the !DC output pin. |
static byte |
DISCHARGE_ENABLE_FLAG
PROTECTION REGISTER FLAG: Reseting this flag will disable discharging. |
static byte |
DISCHARGE_OVERCURRENT_FLAG
PROTECTION REGISTER FLAG: When this flag is true the battery has experienced a discharge-direction overcurrent condition. |
static byte |
EEPROM_BLOCK_0_LOCK_FLAG
EEPROM REGISTER FLAG: When this flag is true, Block 0 of the EEPROM (addresses 32-47) is read-only. |
static byte |
EEPROM_BLOCK_1_LOCK_FLAG
EEPROM REGISTER FLAG: When this flag is true, Block 1 of the EEPROM (addresses 48-63) is read-only. |
static byte |
EEPROM_COPY_FLAG
EEPROM REGISTER FLAG: This flag will be true if the Copy Data Command is in progress. |
static byte |
EEPROM_LOCK_ENABLE_FLAG
EEPROM REGISTER FLAG: When this flag is true, the Lock Command is enabled. |
static byte |
EEPROM_REGISTER
Address of the EEPROM Register. |
static byte |
OVERVOLTAGE_FLAG
PROTECTION REGISTER FLAG: When this flag is true, it indicates that the battery pack has experienced an overvoltage condition. |
static byte |
PIO_PIN_SENSE_AND_CONTROL_FLAG
SPECIAL FEATURE REGISTER FLAG: Mirrors/sets the state of the PIO pin. |
static byte |
PROTECTION_REGISTER
Address of the Protection Register. |
static byte |
PS_PIN_STATE_FLAG
SPECIAL FEATURE REGISTER FLAG: Mirrors the state of the !PS pin. |
static byte |
READ_NET_ADDRESS_OPCODE_FLAG
STATUS REGISTER FLAG: If set, the opcode for the Read Net Address command will be set to 33h. |
static byte |
SLEEP_MODE_ENABLE_FLAG
STATUS REGISTER FLAG: Enables/disables the DS2760 to enter sleep mode when the DQ line goes low for greater than 2 seconds. |
static byte |
SPECIAL_FEATURE_REGISTER
Address of the Special Feature Register. |
static byte |
STATUS_REGISTER
Address of the Status Register. |
static byte |
UNDERVOLTAGE_FLAG
PROTECTION REGISTER FLAG: When this flag is true, the battery pack has experienced an undervoltage. |
Fields inherited from interface com.dalsemi.onewire.container.ADContainer |
ALARM_HIGH, ALARM_LOW |
Fields inherited from interface com.dalsemi.onewire.container.TemperatureContainer |
ALARM_HIGH, ALARM_LOW |
Constructor Summary | |
OneWireContainer30()
Default constructor |
|
OneWireContainer30(DSPortAdapter sourceAdapter,
byte[] newAddress)
Create a container with a provided adapter object and the address of the iButton or 1-Wire device. |
|
OneWireContainer30(DSPortAdapter sourceAdapter,
long newAddress)
Create a container with a provided adapter object and the address of the iButton or 1-Wire device. |
|
OneWireContainer30(DSPortAdapter sourceAdapter,
java.lang.String newAddress)
Create a container with a provided adapter object and the address of the iButton or 1-Wire device. |
Method Summary | |
boolean |
canADMultiChannelRead()
Query to see if this A/D supports doing multiple voltage conversions at the same time. |
void |
clearConditions()
Clears the overvoltage, undervoltage, charge overcurrent, and discharge overcurrent flags. |
void |
doADConvert(boolean[] doConvert,
byte[] state)
This method is used to perform voltage conversion on all specified channels. |
void |
doADConvert(int channel,
byte[] state)
This method is used to perform voltage conversion on all specified channels. |
void |
doTemperatureConvert(byte[] state)
Perform an temperature conversion. |
double |
getADAlarm(int channel,
int alarmType,
byte[] state)
This method is used to extract the alarm voltage value of the specified channel from the provided state buffer. |
boolean |
getADAlarmEnable(int channel,
int alarmType,
byte[] state)
This method is used to extract the alarm enable value of the specified channel from the provided state buffer. |
double |
getADRange(int channel,
byte[] state)
This method is used to extract the input voltage range of the specified channel from the provided state buffer. |
double[] |
getADRanges(int channel)
Query to get an array of available ranges for the specified A/D channel. |
double |
getADResolution(int channel,
byte[] state)
This method is used to extract the conversion resolution of the specified channel from the provided state buffer expressed in volts. |
double[] |
getADResolutions(int channel,
double range)
Query to get an array of available resolutions based on the specified range on the specified A/D channel. |
double[] |
getADVoltage(byte[] state)
This method is used to read the voltage values. |
double |
getADVoltage(int channel,
byte[] state)
This method is used to read a channels voltage value. |
java.lang.String |
getAlternateNames()
Return the alternate Dallas Semiconductor part number or name. |
double |
getCurrent(byte[] state)
Get the instantaneous current. |
java.lang.String |
getDescription()
Return a short description of the function of the iButton type. |
boolean |
getFlag(int memAddr,
byte flagToGet)
Checks the specified flag in the specified registor. |
boolean |
getLatchState()
Returns the latch state of the Programmable Input/Ouput pin on the DS2760. |
double |
getMaxTemperature()
Query to get the maximum temperature in degrees C. |
double |
getMinTemperature()
Query to get the minimum temperature in degrees C. |
java.lang.String |
getName()
Returns the Dallas Semiconductor part number of the iButton as a string. |
int |
getNumberADChannels()
Query to get the number of channels supported by this A/D. |
double |
getRemainingCapacity(byte[] state)
Calculate the remaining capacity in mAHours from the current Accumulator. |
double |
getTemperature(byte[] state)
This method extracts the Temperature Value in degrees C from the state data retrieved from the 'readDevice()' method. |
double |
getTemperatureAlarm(int alarmType,
byte[] state)
This method extracts the specified Alarm value in degrees C from the state data retrieved from the 'readDevice()' method. |
double |
getTemperatureAlarmResolution()
Query to get the high/low resolution in degrees C. |
double |
getTemperatureResolution(byte[] state)
This method extracts the current resolution in degrees C from the state data retrieved from the 'readDevice()' method. |
double[] |
getTemperatureResolutions()
Query to get an array of available resolutions in degrees C. |
boolean |
hasADAlarmed(int channel,
int alarmType,
byte[] state)
This method is used to check the alarm event value of the specified channel from the provided state buffer. |
boolean |
hasADAlarms()
Query to see if this A/D measuring device has high/low alarms. |
boolean |
hasSelectableTemperatureResolution()
Query to see if this device has selectable resolution. |
boolean |
hasTemperatureAlarms()
Query to see if this temperature measuring device has high/low trip alarms. |
void |
lockBlock(int blockNumber)
Permanently write-protects one of the user blocks of EEPROM. |
byte |
readByte(int memAddr)
Read a register byte from the memory of the DS2760. |
void |
readBytes(int memAddr,
byte[] buffer,
int start,
int len)
Reads bytes from the DS2760. |
byte[] |
readDevice()
This method retrieves the 1-Wire device sensor state. |
byte[] |
readEEPROMBlock(int blockNumber)
Read a 16 byte data block from one of the user EEPROM blocks. |
void |
setADAlarm(int channel,
int alarmType,
double alarm,
byte[] state)
This method is used to set the alarm voltage value of the specified channel in the provided state buffer. |
void |
setADAlarmEnable(int channel,
int alarmType,
boolean alarmEnable,
byte[] state)
This method is used to set the alarm enable value of the specified channel in the provided state buffer. |
void |
setADRange(int channel,
double range,
byte[] state)
This method is used to set the input range for the specified channel in the provided state buffer. |
void |
setADResolution(int channel,
double resolution,
byte[] state)
This method is used to set the conversion resolution value for the specified channel in the provided state buffer. |
void |
setFlag(int memAddr,
byte flagToSet,
boolean flagValue)
Set one of the flags in one of the registers. |
void |
setLatchState(boolean on)
Sets the state for the Programmable Input/Output pin. |
void |
setRemainingCapacity(double remainingCapacity)
Allows user to set the remaining capacity. |
void |
setResistorExternal(double Rsens)
Set the DS2760 to use an external, user-selectable resistance. |
void |
setResistorInternal()
Set the DS2760 to use its internal .025 ohm resistor for measurements. |
void |
setTemperatureAlarm(int alarmType,
double alarmValue,
byte[] state)
This method sets the alarm value in degrees C in the provided state data. |
void |
setTemperatureResolution(double resolution,
byte[] state)
This method sets the current resolution in degrees C in the provided state data. |
void |
writeByte(int memAddr,
byte data)
Write a register byte to the memory of the DS2760. |
void |
writeDevice(byte[] state)
This method write the 1-Wire device sensor state that have been changed by the 'set' methods. |
void |
writeEEPROMBlock(int blockNumber,
byte[] data)
Write a 16 byte data block to one of the user blocks. |
Methods inherited from class com.dalsemi.onewire.container.OneWireContainer |
doSpeed, getAdapter, getAddress, getAddressAsLong, getAddressAsString, getMaxSpeed, getMemoryBanks, isAlarming, isPresent, setSpeed, setupContainer, setupContainer, setupContainer |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final byte PROTECTION_REGISTER
public static final byte STATUS_REGISTER
public static final byte EEPROM_REGISTER
public static final byte SPECIAL_FEATURE_REGISTER
public static final byte OVERVOLTAGE_FLAG
public static final byte UNDERVOLTAGE_FLAG
public static final byte CHARGE_OVERCURRENT_FLAG
public static final byte DISCHARGE_OVERCURRENT_FLAG
public static final byte CC_PIN_STATE_FLAG
public static final byte DC_PIN_STATE_FLAG
public static final byte CHARGE_ENABLE_FLAG
public static final byte DISCHARGE_ENABLE_FLAG
public static final byte SLEEP_MODE_ENABLE_FLAG
public static final byte READ_NET_ADDRESS_OPCODE_FLAG
public static final byte EEPROM_COPY_FLAG
public static final byte EEPROM_LOCK_ENABLE_FLAG
public static final byte EEPROM_BLOCK_1_LOCK_FLAG
public static final byte EEPROM_BLOCK_0_LOCK_FLAG
public static final byte PS_PIN_STATE_FLAG
public static final byte PIO_PIN_SENSE_AND_CONTROL_FLAG
Constructor Detail |
public OneWireContainer30()
public OneWireContainer30(DSPortAdapter sourceAdapter, byte[] newAddress)
sourceAdapter
- adapter object required to communicate with
this iButton.newAddress
- address of this 1-Wire devicepublic OneWireContainer30(DSPortAdapter sourceAdapter, long newAddress)
sourceAdapter
- adapter object required to communicate with
this iButton.newAddress
- address of this 1-Wire devicepublic OneWireContainer30(DSPortAdapter sourceAdapter, java.lang.String newAddress)
sourceAdapter
- adapter object required to communicate with
this iButton.newAddress
- address of this 1-Wire deviceMethod Detail |
public java.lang.String getName()
getName
in class OneWireContainer
String
representation of the iButton namepublic java.lang.String getAlternateNames()
getAlternateNames
in class OneWireContainer
String
representation of the alternate names.public java.lang.String getDescription()
getDescription
in class OneWireContainer
String
representation of the function description.public void setResistorInternal()
public void setResistorExternal(double Rsens)
double
- represents the resistance in ohms.public byte readByte(int memAddr) throws OneWireIOException, OneWireException
Note: This function should only be used when reading the register memory of the 2760. The EEPROM blocks (addresses 32-64) should be accessed with writeBlock/readBlock.
memAddr
- the address to read (0-255)byte
holding the data read from memory.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void readBytes(int memAddr, byte[] buffer, int start, int len) throws OneWireIOException, OneWireException
Note: This function should only be used when reading the register memory of the 2760. The EEPROM blocks (addresses 32-64) should be accessed with writeBlock/readBlock.
memAddr
- the address to read (0-255)buffer
- start
- len
- byte
holding the data read from memory.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void writeByte(int memAddr, byte data) throws OneWireIOException, OneWireException
Note: This method should only be used when writing to the register memory of the 2760. The EEPROM blocks (addresses 32-64) require special treatment and thus the writeBlock/readBlock functions should be used for those.
memAddr
- the address to write (0-255).data
- the data byte to write to memory.OneWireIOException
- Error writing data [ recoverable ]OneWireException
- Could not find part [ fatal ]public byte[] readEEPROMBlock(int blockNumber) throws OneWireIOException, OneWireException
blockNumber
- the EEPROM block number to read.
Acceptable parameters are 0 and 1.
byte[]
holding the 16 data bytes.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void writeEEPROMBlock(int blockNumber, byte[] data) throws OneWireIOException, OneWireException
blockNumber
- the block to write to.
Acceptable parameters are 0 and 1.
data
- the 16 bytes of data to write.OneWireIOException
- Error writing data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void lockBlock(int blockNumber) throws OneWireIOException, OneWireException
blockNumber
- block number to permanently write protect.
Acceptable parameters are 0 and 1.
OneWireIOException
- Error locking block [ recoverable ]OneWireException
- Could not find part [ fatal ]public boolean getFlag(int memAddr, byte flagToGet) throws OneWireIOException, OneWireException
Valid registors are: PROTECTION_REGISTER, STATUS_REGISTER, EEPROM_REGISTER and SPECIAL_FEATURE_REGISTER.
memAddr
- the registers address. Pre-defined
fields for each register are defined above.flagToGet
- bitmask of desired flag. The acceptable parameters
pertaining to each register are defined as constant fields above.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void setFlag(int memAddr, byte flagToSet, boolean flagValue) throws OneWireIOException, OneWireException
Valid registers are: PROTECTION_REGISTER, STATUS_REGISTER, EEPROM_REGISTER and the infamous SPECIAL_FEATURE_REGISTER.
memAddr
- the register address. These addresses are
predefined above.flagToSet
- bitmask of flag to set. Valid
parameters pertaining to each register are defined as constant fields above.flagValue
- status to set the flag at.OneWireIOException
- Error setting flag [ recoverable ]OneWireException
- Could not find part [ fatal ]public double getCurrent(byte[] state) throws OneWireIOException, OneWireException
state
- double
containing the current in Amperes.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void setRemainingCapacity(double remainingCapacity) throws OneWireIOException, OneWireException
By measuring your battery's current and voltage when it is fully charged and when it is empty, you can figure out the voltage corresponding to an empty battery and the current corresponding to a full one. These values can be detected in your program and the remaining capacity can be set to the empty/full levels accordingly for nice accuracy.
remainingCapacity
- the remaining capacity IN mAHrs.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public double getRemainingCapacity(byte[] state) throws OneWireIOException, OneWireException
state
- double
containing the mAHours of battery capacity remaining.OneWireIOException
- Error reading data [ recoverable ]OneWireException
- Could not find part [ fatal ]public void setLatchState(boolean on) throws OneWireIOException, OneWireException
on
- State of the PIO pin to setOneWireIOException
- OneWireException
- public boolean getLatchState() throws OneWireIOException, OneWireException
OneWireIOException
- OneWireException
- public void clearConditions() throws OneWireIOException, OneWireException
OneWireIOException
- OneWireException
- public int getNumberADChannels()
getNumberADChannels
in interface ADContainer
public boolean hasADAlarms()
hasADAlarms
in interface ADContainer
public double[] getADRanges(int channel)
getADRanges
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].public double[] getADResolutions(int channel, double range)
getADResolutions
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].range
- public boolean canADMultiChannelRead()
canADMultiChannelRead
in interface ADContainer
public void doADConvert(int channel, byte[] state) throws OneWireIOException, OneWireException
doADConvert
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].state
- - byte array of the current state of the
device returned from 'readDevice()'.OneWireIOException
- OneWireException
- public void doADConvert(boolean[] doConvert, byte[] state) throws OneWireIOException, OneWireException
doADConvert
in interface ADContainer
doConvert
- - boolean array representing which channels
to perform conversion on.state
- - byte array of the current state of the
device returned from 'readDevice()'.OneWireIOException
- OneWireException
- public double[] getADVoltage(byte[] state) throws OneWireIOException, OneWireException
getADVoltage
in interface ADContainer
state
- - byte array of the current state of the
device returned from 'readDevice()'.OneWireIOException
- OneWireException
- public double getADVoltage(int channel, byte[] state) throws OneWireIOException, OneWireException
getADVoltage
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].state
- - byte array of the current state of the
device returned from 'readDevice()'.OneWireIOException
- OneWireException
- public double getADAlarm(int channel, int alarmType, byte[] state) throws OneWireException
getADAlarm
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].alarmType
- - int, representing the desired alarm, ALARM_HIGH (1)
or ALARM_LOW (0)state
- - byte array of the current state of the
device returned from 'readDevice()'.public boolean getADAlarmEnable(int channel, int alarmType, byte[] state) throws OneWireException
getADAlarmEnable
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].alarmType
- - int, representing the desired alarm, ALARM_HIGH (1)
or ALARM_LOW (0)state
- - byte array of the current state of the state
returned from 'readDevice()'.public boolean hasADAlarmed(int channel, int alarmType, byte[] state) throws OneWireException
hasADAlarmed
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].alarmType
- - int, representing the desired alarm, ALARM_HIGH (1)
or ALARM_LOW (0)state
- - byte array of the current state of the state
returned from 'readDevice()'.public double getADResolution(int channel, byte[] state)
getADResolution
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].state
- - byte array of the current state of the state
returned from 'readDevice()'.public double getADRange(int channel, byte[] state)
getADRange
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].state
- - byte array of the current state of the state
returned from 'readDevice()'.public void setADAlarm(int channel, int alarmType, double alarm, byte[] state) throws OneWireException
setADAlarm
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].alarmType
- - int, representing the desired alarm, ALARM_HIGH (1)
or ALARM_LOW (0)alarm
- - double, alarm value (will be reduced to 8 bit resolution).state
- - byte array of the current state of the
device returned from 'readDevice()'.public void setADAlarmEnable(int channel, int alarmType, boolean alarmEnable, byte[] state) throws OneWireException
setADAlarmEnable
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].alarmType
- - int, representing the desired alarm, ALARM_HIGH (1)
or ALARM_LOW (0)alarmEnable
- - boolean, alarm enable valuestate
- - byte array of the current state of the
device returned from 'readDevice()'.public void setADResolution(int channel, double resolution, byte[] state)
setADResolution
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].resolution
- - double, resolution to use in voltsstate
- - byte array of the current state of the
device returned from 'readDevice()'.public void setADRange(int channel, double range, byte[] state)
setADRange
in interface ADContainer
channel
- - integer specifying channel in the range
[0 to (getNumberChannels() - 1)].range
- - double, representing the max volt range, use
'getRanges()' method to get available rangesstate
- - byte array of the current state of the
device returned from 'readDevice()'.public boolean hasTemperatureAlarms()
hasTemperatureAlarms
in interface TemperatureContainer
public boolean hasSelectableTemperatureResolution()
hasSelectableTemperatureResolution
in interface TemperatureContainer
public double[] getTemperatureResolutions()
getTemperatureResolutions
in interface TemperatureContainer
public double getTemperatureAlarmResolution() throws OneWireException
getTemperatureAlarmResolution
in interface TemperatureContainer
public double getMaxTemperature()
getMaxTemperature
in interface TemperatureContainer
public double getMinTemperature()
getMinTemperature
in interface TemperatureContainer
public void doTemperatureConvert(byte[] state) throws OneWireIOException, OneWireException
doTemperatureConvert
in interface TemperatureContainer
state
- - byte array of device stateOneWireIOException
- OneWireException
- public double getTemperature(byte[] state)
getTemperature
in interface TemperatureContainer
state
- - byte array of device statepublic double getTemperatureAlarm(int alarmType, byte[] state) throws OneWireException
getTemperatureAlarm
in interface TemperatureContainer
alarmType
- - integer, indicating trip type ALARM_HIGH (1)
or ALARM_LOW (0)state
- - byte array of device statepublic double getTemperatureResolution(byte[] state)
getTemperatureResolution
in interface TemperatureContainer
state
- - byte array of device statepublic void setTemperatureAlarm(int alarmType, double alarmValue, byte[] state) throws OneWireException, OneWireIOException
setTemperatureAlarm
in interface TemperatureContainer
alarmType
- - integer, indicating trip type ALARM_HIGH (1)
or ALARM_LOW (0)alarmValue
- - double, high trip value in degrees Cstate
- - byte array of device statepublic void setTemperatureResolution(double resolution, byte[] state) throws OneWireException, OneWireIOException
setTemperatureResolution
in interface TemperatureContainer
resolution
- - double, temperature resolution in degrees Cstate
- - byte array of device statepublic byte[] readDevice() throws OneWireIOException, OneWireException
readDevice
in interface OneWireSensor
byte[]<\code> 1-Wire device sensor state *- Throws:
OneWireIOException
- OneWireException
-
public void writeDevice(byte[] state) throws OneWireIOException, OneWireException
writeDevice
in interface OneWireSensor
state
- - byte array of clock register page contentsOneWireIOException
- OneWireException
-
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |