Archive for the ‘Drivers’ Category

TEMPer Temperature Sensor Linux Driver

October 17, 2009

In addition to the Tenma driver, I just finished writing a driver for the TEMPer usb temperature sensor. I found that much of the information on the Internet regarding linux drivers for this device was wrong. Perhaps they refer to a different version of the part. The usb device I received uses a customized HID chip. You can find the linux driver here. Note that this driver is based on the libusb user space library and is not a kernel level driver. The driver can be compiled either as a standalone program or as a library to your own application. Permissioning is handled with a udev rule file.

Advertisements

Tenma 72-7730 in Linux

October 4, 2009

I bought a Tenma 72-7730 DMM for work so we could record data from our temperature chamber. The DMM is reasonably priced for a USB based instrument. Unfortunately it did not come with a driver or software for linux, only windows, so I was stuck reverse engineering the interface. The USB is based on a Hoitek UART to USB device that interfaces into the linux HID code instead of the serial tty driver. The Hoitek site is currently down (looks like they lost their domain name, maybe they were bought or something) but I found enough documentation on the internet to set the bit rate for the device so I could see what was coming on the HID interface. Long story short, here is the resultant gnu/linux software to fetch raw data, screen readings, and floating point values from the DMM. The software can be run stand-alone or as a library forĀ  your own application. Instructions are included.

MSP430 UIF

May 15, 2009

I wrote a simple program to download to and dump the memory of an MSP430 via the TI USB FET a couple of years ago. I made it available at the time in source code form (TI gave me permission as long as I made it clear that TI does not support my code). I was recently forced to look into upgrading to the new MSP430F249 part and wanted to use my old code to download. Guess what? Things had changed.

1. The firmware in the USB FET needed to be upgraded. I installed the windows version of IAR (the current one) and it automatically downloaded the new FET code. OK so far.
2. The new firmware (version 20305000) is incompatible with the old firmware in that the old firmware had a list of available MSP430 devices built into the firmware itself, while the new firmware does not. In addition, there appear to be new commands to the FET that I don’t know about. I am waiting for TI to give me some info.
3. I did a little “research” and found that I could get the new firmware to work by exchanging some messages. First one must send one of the new messages to return a code indicating the type of device (for example, an MSP430F249). Next one must lookup the device in a table and send a couple of messages to configure the FET for that device. Therefore the linux code must have configuration messages for each supported processor while previously these were stored in the FET itself.

I have some code that will work with the three processors that I use: 149, 1611, and the 249. One can add ones own processor to this code if you can figure out the magic messages that are sent to initialize them. It would be nice if I could get all of the magic messages.

The code is available here: http://www.relavak.com/downloads/uif430-1.0.tgz.