python_examples: Reformatted, self-checking, executable

* Moved body of each python example to main.  This allows for basic
      load module testing for CI
    * General cleanup of python modules (crlf/tabs/prints/etc)
    * Chmod'ed to 755 to allow running examples without specifying the
      python interpreter
    * Added ctest for loading python2/3 modules
    * Added jniclasscode pragma for java swig interface files.
    * Updated check_examplenames.py module to check all languages vs. a
      cxx example name
    * Added tests for checking python module and test loading
    * Added 'make test' to travis-ci run (run ctests)
    * Print a more meaningful message when not building cxx docs into
      python modules
    * Updated check_clean.py to only check java wrapper files
    * ENABLED ctests for UPM
    * Deleted using_carrays.py python example - this is covered by other
      examples

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2016-09-29 18:24:19 -07:00
parent 62718daf0b
commit 2f78d9f62b
203 changed files with 5890 additions and 5216 deletions

76
examples/python/aeotecdw2e.py Normal file → Executable file
View File

@ -24,57 +24,59 @@
import time, sys, signal, atexit
import pyupm_ozw as sensorObj
# This function lets you run code on exit
def exitHandler():
print "Exiting"
sys.exit(0)
def main():
# This function lets you run code on exit
def exitHandler():
print "Exiting"
sys.exit(0)
# Register exit handlers
atexit.register(exitHandler)
# Register exit handlers
atexit.register(exitHandler)
defaultDev = "/dev/ttyACM0"
if (len(sys.argv) > 1):
defaultDev = "/dev/ttyACM0"
if (len(sys.argv) > 1):
defaultDev = sys.argv[1]
print "Using device", defaultDev
print "Using device", defaultDev
# Instantiate an Aeotec Door/Window 2nd Edition sensor instance, on
# device node 10. You will almost certainly need to change this to
# reflect your own network. Use the ozwdump example to see what nodes
# are available.
sensor = sensorObj.AeotecDW2E(10)
# Instantiate an Aeotec Door/Window 2nd Edition sensor instance, on
# device node 10. You will almost certainly need to change this to
# reflect your own network. Use the ozwdump example to see what nodes
# are available.
sensor = sensorObj.AeotecDW2E(10)
# The first thing to do is create options, then lock them when done.
sensor.optionsCreate()
sensor.optionsLock()
# The first thing to do is create options, then lock them when done.
sensor.optionsCreate()
sensor.optionsLock()
# Next, initialize it.
print "Initializing, this may take awhile depending on your ZWave network"
# Next, initialize it.
print "Initializing, this may take awhile depending on your ZWave network"
sensor.init(defaultDev)
print "Initialization complete"
sensor.init(defaultDev)
print "Initialization complete"
print "Querying data..."
while (True):
print "Querying data..."
while (True):
if (sensor.isDeviceAvailable()):
print "Alarm status:",
print sensor.isAlarmTripped()
print "Alarm status:",
print sensor.isAlarmTripped()
print "Tamper Switch status:",
print sensor.isTamperTripped()
print "Tamper Switch status:",
print sensor.isTamperTripped()
print "Battery Level:",
print sensor.getBatteryLevel(),
print "%"
print "Battery Level:",
print sensor.getBatteryLevel(),
print "%"
print
print
else:
print "Device has not yet responded to probe."
print "Try waking it, or wait until it wakes itself if ",
print "configured to do so."
print
print "Device has not yet responded to probe."
print "Try waking it, or wait until it wakes itself if ",
print "configured to do so."
print
time.sleep(1)
if __name__ == '__main__':
main()