@Lazar-Demin - It is definitely running out of memory, but if I remember correctly I boiled my code down to just a loop checking the state of the gpio, after of course initializing it the way I wanted to use it.
Hey @Kit-Bishop, Firstly thanks for the code! Yes the code that I tried after running into issues with my own, was yours. My tests might be out of date because im using a version of code that is still using file writing (/sys/class/gpio/gpioX) to export, read value, and change direction. Where as there is a different gpio class that you have that actually writes directly to the register, like fast-gpio. But i think that class is written in C/C++ and does not have a nodejs addon. Please correct me if I am wrong there. I am new to the Omega and microcontrollers in general, and well I can only tell you what I see and know because I don't know anyone else using this platform.
@Justin-Sowers Fair enough. Sorry I wasn't able to help.
fast-gpio set 6 1 should not be creating any additional processes. It just uses hardware memory register access to set the pin value (as does the get-direction calls - only pwm causes fast-gpio to fork a separate process).
So, it is a bit of a puzzle as to why you end up with multiple processes running.
Since I really don't have any experience with Ruby or Python which you say you are using all I can suggest is that you look at what Ruby or Python are doing when they run the shell command fast-gpio set 6 1 etc. Perhaps others with more knowledge of these could advise.
Andrei - I don't know if this helps, but your comments were so helpful I wanted to mention this. I've had ruby installed and didn't see a lot of additional dependencies. I just now installed ruby-irb and saw that opkg installed a whole bunch of ruby-related stuff.