Device overview
Version 0.04
Shared code:
use Device::USB::PCSensor::HidTEMPer; my $pcsensor = Device::USB::PCSensor::HidTEMPer->new();
Single-device systems:
my $device = $pcsensor->device(); print $device->external()->fahrenheit() if defined $device->external();
Multi-device systems:
my @devices = $pcsensor->list_devices();
foreach my $device ( @devices ){ print $device->internal()->celsius() if defined $device->internal(); }
This module is a simplified interface to the HidTEMPer thermometers created by PCSensor. It hides any problems recognizing the correct objects to initialize and the dependency on Device::USB. Use of the connected thermometers can be done by either creating a array of objects if multiple devices are connected, or the function device() if only one device is present.
One example of its usage can be found in the Linux Journal August 2010, \*(L"Cool Projects edition\*(R" page 32-34.
The following constants are declared
\s-1PRODUCT_ID\s0 Contains the hex value of the product id on the usb chip, in this case 0x660c
\s-1VENDOR_ID\s0 Contains the hex value representing the manufacturer of the chip, in this case \*(L"Tenx Technology, Inc.\*(R"
\s-1SUPPORTED_DEVICES\s0 Contains the mapping between name and identifiers for all supported thermometers. Hex value Product Internal sensor External sensor 0x5b HidTEMPerNTC Yes Yes 0x58 HidTEMPer Yes No 0x59 HidTEMPer2 Yes Yes
new() Initialize the system, and the USB-connection to be used.
device() Return a single thermometer instance. \s-1ONLY\s0 to be used in systems using a single thermometer device. Returns undef if no devices was found.
list_devices() Returns an array of recognized thermometer instances if an array value is expected, otherwise it returns a scalar with the number of devices found.
This module internally includes and takes use of the following packages:
use Device::USB; use Device::USB::PCSensor::HidTEMPer::Device; use Device::USB::PCSensor::HidTEMPer::NTC; use Device::USB::PCSensor::HidTEMPer::TEMPer; use Device::USB::PCSensor::HidTEMPer::TEMPer2;
This module uses the strict and warning pragmas.
Please report any bugs or missing features using the \s-1CPAN\s0 \s-1RT\s0 tool.
None
Magnus Sulland < [email protected] >
Thanks to Elan RuusamA\*~Xe for fixing some compatibility issues with perl 5.8.
Thanks to Daniel Fahlgren for adding the TEMPer2 device.
Copyright (c) 2010-2011 Magnus Sulland
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.