Could someone explain the format of the config.txt file for jeemon when running under Linux?
Thanks for any help
This forum has moved to forum.jeelabs.net - this read-only archive is for reference only!
Could someone explain the format of the config.txt file for jeemon when running under Linux?
Thanks for any help
Do you mean the basic formatting of lines, comments, and {}'s? Or the actual entries, such as "interfaces/ { ... }", "RF12/ { ... }", etc. The latter depends on the module using this information.
The actual entries and what they mean is what I am after. How do I put in the USB port for linux in the interfaces section? How does the RF12 section work and also the sketches and action sections?
Thanks
> How do I put in the USB port for linux in the interfaces section?
Run this command to find out which device is which:
./JeeMon SysInfo interfaces
Or alternately use device names, i.e.
/dev/ttyS0 { baudrate 57600 action sketch }
For your other Q's, I must mention that everything is experimental and can still change. The basic idea is:
a directly connected JN/JL reports itself on startup as "\[blah] ..." that causes JeeMon to launch a script called "sketches/blah/host.tcl", if present it's up to that code to interpret info in the config.txt file
> How does the RF12 section work
It is used to associate specific nodes with specific sketch handlers. For example this entry:
RF12/ { 868:5/ { 2/ { type analogPlug } } }
It is used from the "central/host.tcl" module (i.e. the one which gets started when you connect a JN/JL running the "central.pde" to computer running JeeMon. It says: when receiving packets from node 2, and with the JN/JL listening on group 5 of the 868 MHz band, then assume these packets come from a sketch called "analogPlug".
The "sketches/ { ... }" configuration info can contain additional sketch-specific configuration options, e.g.
analogPlug/ { timeout 5 }
This means the analogPlug works with a 5-second timeout. If no packets come in within 5 seconds, JeeMon considers the connection lost and unloads everything associated with it. This is how the analogPlug GUI window closes when you switch off the (remote!) node.
The "actions/ { ... }" configuration info tells JeeMon what to do with different types of connections when they are created. So that if you plug in a USB device listed in the config as "sketch" then JeeMon assumes it's a JN/JL which will start by sending a "\[blah] ..." line to identify itself to JeeMon.
As I said, there's a fair bit of experimental code in all this. I'm exploring a way to make JeeMon respond to real-time changes in its environment. So that when you plug in a USB device, it'll do something useful for that specific device, and when you turn on a remote node and packets start coming in, JeeMon will know what sort of data that is and can start up the associated code for that specific node.
Thank you. The information is very helpful.
One last question, is the Remote Node part of jeemon working at all or just directly connected devices?
You mean JeeMon automatically picking up remote nodes when packets come in? Yes - that's working.
Perhaps these two posts are good starting points; direct hookup and [remote hookup](http://news.jeelabs.org/2010/03/01/node-discovery/).
To use remote nodes, you should use the "central.pde" sketch i.s.o. the "RF12demo" sketch. I think they are still identical right now, but they announce themselves differently, and for central, there is a "central/host.tcl" which kicks in to receive and detect nodes.
Lots of little details still, I'm afraid. Make sure the central node RF config (band, group) is set properly. Make sure JeeMon starts the host.tcl file for it, and when making changes to config.txt you currently have to restart JeeMon :(