logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Owtcl - OWFS library access commands for Tcl

Author

       Serg Oskin (serg@oskin.ru)

Tcl                                                2005-01-20                                           OWTCL(3)

Availability

Commands

       Performs one of several operations, depending on option.  The legal options (which  may  be  abbreviated)
       are:

       owopenarg...
              Connect to 1-wire adapter or owserver. arg... defines a way of connection to the 1-wire bus.
              The full set of initialization args is extensive. They correspond roughly to the command line args
              of owfs(1)owhttpd(1) and owftpd(1)owclose
              Close connection to 1-wire bus or owserver.

       owversion ?-list?
              Return version of the owtcl and owlib/

       owopened
              Return 1 if connected to 1-wire adapter or owserver, otherwise 0.

       owerrorlevelvalue
              Set debug options. See owfs(5)owerrorprintvalue
              Set debug options. See owfs(5)owgetpath ?-list?
              Returns  contents  of OWFS directory as the list if path contains name OWFS directory.  If path is
              name of OWFS file, returns of contents of this file. For files *.ALL returns a values list.

       owputpathvalue
              Puts value in OWFS file indicated in path. For files *.ALL use a value list.

       owisdirectorypath
              If path is the directory return 1. Otherwise return 0.

       owisdirpath
              Synonym of owisdirectoryowsetpath
              Creates a new ow-like command with root in the path.  A  new  command  allows  options  get,  put,
              isdirectory, isdir and set.

Description

1-Wire1-wire is a wiring protocol and series of devices designed and manufactured 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 (humidity, 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 encryption included.

       The 1-wire scheme uses a single busmaster 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, parallel, i2c, network or USB adapters.

   OWFSdesignOWFS  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
       individual 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  communication.  Still  the fundamental goal has been ease of use,
       flexibility and correctness rather than speed.

   owtclowtcl(3) is a Tcl extension that provides an interface to OWFS. The underlying interface to  the  1-wire
       bus  is  identical to owfs(1) (filesystem view) and owhttpd(1) web server interface. Only the top layer
       has been modified to return native Tcl data.

Example

              package require ow

              ow open -d /dev/ttyS0 -t 60

              set save_templow [ow get /28.86BF80000000/templow]
              ow put /28.86BF80000000/templow 10

              set room_sensor [ow set /28.86BF80000000]
              $room_sensor put temphigh 50

              set room_temp [$room_sensor set temperature]
              set current_temp [$room_temp get]

Low-Level Commands

       The following low-level commands are possible:

       ::OW::initinterface ?interface...? ?arg...?
              Connect  to  1-wire  adapter or owserver. interface and arg... defines a way of connection to the
              1-wire bus.
              The full set of initialization options is extensive. They correspond roughly to the  command  line
              options of ,B owfs (1) owhttpd(1) and owftpd(1)::OW::finish
              Close connection to 1-wire bus or owserver.

       ::OW::isconnect
              Return 1 if connected to 1-wire adapter or owserver, otherwise 0.

       ::OW::get ?path? ?-list?
              Returns  contents  of OWFS directory as the list if path contains name OWFS directory.  If path is
              name of OWFS file, returns of contents of this file. For files *.ALL returns  a  values  list.  If
              path is not defined, contents of root OWFS directory come back.

       ::OW::putpath ?value?
              Puts  value  in  OWFS file indicated in path. For files *.ALL use a value list. If /fIvalue is not
              defined, puts a empty string.

       ::OW::isdirectorypath
              If path is the directory - return 1. Otherwise return 0.

       ::OW::isdirpath
              Synonym of ::OW::isdirectory::OW::existspath
              If path is exists - return 1. Otherwise return 0.

Name

       Owtcl - OWFS library access commands for Tcl

See Also

Programsowfs(1)owhttpd(1)owftpd(1)owserver(1)owdir(1)owread(1)owwrite(1)owpresent(1)owtap(1)Configurationandtestingowfs(5)owtap(1)owmon(1)Languagebindingsowtcl(3)owperl(3)owcapi(3)ClocksDS1427(3)DS1904(3)DS1994(3)DS2404(3)DS2404S(3)DS2415(3)DS2417(3)IDDS2401(3)DS2411(3)DS1990A(3)MemoryDS1982(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)SwitchesDS2405(3)DS2406(3)DS2408(3)DS2409(3)DS2413(3)DS28EA00(3)TemperatureDS1822(3)DS1825(3)DS1820(3)DS18B20(3)DS18S20(3)DS1920(3)DS1921(3)DS1821(3)DS28EA00(3)DS28E04(3)HumidityDS1922(3)VoltageDS2450(3)ResistanceDS2890(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)CounterDS2423(3)LCDScreenLCD(3)DS2408(3)CryptoDS1977(3)PressureDS2406(3)--TAI8570

Synopsis

packagerequireowowoption ?arg...?

       ::OW::initinterface ?interface...? ?arg...?
       ::OW::finish::OW::isconnect::OW::get ?path? ?arg...?
       ::OW::putpath ?value?
       ::OW::isdirectorypath::OW::isdirpath::OW::existspath

See Also