mirror of
				https://github.com/eclipse/upm.git
				synced 2025-10-31 15:15:07 +03:00 
			
		
		
		
	cwlsxxa: Initial implementation
The driver was developed using the Veris CWLSHTA CO2 Gas sensor. The 'T' variant supports a temperature sensor, and the 'H' variant supports a humidity sensor. All 3 signals are provided by the device as analog 0-5Vdc, 0-10Vdc, or 4-20ma loop current outputs. For devices supporting temperature, the valid temperature range is 10C to 50C. The humidity ranges from 0% to 100% (non-condensing). The CO2 sensor ranges from 0 to 2000 ppm. This driver was developed using the 5Vdc outputs and the 4-20ma outputs. For voltage outputs, your MCU must be configured for 5V operation. In addition, you must configure the sensor (via it's configuration switches) to output 0-5VDC only. Using any other analog reference voltage will require the appropriate external circuitry (such as a voltage divider) in order to interface safely with your MCU. In addition, the sensor can be configured for 4-20ma usage, by specifying the correct receiver resistance (in ohms) in the constructor. This sensor was tested with a Cooking Hacks (Libelium) 4-channel 4-20ma Arduino interface shield. For this interface, the receiver resistance was specified as 165.0 ohms. Signed-off-by: Jon Trulson <jtrulson@ics.com> Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
This commit is contained in:
		 Jon Trulson
					Jon Trulson
				
			
				
					committed by
					
						 Abhishek Malik
						Abhishek Malik
					
				
			
			
				
	
			
			
			 Abhishek Malik
						Abhishek Malik
					
				
			
						parent
						
							f3a2e0d77c
						
					
				
				
					commit
					a8d96bd2d9
				
			
							
								
								
									
										61
									
								
								examples/python/cwlsxxa.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								examples/python/cwlsxxa.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| #!/usr/bin/python | ||||
| # Author: Jon Trulson <jtrulson@ics.com> | ||||
| # Copyright (c) 2016 Intel Corporation. | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining | ||||
| # a copy of this software and associated documentation files (the | ||||
| # "Software"), to deal in the Software without restriction, including | ||||
| # without limitation the rights to use, copy, modify, merge, publish, | ||||
| # distribute, sublicense, and/or sell copies of the Software, and to | ||||
| # permit persons to whom the Software is furnished to do so, subject to | ||||
| # the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be | ||||
| # included in all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
| # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||
| # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||
| # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||
| # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
| import time, sys, signal, atexit | ||||
| import pyupm_cwlsxxa as sensorObj | ||||
|  | ||||
| ## Exit handlers ## | ||||
| # This function stops python from printing a stacktrace when you hit control-C | ||||
| def SIGINTHandler(signum, frame): | ||||
| 	raise SystemExit | ||||
|  | ||||
| # This function lets you run code on exit | ||||
| def exitHandler(): | ||||
| 	print "Exiting" | ||||
| 	sys.exit(0) | ||||
|  | ||||
| # Register exit handlers | ||||
| atexit.register(exitHandler) | ||||
| signal.signal(signal.SIGINT, SIGINTHandler) | ||||
|  | ||||
| print "Initializing..." | ||||
|  | ||||
| # Instantiate an CWLSXXA instance, using A0 for CO2, A1 for | ||||
| # humidity and A2 for temperature | ||||
| sensor = sensorObj.CWLSXXA(0, 1, 2) | ||||
|  | ||||
| # update and print available values every second | ||||
| while (1): | ||||
|         # update our values from the sensor | ||||
|         sensor.update() | ||||
|  | ||||
|         # we show both C and F for temperature | ||||
|         print "Temperature:", sensor.getTemperature(), "C /", | ||||
|         print sensor.getTemperature(True), "F" | ||||
|  | ||||
|         print "Humidity:", sensor.getHumidity(), "%" | ||||
|  | ||||
|         print "CO2:", sensor.getCO2(), "ppm" | ||||
|  | ||||
|         print | ||||
| 	time.sleep(1) | ||||
		Reference in New Issue
	
	Block a user