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

# [NAME](#NAME)

**DS2404** - EconoRAM time chip

[**DS2404S**](#DS2404S)

\- Dual port memory plus time

[**DS1994**](#DS1994)

\- 4k plus time iButton

[**DS1427**](#DS1427)

\- Time iButton

# [SYNOPSIS](#SYNOPSIS)

Real time clock, 4kbit memory. 3-wire interface, too.

**04.XXXXXXXXXXXX** / **alarm** | **auto** | **cycle** | **date** | **delay** | **interval** | **memory** | **pages/page.\[0-15|ALL]** | **readonly/\[memory|clock|cycle|interval]** | **memory** | **pages/page.\[0-15|ALL]** | **readonly/\[memory|clock|cycle|interval]** | **running** | **set\_alarm** | **start** | **trigger/\[cycle,date,interval,udate,uinterval]** | **udate** | **uinterval** |

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

**84.XXXXXXXXXXXX** / **alarm** | **auto** | **cycle** | **date** | **delay** | **interval** | **memory** | **pages/page.\[0-15|ALL]** | **readonly/\[memory|clock|cycle|interval]** | **running** | **set\_alarm** | **start** | **trigger/\[cycle,date,interval,udate,uinterval]** | **udate** | **uinterval** | **address** | **crc8** | **id** | **present** | **type**

# [FAMILY CODE](#FAMILY_CODE)

*04*

DS2404 DS1994

*84*

DS1427 DS2404S

# [SPECIAL PROPERTIES](#SPECIAL_PROPERTIES)

## [alarm](#alarm)

*read-write, unsigned integer (0-111)*  
*Alarm* state of the [*DS2404 (3)*](/man/os/owfs/DS2404.3) triggered by time or counter events. Reading the alarm state clears the alarm.  
The *alarm* value is of the form CIR, where:

[C](#C)

*cycle* counter alarm  
*0* no  
*1* yes

[I](#I)

*interval* timer alarm  
*0* no  
*1* yes

[R](#R)

real-time clock alarm  
*0* no  
*1* yes

## [auto](#auto)

*read-write, yes-no*  
Flag for mode of *interval* counter operation. 0=manual 1=auto  
See the *datasheet* for details.

## [date](#date)

*read-write, ascii*  
26 character date representation of the *udate* value. Increments once per second while *running*  
Actual internal representation has higher precision.  
Cannot be altered if *readonly/clock* is set.  
Setting *date* to a null string will put the current system time.  
Accepted date formats are:  
Sat\[urday] March 12 12:23:59 2001  
Apr\[il] 4 9:34:56 2002  
3/23/04 23:34:57  
current locale setting (your system's format)

## [delay](#delay)

*read-write, yes-no*  
Flag for adding a delay to *cycle* counter. 0=short 1-long  
See the *datasheet* under "IDEL" for details.

## [interval](#interval)

*read-write, date*  
Interval timer value, represented as a *date* string. More typically will be used as *uinterval* to read the actual elapsed seconds.

## [memory](#memory)

*read-write, binary*  
512 bytes of memory. The *readonly/memory* flag prevents further change.

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

*read-write, yes-no*  
Memory is split into 16 pages of 32 bytes each. The *readonly/memory* flag prevents further change. *ALL* is an aggregate of the pages. Each page is accessed sequentially.

## [readonly/\[memory|clock|interval|cycle\]](#readonly/_memory_clock_interval_cycle_)

*read-write, yes-no*  
Permanently protect part of the chip's function from alteration.

[*readonly/memory*](#readonly/memory)

*page.X* and *memory*

[*readonly/clock*](#readonly/clock)

*date* and *udate*

[*readonly/interval*](#readonly/interval)

*interval*

[*readonly/cycle*](#readonly/cycle)

*cycle*

## [running](#running)

*read-write, yes-no*  
State of the clock. 0=off 1=running.

## [set\_alarm](#set_alarm)

*read-write, unsigned integer (0-111)*  
Which of the *alarm* triggers are enabled in the [*DS2404 (3)*](/man/os/owfs/DS2404.3)  
The *set\_alarm* value is of the form CIR, where:

[C](#C~2)

*cycle* counter alarm  
*0* no  
*1* yes

[I](#I~2)

*interval* timer alarm  
*0* no  
*1* yes

[R](#R~2)

real-time clock alarm  
*0* no  
*1* yes

## [start](#start)

*read-write, yes-no*  
Flag for starting the *interval* counter operation if not in *auto* mode. 0=stop 1=start  
See the *datasheet* for details.

## [trigger/\[cycle,date,interval,udate,uinterval\]](#trigger/_cycle,date,interval,udate,uinterval_)

*read-write,varies*  
Target value that will *trigger* the *alarm* if the corresponding *set\_alarm* field is set.  
The format is the same as the similarly named field (i.e. *date* for *trigger/date* )

## [udate](#udate)

*read-write, unsigned integer*  
Time represented as a number. *udate* increments once per second, while *running* is on.  
Usually set to unix time standard: number of seconds since Jan 1, 1970. The *date* field will be the unix representation of *udate* and setting either will change the other.

## [uinterval](#uinterval)

*read-write, unsigned interval*  
Similar to the *udate* field, except corresponds to the *interval* value.

# [STANDARD PROPERTIES](#STANDARD_PROPERTIES)

See the file man3/standard.3so.

# [ALARMS](#ALARMS)

None implemented.

# [DESCRIPTION](#DESCRIPTION)

See the file man3/description.3so.

## [DS1427 DS1994 DS2404 DS2404S](#DS1427_DS1994_DS2404_DS2404S)

The **[DS1427 (3)](/man/os/owfs/DS1427.3), [DS1994 (3)](/man/os/owfs/DS1994.3), [DS2404 (3)](/man/os/owfs/DS2404.3),** and **DS2404S (3)** family of 1-wire devices includes clock functions, with timers, memory, counters and alarms. It is possible to write-protect regians of memory. Uses include software or hardware timing and control.

## [Chips](#Chips)

Both the [**DS2404 (3)**](/man/os/owfs/DS2404.3) and [**DS2404S (3)**](/man/os/owfs/DS2404S.3) have 1-wire and 3-wire interfaces, which might be useful for transferring data between the 2 buses. They act as a passive slave to both buses. The [**DS2404 (3)**](/man/os/owfs/DS2404.3) and [**DS2404S (3)**](/man/os/owfs/DS2404S.3) require an external source of power and an external crystal. They also offer a reset and 1HZ clock pin.

## [iButtons](#iButtons)

Both the **DS1427** and **DS1994** offer the memory, alarms, and clock function in iButton format. Because the iButton is a complete sealed package, battery and crystal are internal. Everything is access via the 1-wire interface.

# [ADDRESSING](#ADDRESSING)

See the file man3/addressing.3so.

# [DATASHEET](#DATASHEET)

http://pdfserv.maxim-ic.com/en/ds/DS2404.pdf  
http://pdfserv.maxim-ic.com/en/ds/DS2404S-C01.pdf  
http://pdfserv.maxim-ic.com/en/ds/DS1994.pdf  
http://pdfserv.maxim-ic.com/en/ds/DS1427.pdf

# [SEE ALSO](#SEE_ALSO)

See the file man3/seealso.3so.

# [AVAILABILITY](#AVAILABILITY)

http://www.owfs.org

# [AUTHOR](#AUTHOR)

Paul Alfille (paul.alfille@gmail.com)

2006 OWFS Manpage

---

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