GHI.Processor.Watchdog.Disable() throws System.InvalidOperationException

I am using raptor board G400 with v4.3 r4. I need to temporarily disable watchdog. But GHI.Processor.Watchdog.Disable() throws System.InvalidOperationException.

WebEventHandler Exception was thrown: System.InvalidOperationException
GHI.Processor.Watchdog::NativeDisable
GHI.Processor.Watchdog::Disable
WebInterface.HTTPServer::WebEventHandler
XGadgeteer.Networking.WebEvent+ReceivedWebEventHandler::Invoke
WebInterface.HTTPServer::WebEventFiringFunction
XGadgeteer.Networking.WebEvent::OnWebEventReceived
System.Reflection.MethodBase::Invoke
Gadgeteer.Program::DoOperation
Microsoft.SPOT.Dispatcher::PushFrameImpl
Microsoft.SPOT.Dispatcher::PushFrame
Microsoft.SPOT.Dispatcher::Run
Gadgeteer.Program::Run

Can you tell me how I can disable watchdog temporarily?

I believe on this processor can activate but not stop the watchdog.

@ nsmith - You might find it relevant: https://www.ghielectronics.com/community/forum/topic?id=16834&page=2#msg167335 (and the whole thread).

What about In Field Update and WatchDog.

Does IFU refresh WatchDog(if previously activated in application)?
I suppose yes otherwise there could be a problem bacause IFU procedure can take more than WatchDog refresh period.

@ mhstr - IFU and watchdog should be able to coexist on the G400.

Is there any way that I can increase the watchdog timeout period temporarily or trick the raptor board to think watchdog is disabled?

@ nsmith - Once you enable watchdog you cannot disable it or change the timeout period. The maximum period is around 16 seconds.

Changing the period was possible in previous release on EMX. Why it can’t be possible now? There’s some cases when an atomic instruction can take more than 16s (File transfert is an example). What is the solution a separate thread?

@ leforban - My statement was only for the G400.

I know that you are talking about G400 this is the device I am using now instead of EMX and I am surprised that I can’t reuse the same code. For now exceptions are fired when the code try to change the watchdog period. This could be indicated in the G400 documentation.

@ leforban - We will clarify the limitations of the underlying hardware in the manual.