summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md168
1 files changed, 168 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..08fbde2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,168 @@
+CircleCI Status
+---------------
+
+[![Circle CI](https://circleci.com/gh/zoff99/clewarecontrol/tree/build_with_circleCI.svg?style=svg)](https://circleci.com/gh/zoff99/clewarecontrol/tree/build_with_circleCI)
+
+
+build instructions
+------------------
+Required libraries:
+ libhidapi-dev
+
+Since version 4.0 clewarecontrol uses this library to abstract the
+interfacing with the kernel. That way it may work on other OSes and new(er)
+kernel as well.
+
+If you get errors, try replacing -lhidapi by -lhidraw-libusb or hidapi-hidraw.
+If you still get errors, contact me.
+
+
+Installation:
+ make install
+
+
+usage
+-----
+Please see the man-page for help on how to use it:
+ make clewarecontrol
+
+or run the program with the -h switch:
+ clewarecontrol -h
+
+Please also check the website for tips and help.
+
+
+devices
+-------
+- temperature sensor
+ clewarecontrol -rt
+
+- humidity sensor
+ This device needs to be "started" first, then you can read sensor readings
+ clewarecontrol -ag -rh
+
+- 2 channel AD converter (analog to digital)
+ First you need to know what it range it works: 5v, 13v or 24v
+ then you must select the channel to read from - the device has 2 channels
+ after selecting the channel, you can keep reading
+ clewarecontrol -ai x where x is 0 or 1 (selects channel)
+ clewarecontrol -ra y where y is 0 voor 5v, 1 for 13v, etc.
+
+- Ampel ("Switch1 (8)")
+ The traffic light is, from clewarecontrol seen, a device with 3 switches in
+ it that can be individiually switched on and off
+ clewarecontrol -as x y where x is 0, 1 or 2 (0=red, 2=green) and
+ y is 0 or 1 (0 is off)
+
+- IO16 ("Contact 00 device (48)")
+ The IO16 is a 16 port I/O interface. You can configure each pin to be either
+ input or output. This setting is stored in an eprom so that a pin cannot
+ become accidently output while you expected an input.
+ Set the direction with:
+ clewarecontrol -ad x where x is a hex value representing a 1
+ or 0 selecting the direction
+ After that you can set the output pins to 1 or 0 with:
+ clewarecontrol -am x where is a hex value
+
+- Luminus
+ This is in fact an AD converter with integrated hardware which measures the
+ amount of light. It has 1 chnanel, so you don't need to select it (like the
+ generic ADC). Reading values (in version 2.5) can be perfomed like his:
+ clewarecontrol -ra 0
+ This gives a value between 0 and 5. I (developer of this Linux program)
+ need to buy a lux meter to scale this correctly.
+
+
+- USB-cutter
+ This is a device which is at its heart a switch like the other switches.
+ To use it, you need to start it:
+ clewarecontrol -ag
+ then, you can toggle the USB status like this:
+ clewarecontrol -as 0 1 this will "cut" the USB device (switching
+ it off)
+ clewarecontrol -as 0 0 this will enable the USB device again(!)
+ indeed, the logic is inverted.
+
+
+-mintrig / -maxtrig
+-------------------
+Run the program with -c 0 so that it keeps running forever (unless you want to
+have it monitor the value for a shorter time).
+Also start it with -F so that it runs in the background.
+Then set the -mintrig or -maxtrig switches.
+As the last parameter, set the sensor to monitor: -rh (humidity), -rt
+(temperature), etc.
+For example:
+ clewarecontrol -c 0 -maxtrig 0.5 ./myscript.sh -ra 0
+If the ADC tells us that the voltage is over 0.5 volts, then "myscript.sh" is
+invoked. As a parameter, the script will get the measured value.
+
+
+I would be delighted if you share your experiences with me!
+
+
+python library
+--------------
+please see readme-python.txt for details on how to create and use the python
+library.
+
+
+perl library
+--------------
+please see readme-perl.txt for details on how to create and use the perl
+library.
+
+
+problems
+--------
+If you encounter any problems when using clewarecontrol with Cleware devices,
+DO NOT contact Cleware but please contact me: folkert@vanheusden.com
+
+Of course you can always write me when you have questions/suggestions/etc.
+ folkert@vanheusden.com
+
+
+FAQ
+---
+Q1. Values retrieved are invalid
+A1. Occasionally the values retrieved are invalid. E.g. a temperature of 170
+ degrees and such. In that case you can reset the device (might need to
+ reset it multiple times!) and then it'll work
+
+Q2. It does not compile on SuSE Enterprise Linux 10
+A2. Insert in file USBaccessBasic.c at line 17 (that is BEFORE the line
+ including usbdevice_fs.h!) the following line:
+ #define __user
+
+Q3. clewarecontrol -l doesn't list any devices
+A3. The Cleware USB library expects the following files to exist:
+ crw-rw-rw- 1 root root 180, 96 May 9 2005 /dev/usb/hiddev0
+ crw-rw-rw- 1 root root 180, 97 May 9 2005 /dev/usb/hiddev1
+ ...
+ crw-rw-rw- 1 root root 180, 110 May 9 2005 /dev/usb/hiddev14
+ crw-rw-rw- 1 root root 180, 111 May 9 2005 /dev/usb/hiddev15
+
+ Since version 1.2 you can use -p to select a different path, eg.:
+ clewarecontrol -p /dev -l
+
+ Make sure the user you're running clewarecontrol from has enought rights
+ to access the devices. For starters, to see if it works at all, run it as
+ root.
+
+Q4. clewarecontrol still can't find any devices
+A4. If that still does not give any output then please e-mail me the output of
+ the following commands:
+ uname -a
+ lsusb
+ lsmod
+ strace clewarecontrol -l
+ ps -deaf | grep udev
+ find /dev -name hiddev\*
+
+ Please also tell me what distribution (e.g. redhat/suse/ubuntu) and what
+ version you're using
+
+
+Regards,
+
+Folkert van Heusden