Menu

Tree [a5cb8c] master /
 History

HTTPS access


File Date Author Commit
 debian 2007-05-22 Paul Alfille Paul Alfille [3bf719] Add some cvs ID tags in debian
 module 2018-04-08 Stefano Miccoli Stefano Miccoli [543ac5] remove old .cvsignore files
 src 2018-04-08 Stefano Miccoli Stefano Miccoli [543ac5] remove old .cvsignore files
 .gitignore 2016-03-24 Johan Ström Johan Ström [18f271] Remove & ignore files generated by bootstrap
 .travis.yml 2018-04-25 Stefano Miccoli Stefano Miccoli [fcba60] added OS X Travis CI environment
 AUTHORS 2018-04-08 Matthias Urlichs Matthias Urlichs [52b105] remove $Id$ strings
 COPYING 2018-04-08 Matthias Urlichs Matthias Urlichs [52b105] remove $Id$ strings
 COPYING.LIB 2018-04-08 Matthias Urlichs Matthias Urlichs [52b105] remove $Id$ strings
 ChangeLog 2010-06-08 Paul Alfille Paul Alfille [105556] Minor changes to presence detection routines. C...
 INSTALL 2018-04-08 Matthias Urlichs Matthias Urlichs [52b105] remove $Id$ strings
 Makefile.am 2014-09-21 mag mag [8d3d37] Lots of changes to improve debugging mutex-prob...
 NEWS 2018-04-08 Matthias Urlichs Matthias Urlichs [52b105] remove $Id$ strings
 README.DEVELOPERS 2018-04-08 Matthias Urlichs Matthias Urlichs [52b105] remove $Id$ strings
 README.md 2018-04-27 Johan Ström Johan Ström [a5cb8c] Updated README to indicate move to github
 TODO 2008-06-17 Christian Magnusson Christian Magnusson [b01f54] Puhh.. Finally found the problem with the pytho...
 acinclude.m4 2006-10-09 Peter Kropf Peter Kropf [4bc163] Added acinclude.m4 with a new macro to test for...
 bootstrap 2016-03-18 Johan Ström Johan Ström [9a97d1] Undo accidentally commited files
 configure.ac 2018-04-22 Johan Ström Johan Ström [86b33c] Revert "Merge pull request #4 from heinervdm/ma...
 description-pak 2005-04-18 Paul Alfille Paul Alfille [daa8d3] start of ownfsd (NFS 1-wire server) work
 man2md 2016-09-15 Jan Kandziora Jan Kandziora [c14b0e] added tools for creating owfs-doc wiki manpages...
 release.pl 2007-05-17 Christian Magnusson Christian Magnusson [c696fa] Change library so-name to contain the version-n...
 update_wiki_manpages 2016-09-15 Jan Kandziora Jan Kandziora [c14b0e] added tools for creating owfs-doc wiki manpages...

Read Me

Information for Developers:

0. Overview
1. Resources
2. Packaging
3. Contacts
4. License

------------------------
0. Overview
------------------------
OWFS is a set of packages for using 1-wire devices
on a 1-wire bus under linux and other unix-like systems.

The focus of these packages is a simple interface to the
1-wire bus. OWFS should be simple and stable rather than
comprehensive.

The main design feature of OWFS is that all access to the 1-Wire
bus is based on a simple naming scheme. Little state information
is kept. The most obvious implementations are a filesystem
(where filenames correspond to 1-wire device properties) and
a web server (where URLs correspond to 1-wire device properties).

OWLIB is the library that provides most of the low-level
function of the system. It talks directly to the (serial)
port to the 1-wire bus master and through that to the devices.
1-wire protocol, error handling, and persistent storage is all
handled in OWLIB.
DEVELOPERS can extend OWLIB to cover other devices.
  Choose a similar chip to base your implementation.
  Copy the src/c/.c and src/include/.h files, changing the names.
  Add to src/c/Makefile.am and src/include/Makefile.am
  Add to src/include/ow_devices.h
  Add to /src/c/owlib.c
  That's all that's needed, except perhaps updating the documentation in ow_table.html.

OWFS is the filesystem implementation of OWLIB. It uses
FUSE (http://www.sf.net/projects/fuse) to present the
filesystem in user space. You can write prgrams that access
this filesystem.

OWHTTP is a webserver implemtation of OWFS. It is a very simple
server, and shows information quite simply. Indeed, OWHTTPD
knows nothing of the individual 1-wire devices. All display is
based solely on the property table in OWLIB. This means that
no modification of OWHTTPD needs to be made when new devices
or properties are created.

------------------------
1. Resources
------------------------
1-Wire information is well documented at
http://www.ibutton.com

Developer mailing list (quite active):
http://lists.sf.net/lists/listinfo/owfs-developers

OWFS website has design information:
http://www.owfs.org Especially under the Advanced menu

------------------------
2. Packaging
------------------------
Each component is separately packaged (OWFS, OWLIB, OWHTTPD,
MAISON, OWAPI, etc)

Vadim Tkachenko is the main designer of the packaging structure
and code. We follow standard unix design with

  Source
Standard: xxx.tar.gz
  ./bootstrap ; ./configure ; make ; make install

or

RPM Building -- directory locations:
  RPM packages can be made without being root.
  $HOME/.rpmmacros will be used, if it exists, else created.
  $HOME/.rpm is the default target directory, specifically:
   $HOME/.rpm/RPMS/i386 for binary and
   $HOME/.rpm/SRPMS for source rpm

Note from Vadim: Caveat emptor: if $HOME/.rpmmacros exists, but doesn't
contain usable configuration, too bad. I'm not going to bother to fix
that - too many opportunities to screw up.

------------------------
3. Contacts
------------------------
Paul Alfille (paul.alfille@gmail.com)
OWFS sourceforge site (http://www.owfs.org)

------------------------
4. License
------------------------
Mostly GPL. Some of the design and device details come from
Dallas Semi (Maxim) Public Domain Kit, which has no restrictions
beyond not suing them.

Most of the actual C code here was written by Paul Alfille (me).
I personally release all my contributions as public domain, but
cannot assure you that other portions are not GPL-derived.