- } else if ( get_direction() == in ) {
- FG_LOG( FG_IO, FG_DEBUG, "Searching for data." );
- while ( io->read( (char *)(& buf), length ) == length ) {
- FG_LOG( FG_IO, FG_DEBUG, "Success reading data." );
- int *msg;
- msg = (int *)buf;
- FG_LOG( FG_IO, FG_INFO, "X = " << msg[0] << " Y = " << msg[1] );
- double aileron = ((double)msg[0] / 2048.0) - 1.0;
- double elevator = ((double)msg[1] / 2048.0) - 1.0;
- if ( fabs(aileron) < 0.05 ) {
- aileron = 0.0;
+ } else if ( get_direction() == SG_IO_IN ) {
+ SG_LOG( SG_IO, SG_DEBUG, "Searching for data." );
+ if ( io->get_type() == sgFileType ) {
+ if ( io->read( (char *)(& buf), length ) == length ) {
+ SG_LOG( SG_IO, SG_DEBUG, "Success reading data." );
+ int *msg;
+ msg = (int *)buf;
+ SG_LOG( SG_IO, SG_DEBUG, "X = " << msg[0] << " Y = "
+ << msg[1] );
+ double aileron = ((double)msg[0] / 2048.0) - 1.0;
+ double elevator = ((double)msg[1] / 2048.0) - 1.0;
+ if ( fabs(aileron) < 0.05 ) {
+ aileron = 0.0;
+ }
+ if ( fabs(elevator) < 0.05 ) {
+ elevator = 0.0;
+ }
+ globals->get_controls()->set_aileron( aileron );
+ globals->get_controls()->set_elevator( -elevator );