Can't configure Watchdog properly on EHS6 | Telit Cinterion IoT Developer Community
April 29, 2015 - 11:43am, 2928 views
Hello, I'm a bit green to Gemalto programming, but making good progress. I have an application, where the modem reads serial input and writes the data to a cloud server. We have been using previously a Cinterion mc88i which had EGS5 Java module. There we used Java commands like Watchdog.start(300) and watchdog.kick().
Now Ecliple Java ME says that for EHS6 the type Watchdog is deprecated, but Watchdog2 will not work in the same manner.
Then I can see there is also a hardware watchdog, which seems like a completely different system. I am able to activate it through AT^SCFG="Userware/Watchdog","1" but I am unsure does this affect the Java watchdog or the hardware one.
My specific questions:
1) How can I use the Java watchdog2?
2) Reading through EHSxT HW desc. V04 I can see there are many parameters defining watchdog behaviour, but reading from 8.3.1.1 onwards it seems that all functionalities are disabled by default (like RST_REP, RST_UART etc.). So if I activate the watchdog through AT^SCFG="Userware/Watchdog","1" then what does the watchdog DO since all features are disabled by default?
3) I would like to configure the hardware watchdog from my Java midlet, but can't manage to communicate with the hw watchdog unit. Also there are no examples online that I could find. Also, all AT^SSPI commands return an ERROR in the usb console, so I am unable to even try passing commands through the i2c bus.
I hope you can clarify the case with two separate (?) watchdogs and how they can be used to reboot the device in the case of jamming. Thank you all.
Hello,
In the terminal version of EHS6 module (EHS6T) there are two watchdogs available: the module's watchdog and the additional hardware watchdog which is a separate chip on the terminal's board.
You can configure this hardware watchdog with the special commands on ASC0 with baudrate 1200. Then the watchdog commands will be received by hardware watchdog - there will be no reply, just a diode blinking. You will find more details in the terminal hardware interface description document. To kick/reset the watchdog timer the transmission on serial interface can be used or toggling of the dedicated GPIO pin (which can be done with the Java API).
The command AT^SCFG="Userware/Watchdog","1" activates the module's watchdog which you can control with the provided Java API (Watchdog and Watchdog2). The setting "1" means that the system will be restarted in case the watchdog will not be kicked on time.
You can use Watchdog2 in the similar way as you have been using old Watchdog. The difference is that you need to create your own instance of the class. So you can create more instances.
Best regards,
Bartłomiej