Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run Erlang based robot? Is it possible to convert it into .hex and run over microcontroller?

I am working on Erlang robotic project. I have made a wallfollower robot program which has two files 1. a C program to communicate with hardware(I think we can not directly use Erlang for this) and 2. Erlang program to call these functions. I want to know where(platforms) I can run this robot.

Is it possible to run this robot over micro-controller (8051 or ARM7) based hardware?

Is it possible to convert Erlang program into C code or directly into .hex file?

like image 490
Dinesh Avatar asked Jun 11 '10 19:06

Dinesh


3 Answers

You might want to have a look to this project:

http://erlang-embedded.com/

They presented it today at the Erlang Factory Conference in London.

Also, you might want to contact someone from the DMI (formerly DIIT) from Catania, Italy. They spent many years working on Erlang powered robots:

http://eurobot.dmi.unict.it/?p=16

Hope this helps.

like image 59
Roberto Aloi Avatar answered Sep 20 '22 01:09

Roberto Aloi


To the best of my knowledge:

  1. there isn't any port of Erlang VM over micro-controllers (assuming it would even make sense)

  2. there isn't any way to turn Erlang BEAM code to .hex format: BEAM VM code needs a virtual machine to operate in.

If you want something lightweight with task/threading capability for micro-controllers, why not consider TinyOS ?

like image 41
jldupont Avatar answered Sep 18 '22 01:09

jldupont


The Erlang VM does a lot more than just interpret the erlang bytecode for you. It also handles the interprocess messaging, and does a lot of the heavy lifting that makes erlang so robust and fault tolerant. translating erlang code to machine code would require translating a good portion of the vm code as well. You'd be better off porting the vm itself to a micro-controller and running the apps on that.

like image 21
Jeremy Wall Avatar answered Sep 18 '22 01:09

Jeremy Wall