EtherSpaceLink-RG408
EtherSpaceLink family User Manual
int main (int argc, char * argv [] )
{
unsigned char HWA[6];
pthread_t th_rx;
/* Thread for receiving packets */
pthread_t th_tx;
/* Thread for sending packets */
int ports;
int status;
if (argc < 3)
{ fprintf ( stderr,
"Usage: %s <ESL IP address> <filename to tx> <filename to rx>\n",
argv[0]);
exit (1);
}
printf ("Connecting to %s ... ", argv[1] );
fflush ( stdout );
ESL_unit = EtherSpaceLink_open ( argv[1] );
if ( ESL_unit == 0 )
{
fprintf ( stderr, "\n"
"Failed to establish connection to EtherSpaceLink\n"
"
[Are you using the correct IP address?]\n"
"
[Is the network OK?]\n"
);
exit (1);
}
printf ("OK\n");
/** Receive timeout allows shutdown to work */
EtherSpaceLink_get_HWA ( ESL_unit, HWA );
ports = EtherSpaceLink_get_number_of_links ( ESL_unit );
EtherSpaceLink_set_speed ( ESL_unit, 100 );
// Set link speed to 100 Mb/sec
printf ( "%s",
EtherSpaceLink_get_manufacturer_string ( ESL_unit ) );
printf ( " %s", EtherSpaceLink_get_product_string ( ESL_unit ) );
printf ( " (%i ports)\n", ports );
printf ( "Serial number %s",
EtherSpaceLink_HWA_to_serial_number_string ( HWA ) );
printf ( " at %2.2X-%2.2X-%2.2X-%2.2X-%2.2X-%2.2X",
HWA[0], HWA[1], HWA[2], HWA[3], HWA[4], HWA[5] );
printf ( "\n\n" );
status = EtherSpaceLink_set_active_link ( ESL_unit, 1
/*tx_link*/ );
status = EtherSpaceLink_set_mode ( ESL_unit, EtherSpaceLink_LINK_mode_normal );
/* Set ESL to report received timecodes */
EtherSpaceLink_set_timecode_receive ( ESL_unit, 1);
rx_fd = fopen (argv[3], "wb");
if (rx_fd == NULL)
{ fprintf (stderr, "Cannot open file ’%s’\n", argv[3]);
exit (1);
}
else
{ printf ("Opened ’%s’\n", argv[3]);
}
strncpy (filename, argv[2], sizeof(filename));
4Links Limited
www.4Links.co.uk
[email protected]
page 49 of 110
T +44 1908 642001; F +44 1908 363463
Milton Keynes MK3 6EB, UK
Suite EU2, Bletchley Park