Home | History | Annotate | Download | only in python
      1 #!/usr/bin/python
      2 # Author: Zion Orent <zorent (at] ics.com>
      3 # Copyright (c) 2015 Intel Corporation.
      4 #
      5 # Permission is hereby granted, free of charge, to any person obtaining
      6 # a copy of this software and associated documentation files (the
      7 # "Software"), to deal in the Software without restriction, including
      8 # without limitation the rights to use, copy, modify, merge, publish,
      9 # distribute, sublicense, and/or sell copies of the Software, and to
     10 # permit persons to whom the Software is furnished to do so, subject to
     11 # the following conditions:
     12 #
     13 # The above copyright notice and this permission notice shall be
     14 # included in all copies or substantial portions of the Software.
     15 #
     16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     17 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     18 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
     20 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     21 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     22 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     23 
     24 import time, sys, atexit
     25 import pyupm_isd1820 as upmIsd1820
     26 
     27 # Instantiate a ISD1820 on digital pins 2 (play) and 3 (record)
     28 # This example was tested on the Grove Recorder.
     29 myRecorder = upmIsd1820.ISD1820(2, 3)
     30 
     31 
     32 doRecord = False
     33 
     34 if len(sys.argv) > 1:
     35 	doRecord = True
     36 
     37 
     38 # This lets you run code on exit,
     39 # including functions from myRecorder
     40 def exitHandler():
     41 	# turn off whatever we were doing.
     42 	if (doRecord):
     43 		myRecorder.record(False)
     44 	else:
     45 		myRecorder.play(False)
     46 	print "Exiting"
     47 	sys.exit(0)
     48 
     49 # Register exit handlers
     50 atexit.register(exitHandler)
     51 
     52 
     53 # if an argument was specified (any argument), go into record mode,
     54 # else playback a previously recorded sample
     55 
     56 print "Supply any argument to the command line to record."
     57 print "Running this example without arguments will play back any "
     58 print "previously recorded sound."
     59 print "There is approximately 10 seconds of recording time.\n"
     60 
     61 
     62 # depending on what was selected, do it, and sleep for 15 seconds
     63 if (doRecord):
     64 	myRecorder.record(True)
     65 else:
     66 	myRecorder.play(True)
     67     
     68 # There are about 10 seconds of recording/playback time, so we will
     69 # sleep for a little extra time.
     70 print "Sleeping for 15 seconds..."
     71 time.sleep(15)
     72 
     73 
     74 # exitHandler runs automatically
     75