Hi JCW,
Received my JeeNodes a couple weeks ago and have been happily tinkering with them.
I'm interested in using the RFM12 as part of a larger system for high-speed photographic triggering. In this system I don't need to send much data, but what I do need is:
Extremely low latency from trigger condition to trigger command being received on the other end.
High repeatability of timings (I need to sync both wired and wireless devices to all trigger at the same time)
Only need one-way communication from source (trigger) to destination (receiver).
I've done some tests with RF12 demo code, triggering off pin changes immediately before and after packets are sent or received. With a payload of 2 bytes am measuring a latency of 2.45 - 2.47 milli-seconds. Fiddling with the library to up the baud rate to 115.7kbbs, I measure 1.23 - 1.26 milliseconds. This is certainly excellent, but not fast enough for my requirements.
Unfortunately, whilst I'm reasonably familiar with Arduino code, I have trouble following the library code - let alone modifying it. I wonder if anyone here might offer some pointers for things that can be touched to both reduce the latency and reduce the variation. My target is 500 micro-seconds and under 5 micro-second variation.
Things I'd think would help (but don't know how to implement):
Keep source devices in permanent transmit mode, ready to send.
Keep destination devices in permanent receive mode, ready to receive.
Pre buffer commands / payload into source radio, ready to send.
Remove checks for whether airwaves are clear (Either I trigger within the timeframe, or the moment is lost).
Any help greatly appreciated. If anyone's interested, this is the kind of thing I've been working on: http://tinyurl.com/ykzna38
