Dibal / gmc_datalogger

Read data logged by geiger counter GMC-3xx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GMC-3xx Datalogger

Datalogger GUI

Overview

The Python routines read data logged by the Geiger-Counter GMC-3xx (GQelectronics).

Device

GMC-3xx (GMC-300, GMC-320) is a hand held geiger counter. Is is build around a M4011-Geigertube.

  • Length of tube about 100mm,
  • Background counts around 20 count per minute.
  • Size of memory: 64k.

There are several options how data may be saved: Counts per Second ever second, counts per minute (CPM) every minute or every hour, setting of a threshold, id tags in order to mark measurements.

Software Options

  • Reading logged memory.
  • Converting bytes back to text/time strings and counter values.
  • Reading any binary file. If no valid date/time string is found the data is probably invalid.
  • Saving text data as time vs count with or without text tags, saving binary data.
  • Reading live data, ie every second a value for CPM.

Software structure

The program is written in Python 2.7 and pyqt4. The routines take advantage of the ICD document by gqmc and I/O routines by Ullix (see below). The GUI source file .ui was created by the software qt-Designer and converted by ptuic4 into an appropriate Python GUI file.

Installation

Requirements:

  • Python 2.7 and following libraries:
  • pyqt4
  • datetime
  • struct
  • time
  • os
  • serial

Save files below in a directory and start:

$ python gwcmain.py

Connect the device and check serial connection, eg by pressing "Get time". If connection is fine the device time is shown, together with the time of the system. If connection fails check baud rate and serial device name.

Files:

  • gwcmain.py # main python program
  • gwcp3.py # GUI definition file
  • gmcparse6.py # basic I/O routines
  • gmcicon32.png # program icon
  • help.md # this file
  • gmcparse5.py # Independent self-sufficient CLI (command line) Python script for reading data logger memory.

The program was developed under Linux. Other operating systems may work as well, perhaps the serial interface name has to be adapted (may be valid for other Linux system as well). Windows requires a serial/usb driver.

License

GNU General Public License version 3.0 (GPLv3) (https://www.gnu.org/licenses/gpl-3.0.de.html)

Limitations

Live data routine uses processEvents(). This is usually a workaround for poor design...

Four solutions:

  • You may use Live data and keep in mind that it is a burden for the computer.
  • You may use the software only for accessing memory data and waive the live data option.
  • You may use the CLI version (without live data option).
  • You may use the Complete GUI Python Script, see references.

References:

About

Read data logged by geiger counter GMC-3xx


Languages

Language:Python 100.0%