GQ Electronics Technical Support Forum Active Users: / Visits Today:
Highest Active Users:
GQ Electronics Technical Support Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 GQ Electronics Forums
 2.GQ Geiger Muller Counter
 Configuration Data on GMC-500+ Re 2.25
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

GeigerWriter

5 Posts

Posted - 07/29/2021 :  16:27:14  Show Profile  Reply with Quote
Hello.

I am trying to make a program that can read and write the tube voltage of the GMC-500+ by accessing its configuration data. However, I'm having some trouble because I have no idea what the 512 bytes that are returned from <GETCFG>> represent. Well, I know that two bytes (the 347th and 348th bytes) store the value of Tube1's voltage, but not much else. The most recent communication protocol (GQ-RFC1801) doesn't seem to contain this information.

Here are 512 bytes of data returned from <GETCFG>> after a factory reset:
00 01 01 00 1F 00 00 64 00 64 3F 26 66 66 75 30 43 43 00 00 00 64 42 3B 33 33 00 3F 00 00 00 00 01 03 00 00 00 00 FF FF FF FF FF FF 00 01 00 78 0A 00 15 3C 00 0A FF 00 00 00 0A 00 01 0A 00 64 00 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 77 77 77 2E 67 6D 63 6D 61 70 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6C 6F 67 32 2E 61 73 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 02 03 00 3F 3B 02 00 00 01 00 78 00 C8 00 32 00 64 05 01 01 9A A1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E 24 00 00 15 07 1D 11 2C 1F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Bolded is 0x019A, the factory default voltage 410 V. Could anyone tell me what the rest means?
Reply #1

EmfDev

2250 Posts

Posted - 07/29/2021 :  17:03:41  Show Profile  Reply with Quote
Hi GeigerWriter, I cannot check now but the Tube voltage 1 and 2 are both 1 bytes each and should be around 299-300 or close. The maximum value of both is 150. You must modify the cfg when device is off because it will not update when you just set it when the device is on. It will update the voltage during power up.
Go to Top of Page
Reply #2

EmfDev

2250 Posts

Posted - 07/29/2021 :  17:06:28  Show Profile  Reply with Quote
To check which byte it is, change tube 1 voltage and tube 2, then power off, then read the cfg again and compare which values changed.
The voltage is based on a level ranging 0-150 / 150.
Go to Top of Page
Reply #3

GeigerWriter

5 Posts

Posted - 07/29/2021 :  17:32:06  Show Profile  Reply with Quote
quote:
Originally posted by EmfDev

Hi GeigerWriter, I cannot check now but the Tube voltage 1 and 2 are both 1 bytes each and should be around 299-300 or close. The maximum value of both is 150. You must modify the cfg when device is off because it will not update when you just set it when the device is on. It will update the voltage during power up.



I'm not sure if this is right. When I change Tube1's voltage manually, it goes up to about 660 volts.

Go to Top of Page
Reply #4

GeigerWriter

5 Posts

Posted - 07/30/2021 :  14:06:09  Show Profile  Reply with Quote
Just an update. I tried changing the configuration while the device is off, but nothing changed. Whenever I try to write a new voltage to the CFG, the CFG changes accordingly (GETCFG returns what I wrote with WCFG), but the device itself remains unchanged. However in the process of debugging I found that Tube1's voltage changed when some other bytes in the CFG were inadvertently changed. I just want to know what the bytes represent so I know what to change.
Go to Top of Page
Reply #5

GeigerWriter

5 Posts

Posted - 07/30/2021 :  16:58:54  Show Profile  Reply with Quote
So I think I figured it out. The voltage for Tube1 is controlled by the 331st byte in the CFG (at address 0x014A). This is the 1-byte value that varies between 0 and 150 (0x00 - 0x96). The factory default is 0x3F (63), which when you navigate to Tube1's settings manually you will see as 42% (63/150). When you divide all of the CFG values by 150, you see that the byte next to it must control Tube2's voltage as the factory default percent is 39.33% (0x3B = 59, 59/150 = 0.39333..)

Presumably the "voltage" bytes at 0x015A and 0x015B are controlled by this value, which is why they can't be meaningfully "written" to.
Go to Top of Page
Reply #6

GeigerWriter

5 Posts

Posted - 08/11/2021 :  14:08:38  Show Profile  Reply with Quote
Hi. I would still really like to know what the others bytes are supposed to represent.
Go to Top of Page
Reply #7

EmfDev

2250 Posts

Posted - 08/11/2021 :  16:14:53  Show Profile  Reply with Quote
Hi GeigerWriter,

Here is from support. Other configs are not used.
PowerOnOff, // 0
AlarmOnOff, //1
SpeakerOnOff,
IdleDisplayMode,
BackLightTimeoutSeconds,
IdleTitleDisplayMode,
AlarmCPMValueHiByte, //6
AlarmCPMValueLoByte,
CalibrationCPMHiByte_0,
CalibrationCPMLoByte_0,
CalibrationuSvUcByte3_0,
CalibrationuSvUcByte2_0, //11
CalibrationuSvUcByte1_0,
CalibrationuSvUcByte0_0,
CalibrationCPMHiByte_1,
CalibrationCPMLoByte_1, //15
CalibrationuSvUcByte3_1,
CalibrationuSvUcByte2_1,
CalibrationuSvUcByte1_1,
CalibrationuSvUcByte0_1,
CalibrationCPMHiByte_2, //20
CalibrationCPMLoByte_2,
CalibrationuSvUcByte3_2,
CalibrationuSvUcByte2_2,
CalibrationuSvUcByte1_2,
CalibrationuSvUcByte0_2, //25
IdleTextState,
AlarmValueuSvByte3,
AlarmValueuSvByte2,
AlarmValueuSvByte1,
AlarmValueuSvByte0, //30
AlarmType,
SaveDataType,
SwivelDisplay,
ZoomByte3,
ZoomByte2, //35
ZoomByte1,
ZoomByte0,
SPI_DataSaveAddress2,
SPI_DataSaveAddress1,
SPI_DataSaveAddress0, //40
SPI_DataReadAddress2,
SPI_DataReadAddress1,
SPI_DataReadAddress0,
nPowerSavingMode,
nSensitivityMode, //45
nCOUNTER_DELAY_HiByte,
nCOUNTER_DELAY_LoByte,
nDisplayContrast,
MAX_CPM_HIBYTE,
MAX_CPM_LOBYTE, //50
XXXXX,
nLargeFontMode,
nLCDBackLightLevel,
nReverseDisplayMode,
nMotionDetect, //55
bBatteryType,
nBaudRate,
nCPMSpeakerOnOffCalib,
nGraphicDrawingMode,
nLEDOnOff, //60
XXXXX,
nSaveThresholdValueuSv_m_nCPM_HIBYTE,
nSaveThresholdValueuSv_m_nCPM_LOBYTE,
nSaveThresholdMode,
nSaveThresholdValue3, //65
nSaveThresholdValue2,
nSaveThresholdValue1,
nSaveThresholdValue0,

SSID_0,
//...
SSID_63 = SSID_0 + 63,

Password_0,
//...
Password_63 = Password_0 + 63,

Website_0,
//....
Website_31 = Website_0 + 31,

URL_0,
//....
URL_31 = URL_0 + 31,

UserID_0,
//...........
UserID_31 = UserID_0 + 31,

CounterID_0,
//....
CounterID_31 = CounterID_0 + 31,

Period,
WIFIONOFF,
TEXT_STATUS_MODE,
FAST_ESTIMATE_TIME,

THIRD_PARTY_OUTPUT, //for sending 0xFF per count via serial. This data format used on NETC.com software

HIGH_VOLTAGE_LEVEL_TUBE1, // for adjusting tube 1 voltage
HIGH_VOLTAGE_LEVEL_TUBE2, // for adjusting tube2 voltage
CPM_TUBE_MODE,
CPM_TUBE_DISPLAY,
VOLTAGE_DISPLAY,
DEADTIME_ENABLE,
DEADTIME_TUBE1_HIBYTE,
DEADTIME_TUBE1_LOWBYTE,
DEADTIME_TUBE2_HIBYTE,
DEADTIME_TUBE2_LOWBYTE,
MEDIUMTHRESHOLD_HB,
MEDIUMTHRESHOLD_LB,
HIGHTHRESHOLD_HB,
HIGHTHRESHOLD_LB,
SpeakerVolume,
HV_READING,
TARGET_HV_MSB,
TARGET_HV_LSB,
HV_CALIB,

// screenshot
SS1_0,
SS1_5 = SS1_0 + 5,
SS2_0,
SS2_5 = SS2_0 + 5,
SS3_0,
SS3_5 = SS3_0 + 5,
SS4_0,
SS4_5 = SS4_0 + 5,

ACCURACY_DISPLAY,

DOSE_ALARM_0,
DOSE_ALARM_1,
DOSE_ALARM_2,
DOSE_ALARM_3,
//this one uses 6 byte space and always keep it at last
Save_DateTimeStamp, //this one uses 6 byte space and always keep it at last
MaximumBytes,
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
GQ Electronics Technical Support Forum © Copyright since 2011 Go To Top Of Page
Generated in 0.16 sec. Snitz's Forums 2000