Is MeadowOS.Reset() working?

I have an issue that doesn’t get caught by the Watchdog. (Beta 4.2)

I wanted to use MeadowOS.Reset() to reset the board when it happens.
However, I get the following when I call it:
ioctl PowerReset failed OperationNotPermitted

Am I doing something wrong?

My issue doesn’t happen all the time. When it happens, I am initializing a XBee3 Coordinator using Serial Communication. There is allot going on in Digi’s XBeeLibrary.Core. I assume my issue is a locked up thread.
I get around the initialization issue by starting a thread that sleeps for a minute and checks a bool to see if initialization completed. If not, I reset the Meadow and all is good on the next try. Currently, I am wiring A0 to RST and setting A0 false, this resets the board. However, I would like to use MeadowOS.Reset() and avoid the extraneous BS that I’m currently using.

Any help would be greatly appreciated.
Thanks, Paul

Looks like we broke it, but should be fixed now in b4.3: http://developer.wildernesslabs.co/Meadow/Release_Notes/Beta4/

Still getting: ioctl PowerReset failed OperationNotPermitted

I believe I have everything updated. Is there something I might have missed?

C:\Users\Work>meadow --GetDeviceInfo
Opening port ‘COM9’
Data: Meadow successfully started MONO
Data: Mono enabled, will run app.exe
ID: Meadow by Wilderness Labs, Model: F7Micro, MeadowOS Version: 0.4.3 (Jan 3 2021 19:58:43), Processor: STM32F777IIK6, Processor Id: 17-00-36-00-0d-51-38-32-37-35-36-30, Serial Number: 306C35583238, CoProcessor: ESP32, CoProcessor OS Version: 0.4.3.0, Mono Version: 0.0.0.1, Device Name: MeadowF7

We’re investigating. My initial review of the code is that it should be working, so there’s something wrong on our end. In the meantime, a workaround is to just set the watchdog with a very low timeout (like 1ms or whatever)

MeadowOS.Reset() is working. Just installed b4.4 and it started working as expected.
Thank you so much, Paul

3 Likes