![4Links EtherSpaceLink Series User Manual Download Page 47](http://html.mh-extra.com/html/4links/etherspacelink-series/etherspacelink-series_user-manual_445096047.webp)
EtherSpaceLink-RG408
EtherSpaceLink family User Manual
/* Child process - act as transmitter */
static thread_result send_packets (void *arg)
{
int status;
unsigned char txdata[1024] ;
FILE *
tx_fd;
EtherSpaceLink_set_active_link ( ESL_unit, 1
/*tx_link*/ );
tx_fd = fopen (filename, "rb");
if (tx_fd == NULL)
{
fprintf (stderr, "Could not open input file ’%s’\n", filename);
exit (2);
}
else
{ printf ("Opened ’%s’\n", filename);
}
/* send some data
- reading from the input file in blocks of 1024 */
while (!feof (tx_fd))
{
int length = fread (txdata, 1, sizeof(txdata), tx_fd);
status = EtherSpaceLink_write_packet ( ESL_unit, txdata, length,
EtherSpaceLink_EOP
);
}
EtherSpaceLink_flush ( ESL_unit );
sleep (1);
/* Send SpaceWire time-code 99 to shut down the receiver */
EtherSpaceLink_set_timecode_transmit ( ESL_unit, 0, 99, -1);
EtherSpaceLink_flush ( ESL_unit );
fclose (tx_fd);
printf ("Transmitter finished\n");
return thread_return;
}
4Links Limited
www.4Links.co.uk
[email protected]
page 47 of 110
T +44 1908 642001; F +44 1908 363463
Milton Keynes MK3 6EB, UK
Suite EU2, Bletchley Park