DS2482 Onewire Bridge

Provides an interface for the Dallas DS2482 onewire bridge
Install
$ npm install ds2482Usage
const DS2482 = require('ds2482');
const wire = new DS2482();
wire.init()
.then(() => wire.search())
.then(found => {
console.log(found); // Returns a list of ROM addresses as hex encoded strings
})
.catch(err => {
console.error(err);
});API
new DS2482([options])
Creates an interface for a Dallas DS2482 i2c to onewire bridge chip
Options:
i2can instance of i2caddressthe i2c address of the bridge chip, default:0x18devicethe location of the i2c interface, default:/dev/i2c-1
wire.init() alias: wire.reset()
Resets the bridge chip and any onewire devices connected to it
Returns: Promise <Uint8> resolves with status register
wire.configureBridge([options])
Configures the onewire interface for subsequent communication
Options:
activePullupcontrols whether to use active or passive pullupstrongPullupenables strong pullup only after next command then resetsoverdriveenable overdrive speed for the bridge chip
Returns: Promise <Uint8> resolves with configuration register
wire.selectChannel([channel])
Select the onewire channel to use for subsequent commands
Note: Only for use with DS2482-800
Arguments:
channelchannel to select, defaults to 0
Returns: Promise <Uint8> resolves with channel selection register
wire.sendCommand(command [, rom])
Sends a command to a onewire device if specified or all onewire devices if omitted
Arguments:
commandcommand to send as an unsigned integerromoptional ROM address of the device to send the command to as a 16 character hex encoded string
Returns: Promise <Uint8> resolves with status register
wire.search()
Searches the bus for all onewire devices and returns a list of ROM addresses as hex encoded strings
Returns: Promise <String[]> resolves with list of roms
[
"2826274402000012",
"2889075f0200003e",
"3ae9f412000000a6"
]wire.searchByFamily(family)
Searches the bus for all onewire devices of a particular family and returns a list of ROM addresses as hex encoded strings
Arguments:
familythe family to search as either an unsigned integer or 2 character hex encoded string
Returns: Promise <String[]> resolves with list of roms
[
"2826274402000012",
"2889075f0200003e"
]wire.searchROM()
Searches the bus for the next onewire device and returns the ROM address as a hex encoded string
Returns: Promise <String> resolves with rom
"2826274402000012"wire.readROM()
Reads the ROM address of the single onewire device and returns it as a hex encoded string
NOTE: Will return a CRC mismatch error if multiple devices are on the bus
Returns: Promise <String> resolves with rom
wire.matchROM(rom)
Selects a single onewire device to send a command to
Arguments:
romthe ROM address of the device to select as a 16 character hex encoded string
Returns: Promise <Uint8> resolves with status register
wire.skipROM()
Selects all onewire devices to send a command to
NOTE: Can only be used for commands that don't return a response
Returns: Promise <Uint8> resolves with status register
wire.writeData(data)
Writes one or more bytes to the onewire bus
Arguments:
dataa single byte, array of bytes or data buffer to be written out
Returns: Promise <Uint8> resolves with status register
wire.readData(size)
Reads one or more bytes from the onewire bus and returns a data buffer
Arguments:
sizenumber of bytes to be read in
Returns: Promise <Buffer> resolves with data buffer
DS2482.checkCRC(buffer)
Checks that the crc in the last byte matches the rest of the buffer
Arguments:
bufferthe data buffer to be checked
Returns: Boolean