DS2406(3) One-Wire File System DS2406(3)

# [NAME](#NAME)

**DS2406, DS2407** - Dual Addressable Switch with 1kbit Memory, Hidable Dual Addressable Switch with 1kbit Memory

# [SYNOPSIS](#SYNOPSIS)

Dual Switch, Write-once Memory

**12** \[.]XXXXXXXXXXXX\[XX]\[/\[ **channels** | **latch.\[A|B|ALL|BYTE]** | **memory** | **pages/page.\[0-3|ALL]** | **PIO.\[A|B|ALL|BYTE]** | **power** | **sensed.\[A|B|ALL|BYTE]** | **set\_alarm** | **TAI8570/\[sibling|temperature|pressure]** | **T8A/volt.\[0-7,ALL]**

See the file man3/standard\_mini.3so.

]]

# [FAMILY CODE](#FAMILY_CODE)

*12*

# [SPECIAL PROPERTIES](#SPECIAL_PROPERTIES)

## [channels](#channels)

*read-only, unsigned integer*  
Is this a 1 or 2 channel switch? The *DS2406* comes in two forms, one has only one *PIO* pin (PIO.A). Returns 1 or 2.

## [latch.A latch.B latch.ALL latch.BYTE](#latch.A_latch.B_latch.ALL_latch.BYTE)

*read-write, yes-no*  
The activity latch is set to 1 with the first negative or positive edge detected on the associated PIO channel.  
Writing any data will clear latch for all (both)) channels. This is a hardware "feature" of the chip.  
*ALL* references both channels simultaneously, comma separated  
*BYTE* references both channels simultaneously as a single byte, with channel A in bit 0.

## [memory](#memory)

*read-write, binary*  
128 bytes of non-volatile, write-once data.

## [pages/page.0 ... pages/page.3 pages/page.ALL](#pages/page.0_..._pages/page.3_pages/page.ALL)

*read-write, binary*  
Memory organized as 4 pages or 32 bytes. Memory is write-once.  
*ALL* is the aggregate of all 4 pages, sequentially accessed.

## [PIO.A PIO.B PIO.ALL PIO.BYTE](#PIO.A_PIO.B_PIO.ALL_PIO.BYTE)

*read-write, yes-no*  
State of the open-drain output ( *PIO* ) pin. 0 = non-conducting (off), 1 = conducting (on).  
Writing zero will turn off the switch, non-zero will turn on the switch. Reading the *PIO* state will return the switch setting (flipflop in the data sheet). To determine the actual logic level at the switch, refer to the *sensed* property.  
Note that the actual pin setting for the chip uses the opposite polarity -- 0 for conducting, 1 for non-conducting. However, to turn a connected device on (i.e. to deliver power) we use the software concept of 1 as conducting or "on".  
*ALL* references both channels simultaneously, comma separated.  
*BYTE* references both channels simultaneously as a single byte, with channel A in bit 0.

## [power](#power)

*read-only, yes-no*  
Is the *DS2406* powered parasitically =0 or separately on the Vcc pin =1

## [sensed.A sensed.B sensed.ALL sensed.BYTE](#sensed.A_sensed.B_sensed.ALL_sensed.BYTE)

*read-only, yes-no*  
Logic level at the *PIO* pin. 0 = ground. 1 = high (~2.4V - 5V ). Really makes sense only if the *PIO* state is set to zero (off), else will read zero.  
*ALL* references both channels simultaneously, comma separated.  
*BYTE* references both channels simultaneously as a single byte, with channel A in bit 0.

## [set\_alarm](#set_alarm)

*read-write, unsigned integer (0-331)*  
A number consisting of three digits XYZ, where:

[X](#X)

channel selection  
*0* neither  
*1* A only  
*2* B only  
*3* A or B

[Y](#Y)

source selection  
*0* undefined  
*1* latch  
*2* PIO  
*3* sensed

[Z](#Z)

polarity selection  
*0* low  
*1* high

All digits will be truncated to the 0-3 (or 0-1) range. Leading zeroes are optional (and may be problematic for some shells).

Example:

311

Responds on Conditional Search when either latch.A or latch.B (or both) are set to 1.

&lt;100

Never responds to Conditional Search.

## [TAI8570/](#TAI8570/)

*subdirectory*  
Properties when the [*DS2406 (3)*](/man/os/owfs/DS2406.3) is built into a *TAI8570.*  
If the [*DS2406 (3)*](/man/os/owfs/DS2406.3) is not part of a *TAI8570* or is not the controlling switch, attempts to read will result in an error.

## [TAI8570/pressure](#TAI8570/pressure)

*read-only, floating point*  
Barometric *pressure* in millibar.

## [TAI8570/sibling](#TAI8570/sibling)

*read-only, ascii*  
Hex address of the [*DS2406 (3)*](/man/os/owfs/DS2406.3) paired with this chip in a *TAI8570.*

## [TAI8570/temperature](#TAI8570/temperature)

*read-only, floating-point*  
Ambient *temperature* measured by the *TAI8570* in prevailing temperature units (Centigrade is the default).

## [T8A/volt.\[0-7|ALL\]](#T8A/volt._0-7_ALL_)

*read-only, floating-point*  
Uses the T8A (by *Embedded Data Systems* ) 8 channel voltage converter. Units in volts, 0 to 5V range. 12 bit resolution.

# [STANDARD PROPERTIES](#STANDARD_PROPERTIES)

See the file man3/standard.3so.

# [ALARMS](#ALARMS)

Use the *set\_alarm* property to set the alarm triggering criteria.

# [DESCRIPTION](#DESCRIPTION)

See the file man3/description.3so.

## [DS2406](#DS2406)

The [**DS2406 (3)**](/man/os/owfs/DS2406.3) allows control of other devices, like LEDs and relays. It superceeds the **DS2405** and **DS2407** Alternative switches include the **DS2408** or even **DS2450**  
The **DS2407** is practically identical to the *DS2406* except for a strange *hidden* mode. It is supported just like the **DS2406**

## [TAI8570](#TAI8570)

The *TAI-8570 Pressure Sensor* is based on a 1-wire composite device by *AAG Electronica.* The *TAI8570* uses 2 *DS2406 (3)* chips, paired as a reader and writer to synthesize 3-wire communication. Only 1 of the [*DS2406 (3)*](/man/os/owfs/DS2406.3) will allow *temperature* or *pressure* readings. It's mate's address can be shown as *sibling.*

The *TAI8570* uses the *Intersema MS5534a* pressure sensor, and stores calibration and temperature compensation values internally.

Design and code examples are available from AAG Electronica http://aag.com.mx , specific permission to use code in a GPL product was given by Mr. Aitor Arrieta of AAG and Dr. Simon Melhuish of OWW.

# [ADDRESSING](#ADDRESSING)

See the file man3/addressing.3so.

# [DATASHEET](#DATASHEET)

http://pdfserv.maxim-ic.com/en/ds/DS2406.pdf  
http://pdfserv.maxim-ic.com/en/ds/DS2407.pdf  
http://www.embeddeddatasystems.com/page/EDS/PROD/IO/T8A  
http://oww.sourceforge.net/hardware.html#bp

# [SEE ALSO](#SEE_ALSO)

See the file man3/seealso.3so.

# [AVAILABILITY](#AVAILABILITY)

http://www.owfs.org

# [AUTHOR](#AUTHOR)

Paul Alfille (paul.alfille@gmail.com)

2003 OWFS Manpage

---

Document: DS2406(3) from owfs 3.2.4-r10 (Chainguard OS)
Source: https://github.com/owfs/owfs
