The functions canRead() and canWrite do CanBus I/O.
#!/usr/bin/perl
use Spectra
#
# send 2 bytes (0, 0) to the identifier 0x201
#
$ret = canWrite( 0x201, 0, 0);
#
# generate a frame with the identifier 0x181 ...
#
$ret = canWrite( 0x181);
#
# ... and fetch the transmitted frame and split it into
# - the identifier ($adr)
# - the length of the frame ($len)
# - and the message part (@msg)
#
($adr, $len, @msg) = split ' ', canRead();
#
# loop until we find the desired pattern
#
while( $msg[0] != 85 ||
$msg[1] != 85)
{
$ret = canWrite( 0x181);
($adr, $len, @msg) = split ' ', canRead();
Wait( 0.2);
}