#include <simgear/debug/logstream.hxx>
+#include <simgear/io/iochannel.hxx>
#include <Aircraft/aircraft.hxx>
-#include "iochannel.hxx"
#include "joyclient.hxx"
// open hailing frequencies
bool FGJoyClient::open() {
if ( is_enabled() ) {
- FG_LOG( FG_IO, FG_ALERT, "This shouldn't happen, but the channel "
+ SG_LOG( SG_IO, SG_ALERT, "This shouldn't happen, but the channel "
<< "is already in use, ignoring" );
return false;
}
- FGIOChannel *io = get_io_channel();
+ SGIOChannel *io = get_io_channel();
if ( ! io->open( get_direction() ) ) {
- FG_LOG( FG_IO, FG_ALERT, "Error opening channel communication layer." );
+ SG_LOG( SG_IO, SG_ALERT, "Error opening channel communication layer." );
return false;
}
// process work for this port
bool FGJoyClient::process() {
- FGIOChannel *io = get_io_channel();
+ SGIOChannel *io = get_io_channel();
int length = sizeof(int[2]);
- if ( get_direction() == out ) {
- FG_LOG( FG_IO, FG_ALERT, "joyclient protocol is read only" );
+ if ( get_direction() == SG_IO_OUT ) {
+ SG_LOG( SG_IO, SG_ALERT, "joyclient protocol is read only" );
return false;
- } else if ( get_direction() == in ) {
- FG_LOG( FG_IO, FG_DEBUG, "Searching for data." );
- if ( io->get_type() == fgFileType ) {
+ } 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 ) {
- FG_LOG( FG_IO, FG_DEBUG, "Success reading data." );
+ SG_LOG( SG_IO, SG_DEBUG, "Success reading data." );
int *msg;
msg = (int *)buf;
- FG_LOG( FG_IO, FG_DEBUG, "X = " << msg[0] << " Y = "
+ 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(elevator) < 0.05 ) {
elevator = 0.0;
}
- controls.set_aileron( aileron );
- controls.set_elevator( -elevator );
+ globals->get_controls()->set_aileron( aileron );
+ globals->get_controls()->set_elevator( -elevator );
}
} else {
while ( io->read( (char *)(& buf), length ) == length ) {
- FG_LOG( FG_IO, FG_DEBUG, "Success reading data." );
+ SG_LOG( SG_IO, SG_DEBUG, "Success reading data." );
int *msg;
msg = (int *)buf;
- FG_LOG( FG_IO, FG_DEBUG, "X = " << msg[0] << " Y = "
+ 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(elevator) < 0.05 ) {
elevator = 0.0;
}
- controls.set_aileron( aileron );
- controls.set_elevator( -elevator );
+ globals->get_controls()->set_aileron( aileron );
+ globals->get_controls()->set_elevator( -elevator );
}
}
}
// close the channel
bool FGJoyClient::close() {
- FGIOChannel *io = get_io_channel();
+ SGIOChannel *io = get_io_channel();
set_enabled( false );