BGS5 watchdog trouble | Telit Cinterion IoT Developer Community
July 1, 2015 - 9:07am, 4632 views
Hello,
I'm having some trouble getting the watchdog functionality to work on my BGS5T terminal. I've followed the instructions in the manual carefully but after activating the watchdog for "GPIO reset" I cannot seem to keep it from rebooting even when toggling the GPIO signal regularly.
Here's my module info:
ATI
Cinterion
BGS5
REVISION 01.100
These are the commands I used to configure the watchdog, using ASC0 at 1200baud:
WD=MIN_START_TIME,600000,6
WD=RST_GPIO,600000,6
WD=ALWAYS_ON,60000,6
WD=ON,1,1
All commands executed successfully (the green LED flashed twice after each command).
In the "Hardware Interface Description" document (EHSxT_BGS5T_HID_v02), section 8.3.1.5 "GPIO Reset", it states that "The module has to be active on the WD_RETRIG signal by toggling the GPIO22 module output within the specified time period. Otherwise the watchdog will reset the module.". So, in my Java MIDlet, first I open and initialize GPIO22 as output with this line of code:
AT^SCPIN=1,21,1,0
Then I toggle the GPIO22 output on and off every 10 seconds with this code:
AT^SSIO=21,1
Thread.sleep(1000)
AT^SSIO=21,0
However, the terminal always reboots after 10 minutes (= 600000ms, as specified in the WD=RST_GPIO command).
Later I discovered that there is a newer version of the "Hardware Description" document (EHSxT_BGS5T_HID_v06) which, in the same section 8.3.1.5 "GPIO Reset", says that GPIO8 must be toggled, not GPIO22. I tried the same code as above but with GPIO8, and I get the same result. So, my questions are:
1. Which GPIO is the correct one?
2. How can I toggle the GPIO correctly to keep the watchdog from rebooting?
I would appreciate any suggestions for resolving this issue. Thank you.
Hi,
You probably allready checked and it's a silly question, but did you mesaure if you really have 5V on GPIO when you set it to 1(HIGH)? From what you have described it should work, I haven't used that part of watchdog, just ALLWAYS_ON, RST_REP and I didn't have any problems with them.
Regards
Jure
Hi,
Yes, after each "AT^SSIO" command I checked the pin's state with "AT^GPIO" and it had the requested state (0 or 1). I can't physically measure the voltage though, because GPIO22 is an internal GPIO so it's not available on the Weidmueller connector.
Thanks,
Gordon
Hi,
if you check page 28 on the datasheet that you was talking before you will se that GPIO8 and 22 are on connector.
Regards,
Jure
This is true in version v06 of the document, but not in my version, which is v02. Aparently there are several different versions of the BGS5 with different GPIO configurations, and I don't know exactly which one I have and which version of the document matches it. Do you know how I can verify this?
Use AT command AT^SJAM=4
And you should get back all installed MIDlets. JRC, should be the same version like my if you have the latets firmware:
: "a:/JRC-1.50.3.jad","Java Remote Control MIDlet Suite","Cinterion","1.50.3","1"
Regards,
Jure
Mine appears to be a little older than yours:
"a:/JRC-1.50.1.jad","Java Remote Control MIDlet Suite","Cinterion","1.50.1","1"
In the "Document History" section of the "Hardware Interface Description" document v06, it shows that the WD_RETRIG line was changed from GPIO22 to GPIO8 in version v05 of the document, but there is no date shown. Version v06 shows the date 10/2/2015, and the version v02 that I got more or less the same time as when I bought my terminal is from 23/5/2014. So I'm still not sure which version of the GPIO configuration I have. In either case though, I've tried both GPIO22 and GPIO8 and I can't get it to work.
I finally managed to resolve this issue by simply turning the watchdog off and then back on with the commands:
WD=ON,0,0
WD=ON,1,1
After that, it started working correctly, and reboots were prevented by toggling GPIO22 within the timeout interval. I can't find anything in the manual that says that the watchdog must be turned off and on for RST_GPIO to work, but it did workin my case anyway.