Previous: GPIO Test Application Part 5 – View
This post is part 6 of 6 of the GPIO Test Application. You can find the initial post here: GPIO Test Application part 1 – Overview.
In this post I will wrap up the project, make the source code available, and provide a final impression
Project Source Code
You can find the entire source code for this project right here:
You can run the application on your computer, but it will run in simulation mode (no GPOI). See the First Windows 10 IoT Core Windows Application post for information on how to run it on your Raspberry Pi.
The source code for the project has the same requirements as stated in my post: Setting up Visual Studio 2015 for Windows 10 IoT Core development
One of the gotchas that this project highlighted for me is that the ValueUpdated event on the GpioPin is not the most reliable thing. On odd occasions and for not apparent reason, sometimes the event doesn’t get triggered at all??? Its good for most, non-critical applications, but it’s by no means reliable.
It also gave me a chance to play around with the DebounceTimeout value. What this does is that is inhibits the ValueUpdated event. Meaning, it might miss some of the state change. That will be usefull on slower more controlled system to prevent noise, but on near-real time system like a user controlled push button, not supplying a value was the best option.
I wanted to make this project work with event. Events in .NET are very useful because you don’t have to hang around trying to look for changes in values, you just register for an event and get notified when the value changes. I’m a bit disappointed that the event on the GPIO pins is not more reliable, or maybe my electronic is missing something???
Still, this was a fun project that, I find, turned out pretty good. I learned a number of things and I got to play with a neat new little device: Raspberry Pi.
Hopefully, next time around we’ll crank it up a notch and take this to the next level!!!