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 allways 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 hexidecomal 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 hexidecimal	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	hexidecimal digits (0-9A-F).

   family
       read-only, ascii
       The  8-bit  family  code. Unique	to each	type of	device.	Given as upper
       case hexidecimal	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 hexidecimal 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 hexidecimal)	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 priciple 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 fundemental 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 hexidecimal,	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)

   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 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)

NAME | SYNOPSIS | FAMILY CODE | SPECIAL PROPERTIES | LCD_H LCD SCREEN PROPERITES | LCD_M LCD SCREEN PROPERITES | STANDARD PROPERTIES | ALARMS | DESCRIPTION | ADDRESSING | DATASHEET | SEE ALSO | AVAILABILITY | AUTHOR

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

home | help