Menu

Home

Phil Gillaspy

Updated February 19, 2017 - Updated ICD document to clarify interpretation of 16-bit CPS and CPM data.

Updated February 3, 2017 - Updated ICD document with latest definition of GMC-3xx non-volatile memory storage of configuration data.

Updated December 29, 2016 - Updated README.txt file. Added explanation about changing GMC geiger
counter model's vendor id and product id which are used in the 51-gqgmc.rules file. Changed 51-gqgmc.rules file to provide instruction on how to discover vendor id and product id.

Updated: September 1, 2016 - Added zip file to download all files at once. Updated README.txt file to
refer to zip file for dowloading files.

Updated: February 24, 2016 - Added the following GQ GMC commands to the driver: power on, reboot, factory reset, set date/time (all in single command), and get date/time (all in single command).

Updated: February 12, 2016 - Added data logging to file to the GUI program, gqgmc_gui. Data recorded each minute with time of day and day of year timestamp.

Updated: May 7, 2015 - Added UDEV rules file, 51-gqgmc.rules to create symbolic link to device /dev/gqgmc from /dev/ttyUSB*.

Updated: March 5, 2013 - Added the individual commands to set the year, month, day, hours, minutes, seconds.

GQGMC is a user level driver for interfacing a Linux host to GQ Electronic's GMC-3xx (e.g., GMC-300) geiger-muller counter. Written in C++, the driver provides an interface method for each of the capabilities of the GMC-3xx. The capabilities of the GMC-3xx are described in the GQ-GMC-ICD.odt (or doc) document. Perhaps of greatest use, the GMC-3xx can provide the Counts per Minute upon command from the Linux host. The GMC-3xx also has configuration data and an internal history buffer all of which are read/write-able from the Linux host. Further documentation is embedded in the source software, principally, gqgmc.hh and gqgmc.cc. Any user is expected to read the documentation embedded in the source code files which has complete discussions of the GMC-300's data and operation, in other words, the documentation and the code are integrated.

A sample console based program is provided for excercising the GMC-3xx. A sample Qt based GUI program is also provided, although it functions only as a simple data logging plot of the counts per minute. A Makefile is also provided for building the console or GUI programs. The sample programs are only compiled for 64-bit x86 Linux under Ubuntu 11.10, 12.04, 14.04, and 16.04, however, it is compilable for 32-bit Linux. See the README.txt file for changes needed to compile/link for 32-bit Linux.

The GUI program, gqgmc_gui, plots data on a scrolling graph of twenty minutes width. Data is plotted every ten seconds. In addition to graphing, the GUI program logs data to a file once a minute with time of day and date timestamps. See the README.txt file for running gqgmc_gui with arguments.

User feedback would be appreciated either by writing a review or emailing me at phgphd@yahoo.com.

Project Admins:


Discussion

  • luigi

    luigi - 2020-04-08

    Hello Phil, i'd like use this package on Raspberry with "Raspbian GNU/Linux 9 (stretch)". When i try to compile it (make all) i see this message

    root@raspberrypi:/home/pi/gqgmc# make all
    rm -f /home/pi/gqgmc/moc.cc
    rm -f /home/pi/gqgmc/obj/
    .o
    g++ -m32 -pipe -Wall -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/home/pi/gqgmc -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/X11 -c gqgmc.cc -o /home/pi/gqgmc/obj/gqgmc.o
    g++: error: unrecognized command line option ‘-m32’
    Patterns.mk:9: recipe for target '/home/pi/gqgmc/obj/gqgmc.o' failed
    make: *** [/home/pi/gqgmc/obj/gqgmc.o] Error 1

    Can you help Me?
    Thanks in advance Luigi

     
    • Phil Gillaspy

      Phil Gillaspy - 2020-04-08

      The error message means that the compiler on the Raspberry does not know
      what the command line option "-m32" means. "-m32" means to compiler for
      a 32bit machine. The Rasberry is a 64bit machine and so I would suppose
      that in adapting the compiler for the Rasberry, no one thought to
      include that option.

      To fix, just remove "-m32" from the command line. This can be done by
      going into the Defines.mk file and changing the following line from

      CPUSIZE = -m32

      to

      CPUSIZE =

      In other words, just erase the -m32.

      If there are more problems let me know.

      Phil

      On 4/8/20 2:49 AM, luigi wrote:

      Hello Phil, i'd like use this package on Raspberry with "Raspbian
      GNU/Linux 9 (stretch)". When i try to compile it (make all) i see this
      message

      root@raspberrypi:/home/pi/gqgmc# make all
      rm -f /home/pi/gqgmc/moc/.cc
      rm -f /home/pi/gqgmc/obj//.o
      g++ -m32 -pipe -Wall -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB
      -DQT_CORE_LIB -DQT_SHARED -I/home/pi/gqgmc -I/usr/include/qt4/QtCore
      -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/X11 -c
      gqgmc.cc -o /home/pi/gqgmc/obj/gqgmc.o
      g++: error: unrecognized command line option ‘-m32’
      Patterns.mk:9: recipe for target '/home/pi/gqgmc/obj/gqgmc.o' failed
      make: *** [/home/pi/gqgmc/obj/gqgmc.o] Error 1

      Can you help Me?
      Thanks in advance Luigi


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/gqgmc/wiki/Home/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Konrad Lach

    Konrad Lach - 2021-03-10

    Hi,

    Trying to get this to log with my Raspberry Pi 4 8gb with Ubuntu Mate 18.04 running.

    Running into problems at step 6a. sudo cp ./51-gqgmc.rules /etc/udev/rules.d/51-gqgmc.rules.

    When running that from my root directory I get the error:

    cp: failed to access '/etc/udev/roles.d/51-gqgmc.rules': not a directory. Also when I tried to write 'make all gqgmc_gui' and 'make all gqgmc' it fails giving me a error: make: *** No rule to tmake target 'gqgnc_gui'. Stop.

    And when trying to compile gqgmc I get
    (.text+0x18): undefined reference to 'main'
    (.text+0x1c): undefined reference to 'main'
    collect2: error: ld returened 1 exit status
    <builtin>: recipe for target 'gqgmc' failed
    make: *** [gqgmc] Error 1</builtin>

    So then i just copied it to /etc/udev/roles.d and it worked. And then I reloaded it.

    But then when checking if /dev/gqgmc exists it says. ls:cannot access '/dev/gqgmc': No such file or directory.

    Do you have any idea on what im doing wrong? Thanks!

     

    Last edit: Konrad Lach 2021-03-10
    • Phil Gillaspy

      Phil Gillaspy - 2021-03-11

      If /dev/gqgmc does not exist, that means that the 51-gqgmc.rules did not
      work. Most probably, the vendor ID and the product ID do not match the
      GMC-300 you own. You can discover the vendor and product IDs by running
      the command, lsusb, that lists all the usb devices that are plugged in.
      You should be able to recognize which usb device listed is your GMC.�
      Then change the 51-gqgmc.rules file for the correct vendor and product IDs.

      If that doesn't work. We'll think of trying something else.

      Phil

      On 3/10/21 2:51 PM, Konrad Lach wrote:

      Hi,

      Trying to get this to log with my Raspberry Pi 4 8gb with Ubuntu Mate
      18.04 running.

      Running into problems at step 6a. sudo cp ./51-gqgmc.rules
      /etc/udev/rules.d/51-gqgmc.rules.

      When running that from my root directory I get the error:

      cp: failed to access '/etc/udev/roles.d/51-gqgmc.rules': not a directory

      So then i just copied it to /etc/udev/roles.d and it worked. And then
      I reloaded it.

      But then when checking if /dev/gqgmc exists it says. ls:cannot access
      '/dev/gqgmc': No such file or directory.

      Do you have any idea on what im doing wrong? Thanks!


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/gqgmc/wiki/Home/
      https://sourceforge.net/p/gqgmc/wiki/Home/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/
      https://sourceforge.net/auth/subscriptions/

       
      • Konrad Lach

        Konrad Lach - 2021-03-11

        When I do lsusb I have:
        Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics

        So I went into 51-gqgmc.rules and Changed both of the ATTR{idWendor} to 1a86 and single the ATTRS{idProduct} to 7523.

        I think the problem starts in step 5 when I try to make all gqgmc in the root directory and get these errors:

        (.text+0x18): undefined reference to main'
        (.text+0x1c): undefined reference to main'
        collect2: error" ld returned 1 exit status
        <builtin>: recipe for target "gqgmc" failed
        make: *** [gqgmc] error 1</builtin>

         

Log in to post a comment.