I reduced the MCU program to one level: two infinit loops: one triggers the other in every 200ms, and the second creats a burs of 25 pulses 10us long.
Every once in about 2-3s there is a longer pulse - about 50-60 us.
What can be the reason? Is there a way to control the gpio directly (like in Yocto) mapped in Viper?
10us is long enough for a minimum length of a pulse.
Have you tried to debug the code to try to find more information? There’s a guide on how to debug here https://software.intel.com/en-us/node/557354#Getting_debug_messages_from_the_MCU .
There’s also helpful information in edison-mcusdk-win64-1.0.10/docs/api_doc/html/globals.htm . In this file you’ll find all the functions that can be used in the MCU. If the debugging determines an issue at some point in the code you can see in this link if the function was properly configured.
Thanks, but I don't think debugging helps here, because that changes timing conditions, and that is the issue in question here. I think the reason of the phenomenon is not in user space here, but in the OS (Viper?).
I wrote the simplest program to reproduce the long pulses:
(Sorry, but syntax highlight disappeared from the editor header :O )
Set the scope to catch pulses longer that 25us:
Then setting the trigger to falling edges:
So it can occure in any state of the loop.
The wider pulses uccure 2-3 times a second. Not a big issue, but I measure with 10Hz, and thus the interface quite frequently hits it.
It seems to me very much like an interrupt somewere in the deep layer of the OS, and it would be very nice to disable it. Could I find some info about the OS of the MCU?
There’s no way to access any of the features on the MCU SDK beyond what’s already on the Eclipse IDE.
The only resources available for the MCU are in the Eclipse IDE and in https://software.intel.com/en-us/creating-applications-with-mcu-sdk-for-intel-edison-board .
We’ll run some additional tests and let you know our results.
1 of 1 people found this helpful
We were able to reproduce this behavior using the latest release (3.0). We tested DIG7, DIG2 and DIG3 with similar results. The wider pulses you’re observing on the MCU program is a known issue. There’s no fix at the moment for this.