int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "Usage: %s DRIVER\n" "Where DRIVER is one of:\n", argv[0]); const TCHAR *name; for (unsigned i = 0; (name = devRegisterGetName(i)) != NULL; ++i) _ftprintf(stderr, _T("\t%s\n"), name); return 1; } PathName driver_name(argv[1]); device.Driver = devGetDriver(driver_name); if (device.Driver == NULL) { fprintf(stderr, "No such driver: %s\n", argv[1]); return 1; } NullPort port(*(Port::Handler *)NULL); device.Com = &port; device.enable_baro = true; if (!device.Open()) { fprintf(stderr, "Failed to open driver: %s\n", argv[1]); return 1; } char buffer[1024]; while (fgets(buffer, sizeof(buffer), stdin) != NULL) device.LineReceived(buffer); Dump(device_blackboard.Basic()); }
static bool devInitOne(DeviceDescriptor &device, const DeviceConfig &config, DeviceDescriptor *&nmeaout) { if (config.port_type == DeviceConfig::INTERNAL) { #ifdef ANDROID if (is_simulator()) return true; device.internal_gps = InternalGPS::create(Java::GetEnv(), native_view, device.GetIndex()); return device.internal_gps != NULL; #else return false; #endif } const struct DeviceRegister *Driver = devGetDriver(config.driver_name); if (Driver == NULL) return false; Port *Com = OpenPort(config, device); if (Com == NULL) return false; if (!device.Open(Com, Driver)) { delete Com; return false; } if (nmeaout == NULL && (Driver->Flags & (1l << dfNmeaOut))) nmeaout = &device; return true; }
int main(int argc, char **argv) { if (argc != 3) { fprintf(stderr, "Usage: %s DRIVER FILE.IGC\n" "Where DRIVER is one of:\n", argv[0]); const TCHAR *name; for (unsigned i = 0; (name = devRegisterGetName(i)) != NULL; ++i) _ftprintf(stderr, _T("\t%s\n"), name); return 1; } PathName driver_name(argv[1]); device.Driver = devGetDriver(driver_name); if (device.Driver == NULL) { fprintf(stderr, "No such driver: %s\n", argv[1]); return 1; } NullPort port(*(Port::Handler *)NULL); device.Com = &port; device.enable_baro = true; if (!device.Open()) { fprintf(stderr, "Failed to open driver: %s\n", argv[1]); return 1; } char buffer[1024]; for (unsigned i = 0; i < 10 && fgets(buffer, sizeof(buffer), stdin) != NULL; ++i) device.LineReceived(buffer); PathName igc_path(argv[2]); IGCWriter writer(igc_path, device_blackboard.Basic()); writer.header(device_blackboard.Basic().DateTime, _T("Manfred Mustermann"), _T("Ventus"), _T("D-1234"), _T("Foo"), driver_name); GPSClock log_clock(fixed(1)); while (fgets(buffer, sizeof(buffer), stdin) != NULL) { device.LineReceived(buffer); if (log_clock.check_advance(device_blackboard.Basic().Time)) writer.LogPoint(device_blackboard.Basic()); } }
static bool devInitOne(PDeviceDescriptor_t dev, int index, const TCHAR *port, DWORD speed, PDeviceDescriptor_t &nmeaout) { TCHAR DeviceName[DEVNAMESIZE]; if (is_simulator()) return FALSE; ReadDeviceSettings(index, DeviceName); const struct DeviceRegister *Driver = devGetDriver(DeviceName); if (Driver) { ComPort *Com = new ComPort(dev); if (!Com->Initialize(port, speed)) return FALSE; memset(dev->Name, 0, sizeof(dev->Name)); _tcsncpy(dev->Name, Driver->Name, DEVNAMESIZE); dev->Driver = Driver; dev->Com = Com; devOpen(dev, index); if (devIsBaroSource(dev)) { if (pDevPrimaryBaroSource == NULL) { pDevPrimaryBaroSource = dev; } else if (pDevSecondaryBaroSource == NULL) { pDevSecondaryBaroSource = dev; } } if (nmeaout == NULL && Driver->Flags & (1l << dfNmeaOut)) { nmeaout = dev; } } return TRUE; }