Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DS2408(3)		     One-Wire File System		     DS2408(3)

NAME
       DS2408 -	1-Wire 8 Channel Addressable Switch

SYNOPSIS
       8 port switch

       29	  [.]XXXXXXXXXXXX[XX][/[	 latch.[0-7|ALL|BYTE]	     |
       LCD_M/[clear|home|screen|message]				     |
       LCD_H/[clear|home|yxscreen|screen|message|onoff]	     |	   LCD_H/rede-
       fchar.[0-7|ALL] LCD_H/redefchar_hex.[0-7|ALL]  |	 PIO.[0-7|ALL|BYTE]  |
       power | sensed.[0-7|ALL|BYTE] | strobe |	por | set_alarm	| out_of_test-
       mode  |	address	| crc8 | id | locator |	r_address | r_id | r_locator |
       type ]]

FAMILY CODE
       29

SPECIAL	PROPERTIES
   latch.0 ... latch.7 latch.ALL latch.BYTE
       read-write, binary
       The 8 pins (PIO)	latch a	bit when their state  changes,	either	exter-
       nally, or through a write to the	pin.
       Reading the latch property indicates that the latch has been set.
       Writing	"true"	(non-zero)  to ANY latch will reset them all. (This is
       the hardware design).
       ALL is all latch	states,	accessed simultaneously, comma separated.
       BYTE references all channels simultaneously as a	single byte. Channel 0
       is bit 0.

   PIO.0 ... PIO.7 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. To	deter-
       mine  the  actual  logic	level at the switch, refer to the sensed.0 ...
       sensed.7	sensed.ALL sensed.BYTE property.
       ALL references all channels simultaneously, comma separated.
       BYTE references all channels simultaneously as a	single byte. Channel 0
       is bit 0.

   power
       read-only, yes-no
       Is the DS2408 powered parasitically (0) or separately on	 the  Vcc  pin
       (1)?

   sensed.0 ...	sensed.7 sensed.ALL
       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 all channels simultaneously, comma separated.
       BYTE references all channels simultaneously as a	single byte. Channel 0
       is bit 0.

   strobe
       read-write, yes-no
       RSTZ Pin	Mode Control. Configures RSTZ as either	RST input or STRB out-
       put:

       0      configured as RST	input (default)

       1      configured as STRB output

   por
       read-write, yes-no
       Specifies whether the device has	performed power-on reset. This bit can
       only  be	 cleared to 0 under software control. As long as this bit is 1
       the device will always respond to a conditional search.

   out_of_testmode
       write-only, yes-no
       Write "1" to this property to make sure the device  has	been  properly
       initialized on startup.

       The  datasheet  says  that under	some conditions	the startup (power-up)
       will leave the device in	the "testmode" state. Any problems with	"Chan-
       nel Access Write" will trigger this  property  automaticlly,  but  this
       property	makes explicit initialization possible as well.

   set_alarm
       read-write, integer unsigned (0-333333333)
       A number	consisting of 9	digits XYYYYYYYY, where:

       X      select source and	logical	term
	      0	PIO   OR
	      1	latch OR
	      2	PIO   AND
	      3	latch AND

       Y      select channel and polarity
	      0	Unselected (LOW)
	      1	Unselected (HIGH)
	      2	Selected    LOW
	      3	Selected    HIGH

       All  digits  will be truncated to the 0-3 range.	Leading	zeroes are op-
       tional. Low-order digit is channel 0.

       Example:

       100000033
	      Responds on Conditional Search when latch.1 or latch.0  are  set
	      to 1.

       222000000
	      Responds	on  Conditional	 Search	when sensed.7 and sensed.6 are
	      set to 0.

       000000000 (0)
	      Never responds to	Conditional Search.

LCD_H LCD SCREEN PROPERITES
       This mode uses the DS2408 attached to a Hitachi HD44780 LCD  controller
       in  4-bit mode. See DATASHEET for published details. Based on a commer-
       cial product from HobbyBoards by	Erik Vickery.

   LCD_H/clear
       write-only, yes-no
       This will clear the screen and place the	cursor at the start.

   LCD_H/home
       write-only, yes-no
       Positions the cursor in the home	(upper left) position, but leaves  the
       current text intact.

   LCD_H/screen
       write-only, ascii text
       Writes to the LCD screen	at the current position.

   LCD_H/screenyc
       write-only, ascii text
       Writes to an LCD	screen at a specified location.	The controller doesn't
       know  the  true	LCD  dimensions, but typical selections	are: 2x16 2x20
       4x16 and	4x20.

       Y (row)
	      range 1 to 2 (or 4)

       X (column)
	      range 1 to 16 (or	20)

       There are two formats allowed  for  the	screenyx  text,	 either	 ascii
       (readable text) or a binary form.

       2 binary	bytes
	      The  two first characters	of the passed string have the line and
	      row: e.g.	"\x02\x04string" perl string writes "string" at	line 2
	      column 4.

       ascii 2,12:
	      Two numbers giving line and row:	Separate with a	comma and  end
	      with  a colon e.g. "2,4:string" writes "string" at line 2	column
	      4.

       ascii 12:
	      Single column number on the (default) first line:	  End  with  a
	      colon e.g. "12:string" writes "string" at	line 1 column 12.

       The positions are 1-based (i.e. the first position is 1,1).

   LCD_H/onoff
       write-only, unsigned
       Sets  several  screen display functions.	The selected choices should be
       added together.

       4      Display on

       2      Cursor on

       1      Cursor blinking

   LCD_H/message
       write-only, ascii text
       Writes a	message	to the LCD screen after	 clearing  the	screen	first.
       This is the easiest way to display a message.

   LCD_H/redefchar.0-7|ALL
       write-only, binary
       Redefines  one  of  8 user-designed character glyphs for	the LCD	screen
       (5x8 pixels).

       Each byte defines a horizontal line top to bottom. All 5	pixels	corre-
       sponds to 0x1F and a blank line is 0x00.

       Format is 8 binary bytes.

   LCD_H/redefchar_hex.0-7|ALL
       write-only, ascii
       Redefines  one  of  8 user-designed character glyphs for	the LCD	screen
       (5x8 pixels).

       Each byte defines a horizontal line top to bottom. All 5	pixels	corre-
       sponds to 0x1F and a blank line is 0x00.

       Format is 8 hexadecimal bytes (16 characters).

LCD_M LCD SCREEN PROPERITES
       This  mode uses the DS2408 attached to a	Hitachi	HD44780	LCD controller
       in 8-bit	mode. See DATASHEET for	published details. Based on  a	design
       from Maxim and a	commercial product from	AAG.

   LCD_M/clear
       write-only, yes-no
       This will clear the screen and place the	cursor at the start.

   LCD_M/home
       write-only, yes-no
       Positions  the cursor in	the home (upper	left) position,	but leaves the
       current text intact.

   LCD_M/screen
       write-only, ascii text
       Writes to the LCD screen	at the current position.

   LCD_M/screenyc
       write-only, ascii text
       Writes to an LCD	screen at a specified location.	The controller doesn't
       know the	true LCD dimensions, but typical  selections  are:  2x16  2x20
       4x16 and	4x20.

       Y (row)
	      range 1 to 2 (or 4)

       X (column)
	      range 1 to 16 (or	20)

       There  are  two	formats	 allowed  for  the screenyx text, either ascii
       (readable text) or a binary form.

       2 binary	bytes
	      The two first characters of the passed string have the line  and
	      row: e.g.	"\x02\x04string" perl string writes "string" at	line 2
	      column 4.

       ascii 2,12:
	      Two  numbers giving line and row:	 Separate with a comma and end
	      with a colon e.g.	"2,4:string" writes "string" at	line 2	column
	      4.

       ascii 12:
	      Single  column  number  on the (default) first line:  End	with a
	      colon e.g. "12:string" writes "string" at	line 1 column 12.

       The positions are 1-based (i.e. the first position is 1,1).

   LCD_M/onoff
       write-only, unsigned
       Sets several screen display functions. The selected choices  should  be
       added together.

       4      Display on

       2      Cursor on

       1      Cursor blinking

   LCD_M/message
       write-only, ascii text
       Writes  a  message  to  the LCD screen after clearing the screen	first.
       This is the easiest way to display a message.

STANDARD PROPERTIES
   address
   r_address
       read-only, ascii
       The entire 64-bit unique	ID. Given as  upper  case  hexadecimal	digits
       (0-9A-F).
       address starts with the family code
       r address is the	address	in reverse order, which	is often used in other
       applications and	labeling.

   crc8
       read-only, ascii
       The  8-bit error	correction portion. Uses cyclic	redundancy check. Com-
       puted from the preceding	56 bits	of the unique ID number. Given as  up-
       per case	hexadecimal digits (0-9A-F).

   family
       read-only, ascii
       The  8-bit  family  code. Unique	to each	type of	device.	Given as upper
       case hexadecimal	digits (0-9A-F).

   id
   r_id
       read-only, ascii
       The 48-bit middle portion of the	unique ID number. Does not include the
       family code or CRC. Given as upper case hexadecimal digits (0-9A-F).
       r id is the id in reverse order,	which is often used in other  applica-
       tions and labeling.

   locator
   r_locator
       read-only, ascii
       Uses  an	 extension  of the 1-wire design from iButtonLink company that
       associated 1-wire physical connections with a unique  1-wire  code.  If
       the  connection is behind a Link	Locator	the locator will show a	unique
       8-byte number (16 character hexadecimal)	starting with family code FE.
       If no Link Locator is between the device	and the	 master,  the  locator
       field will be all FF.
       r locator is the	locator	in reverse order.

   present (DEPRECATED)
       read-only, yes-no
       Is the device currently present on the 1-wire bus?

   type
       read-only, ascii
       Part  name  assigned by Dallas Semi. E.g.  DS2401 Alternative packaging
       (iButton	vs chip) will not be distiguished.

ALARMS
       Use the set_alarm property to set the alarm triggering criteria.

DESCRIPTION
   1-Wire
       1-wire is a wiring protocol and series of devices designed and manufac-
       tured by	Dallas Semiconductor, Inc. The bus is  a  low-power  low-speed
       low-connector scheme where the data line	can also provide power.

       Each  device  is	 uniquely and unalterably numbered during manufacture.
       There are a wide	variety	of devices, including memory, sensors  (humid-
       ity, temperature, voltage, contact, current), switches, timers and data
       loggers.	 More complex devices (like thermocouple sensors) can be built
       with these basic	devices. There are also	1-wire devices that  have  en-
       cryption	included.

       The  1-wire  scheme uses	a single bus master and	multiple slaves	on the
       same wire. The bus master initiates all communication. The  slaves  can
       be individually discovered and addressed	using their unique ID.

       Bus  masters come in a variety of configurations	including serial, par-
       allel, i2c, network or USB adapters.

   OWFS	design
       OWFS is a suite of programs that	designed to make the  1-wire  bus  and
       its  devices easily accessible. The underlying principle	is to create a
       virtual filesystem, with	the unique ID being the	directory, and the in-
       dividual	properties of the device are represented as simple files  that
       can be read and written.

       Details	of  the	 individual slave or master design are hidden behind a
       consistent interface. The goal is to provide an easy set	of tools for a
       software	designer to create monitoring or control  applications.	 There
       are some	performance enhancements in the	implementation,	including data
       caching,	parallel access	to bus masters,	and aggregation	of device com-
       munication.  Still the fundamental goal has been	ease of	use, flexibil-
       ity and correctness rather than speed.

   DS2408
       The DS2408 (3) allows control of	other devices, like LEDs  and  relays.
       It extends the DS2406 to	8 channels and includes	memory.
       Alternative switches include the	DS2406,	DS2407 and even	DS2450

ADDRESSING
       All  1-wire  devices are	factory	assigned a unique 64-bit address. This
       address is of the form:

       Family Code
	      8	bits

       Address
	      48 bits

       CRC    8	bits

       Addressing under	OWFS is	in hexadecimal,	of form:

	      01.123456789ABC

       where 01	is an example 8-bit family code, and 12345678ABC is an example
       48 bit address.

       The dot is optional, and	the CRC	code can  included.  If	 included,  it
       must be correct.

DATASHEET
       http://pdfserv.maxim-ic.com/en/ds/DS2408.pdf
       http://www.hobby-boards.com/catalog/howto_lcd_driver.php
       http://www.maxim-ic.com/appnotes.cfm/appnote_number/3286

SEE ALSO
   Programs
       owfs  (1)  owhttpd  (1)	owftpd	(1)  owserver (1) owdir	(1) owread (1)
       owwrite (1) owpresent (1) owtap (1)

   Configuration and testing
       owfs (5)	owtap (1) owmon	(1)

   Language bindings
       owtcl (3) owperl	(3) owcapi (3)

   Clocks
       DS1427 (3) DS1904 (3) DS1994 (3)	DS2404	(3)  DS2404S  (3)  DS2415  (3)
       DS2417 (3)

   ID
       DS2401 (3) DS2411 (3) DS1990A (3)

   Memory
       DS1982  (3)  DS1985  (3)	 DS1986	 (3)  DS1991 (3) DS1992	(3) DS1993 (3)
       DS1995 (3) DS1996 (3) DS2430A (3) DS2431	 (3)  DS2433  (3)  DS2502  (3)
       DS2506 (3) DS28E04 (3) DS28EC20 (3)

   Switches
       DS2405 (3) DS2406 (3) DS2408 (3)	DS2409 (3) DS2413 (3) DS28EA00 (3) In-
       fernoEmbedded (3)

   Temperature
       DS1822  (3)  DS1825  (3)	 DS1820	(3) DS18B20 (3)	DS18S20	(3) DS1920 (3)
       DS1921 (3) DS1821 (3) DS28EA00 (3) DS28E04 (3) EDS0064 (3) EDS0065  (3)
       EDS0066	(3)  EDS0067  (3) EDS0068 (3) EDS0071 (3) EDS0072 (3) MAX31826
       (3)

   Humidity
       DS1922 (3) DS2438 (3) EDS0065 (3) EDS0068 (3)

   Voltage
       DS2450 (3)

   Resistance
       DS2890 (3)

   Multifunction (current, voltage, temperature)
       DS2436 (3) DS2437 (3) DS2438 (3)	 DS2751	 (3)  DS2755  (3)  DS2756  (3)
       DS2760 (3) DS2770 (3) DS2780 (3)	DS2781 (3) DS2788 (3) DS2784 (3)

   Counter
       DS2423 (3)

   LCD Screen
       LCD (3) DS2408 (3)

   Crypto
       DS1977 (3)

   Pressure
       DS2406 (3) TAI8570 (3) EDS0066 (3) EDS0068 (3)

   Moisture
       EEEF (3)	DS2438 (3)

AVAILABILITY
       http://www.owfs.org

AUTHOR
       Paul Alfille (paul.alfille@gmail.com)

OWFS Manpage			     2003			     DS2408(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=DS2408&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help