[erlang-questions] [ANN] wpi - Controlling the Raspberry Pi using Erlang

Klas Johansson <>
Tue Oct 9 22:40:19 CEST 2012

Hi Tony,

On Tue, Oct 9, 2012 at 9:28 AM, Tony Rogvall <> wrote:
> Thanks!


> Note that serialGetchar (wiringSerial) will block for (up to) 10s if no
> character is available.
> (From function header documentation)
> And this fact (wiringSerial.c:95)
>     options.c_cc [VMIN]  =   0 ;
>     options.c_cc [VTIME] = 100 ; // Ten seconds (100 deciseconds)
> The effect is that the emulator will be blocked and no other processes may
> run (for up to 10 s)!
> (unless there are more cores than one (online))
> You may want to use driver_select. Should probably set the VTIME=0 to be
> sure.

Yes that's a very valid point, I noticed that while going through the
documentation yesterday. I've updated the documentation to state this
and also created an "issue" on github. Thanks for the reminder!

> A little plug:
> There is a project using threads to get some exotic uart features, a bit
> heavy, but is working (even on windows!)
> (Still lack documentation but has a simple api and is simple to use, nice
> packeting options for example)
> https://github.com/tonyrog/uart

Looks nice.


> On 8 okt 2012, at 22:27, Klas Johansson <> wrote:
> Hi,
> Are you interested in letting Erlang control a Raspberry Pi [1]? If so
> you might be interested in `wpi' which is an Erlang wrapper around the
> WiringPi library (by Gordon Henderson) which is a Raspberry Pi dialect
> of the Wiring library which you may have experienced for Arduino. wpi
> makes it possible to read from and write to GPIO pins, write to LCDs,
> shift bits in and out and control other devices over serial interfaces
> or SPI and all this from a Raspberry Pi running Erlang.
>    https://github.com/klajo/wpi
> Contributions are more than welcome. Thanks to David Haglund who
> contributed the SPI bus and serial interface parts.
> Best Regards,
> Klas
> [1] http://www.raspberrypi.org/faqs
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions
> "Installing applications can lead to corruption over time. Applications
> gradually write over each other's libraries, partial upgrades occur, user
> and system errors happen, and minute changes may be unnoticeable and
> difficult to fix"

More information about the erlang-questions mailing list