Hi everyone,
This isn't really rtl stuff, but seeing as there's a lot of experience
here, I was hoping to pick your brains on some things. At the same time
I thought I'd tell you about what we're using rtl for here at BTR
Automotive in Australia. I think what we're using it for is quite novel
and others might be interested in picking up some of what we've
developed.
Our biggest project has been to automate testing of our automatic
transmission software. We found nothing off the shelf that would allow
us to synchronise Analogue, Digital, Timer, GPIB, RS232 and CAN data so
we could stimulate our control module deterministically - so we're using
rtl. And it's working very nicely.
We're at the stage were we need a language that allows us to build test
sets to be parsed, converted and fed into the real time task. For
example we want to do something like this:
Block Ignition_On
Time Engine_Speed Gear_Lever
0.00 0 Park
0.10 500 "
0.50 600 "
1.00 800 "
End
Block Engage_Drive
Time Gear_Lever
0.00 Park
0.30 Reverse
0.60 Neutral
1.00 Drive
End
Main
0.00 Ignition_On
+1.0 Engage_Drive /* + notation indicates start
time after */
+2.0 One_Two_Shift /* completion of last block.
*/
End
This would be parsed, interpolated between and converted into binary
data for the rtl task. Trouble is, it would be great to build on top of
what someone has already done. Has anyone come across something like
this before. I've pretty much decided to go ahead and code something,
but thought it's worth asking first.
Big user space FIFO with multiple readers
-----------------------------------------
We're using rtlinux for a daq recorder for cars. We store CAN and
analogue data to dds4 tape, so with compression we get around 100GB of
storage. RTL is needed so we can timestamp the CAN and analogue data.
Ultimately this will link in with the test bench system so we can play
back the recorded data as test sets.
The next step of the project is to configure the box to stream data over
the network so we can connect with a laptop running Labview for
displaying the data. The ideal is to have a user space application that
stores the data in a FIFO (say 20MB), except it allows for multiple
readers so I can log, process and stream the data independently. The
fifo IPC in linux doesn't seem to support multiple readers. Has anyone
come across something for doing this. I just want to put something like
this into inetd.conf...
cat /usr/daq/daqfifo1
So it makes the network stuff easy. I thought I could use this...
cat /dev/rtf12 | tee logfile /usr/daq/daqfifo1 /usr/daq/daqfifo2
but there's issues when the network client disconnects, then reconnects.
This seems like a useful thing to do in general. I couldn't see
anything on freshmeat or sourceforge. Anyone come across something that
does this?
Thanks for your time. All comments welcome.
Oh, and thanks to the rtl mail list administrator. I haven't seen any
junk recently. Good work!
Regards to all,
Stuart Warren
BTR Automotive
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/