qm1571-multimeter.py ==================== Decode and write to stdout the output of the Fortune Semiconductor FS9721 chip and the pin compatible Semico CS7721CN chip. These chips form the heart of multimeters, some of which send the contents of their display as a binary stream over transmitted via wireless, USB or RS232. Dependencies ------------ - Either Python 2 or Python 3. - https://pypi.python.org/pypi/pyserial or Debian package python-serial. - Tested on Linux only with a DigiTech 1571 only. Building, Installing and Running -------------------------------- There is no building required, and the only installation consists of download a copy of qm1571-multimeter.py to the current directory and making it executable. It accepts one optional argument on this command line: the name of the tty device the multimeter is connected to. It defaults to /dev/ttyUSB0. ./qm1571-multimeter.py # Display the data from /dev/ttyUSB0 ./qm1571-multimeter.py /dev/ttyS1 # Display the data from /dev/ttyS1 The multimeter sends the entire contents of the LCD display in every refresh. qm1571-multimeter.py prints the symbols displayed on the LCD on one line for each refresh sent, eg: +000.1 mV DC, AUTO -000.3 mV DC, -000.4 mV DC, REL +0.L M ohm, AUTO Stop qm1571-multimeter.py by killing it (eg, by pressing ^C). If qm1571-multimeter.py gets data it does not understand it prints a line like the one below. The hex is the data it could not decode. Lines like the one below aren't much of a problem but their presence implies sometimes bad data will be slipping through unnoticed and so qm1571-multimeter.py will be displaying incorrect values. This happens because the link layer error detection is very poor. ? 16.1d.f1.aa.fc.17.2f.3d.00.5d.67.7d.88.95.a0.b8.c0.d4.e8 License ------- Copyright (c) 2017,2021 Russell Stuart. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The copyright holders grant you an additional permission under Section 7 of the GNU Affero General Public License, version 3, exempting you from the requirement in Section 6 of the GNU General Public License, version 3, to accompany Corresponding Source with Installation Information for the Program or any work based on the Program. You are still required to comply with all other Section 6 requirements to provide Corresponding Source. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. -- Russell Stuart 2017-Oct-10