A data feed object responds to several messages, including Connect and Set Script. These are detailed above as arguments for Open Datafeed(). They can also be sent as messages to a data feed object that already exists:
feed << Connect( port( "com1:" ), baud( 4800 ), databits( 7 ), parity( odd ), stopbits( 2 ) );
feed << Set Script( myScript );
The following messages could also be used as arguments to On Datafeed(). However, it would be more common to send them as messages to a data feed object that is already present.
You can send lines to a data feed from a script. This is a quick way to test a data feed. If you do not have a device available, Queue Line does not send data to a device; it simulates getting data from a device. Include a text argument or a global that stores text:
feed << Queue Line( "14" );
feed << Queue Line( myValue );
feed << Queue Line( "11" );
feed << Queue Line( "22" );
feed << Queue Line( "33" );
feed << Queue Line( "44" );
feed << Queue Line( "55" );
Figure 13.2 Datafeed: 5 Lines Queued
To get the first line currently waiting in the queue, use a Get Line (singular) message. When you get a line, it is removed from the queue. Five lines were queued with the test script above, and Get Line returns the first line and removes it from the queue:
feed << Get Line
"11"
Figure 13.3 Datafeed: 4 Lines Queued
To empty all lines from the queue into a list, use Get Lines (plural). This returns the next four lines from the test script in list { } format.
myList = feed << GetLines;
{ "22", "33", "44", "55" }
Figure 13.4 Datafeed: 0 Lines Queued
To stop and later restart the processing of queued lines, either click the Stop and Restart buttons in the Datafeed window, or send the equivalent messages:
feed << Stop;
feed << Restart;
feed << Close;
feed << Disconnect
Open Datafeed Datafeed |
feed = Open Datafeed( commands ) |
Creates a data feed object. Any of the following can be used as commands inside Open Datafeed or sent as messages to an existing data feed object. Datafeed is a synonym.
|
Set Script |
feed << Set Script( script ) |
Assigns the script that is run each time a line of data is received.
|
Get Line |
feed << Get Line |
|
Get Lines |
feed << Get Lines |
|
Queue Line |
feed << Queue Line( string ) |
|
Stop |
feed << Stop |
|
Restart |
feed << Restart |
|
Close |
feed << Close |
|
Connect |
feed << Connect( Port( "com1:" | "lpt1:" | ... ), Baud( 9600 | 4800 | ... ), Data Bits( 8 | 7 ), Parity( None | Odd | Even ), Stop Bits( 1 | 0 | 2 ), DTR_DSR( 0 | 1 ), RTS_CTS( 0 | 1 ), XON_XOFF( 1 | 0 ) ) |
|
Disconnect |
feed << Disconnect |