Add GPIO capability
This work was completed for our Advanced Software Engineering course at Colorado School of Mines.
We've added a GPIO capability with an implementation for Raspberry Pi based on rppal. The interface supports basic digital input and output as well as PWM output. A video demonstrating this functionality is attached.
Hey @Quantaly ! Thanks for your contribution! This looks pretty awesome 💙
I will admit that I am not familiar with GPIO capability, but I noted that it will only be able to run on a Raspberry Pi. This is quiet a different capability than the ones we already have, which are mostly centered on the theme of wasi-cloud-core World proposal. On the other hand, this PR does add a optional compilation feature like all other capabilities so it won't affect any downstream projects that use only a subset of SpiderLightning's capabilities.
With that being said, I am happy to merge this to the main branch, but this does not indicate that it will be part of the wasi-cloud-core World proposal. In order to become part of that, you will need to present this idea to the WASI CG meeting and then we will discuss if it makes sense to be part of the bigger World.
Since this is a pretty big PR, I will do a quick pass of review today and then let's iterate through it. I noticed that the CI is failing, could you please help to fix it?
@Quantaly , @joeyvongphasouk , and @BrendanBurm ~ Is this something you are still interested in merging?