bool VolksloggerDevice::Declare(const Declaration &declaration, const Waypoint *home, OperationEnvironment &env) { if (declaration.Size() < 2) return false; env.SetText(_T("Comms with Volkslogger")); port.SetRxTimeout(500); // change to IO mode baud rate unsigned lLastBaudrate = port.SetBaudrate(9600L); VLAPI vl(port, env); bool success = DeclareInner(vl, declaration, home); vl.close(1); port.SetBaudrate(lLastBaudrate); // restore baudrate return success; }
bool EWDevice::Declare(const struct Declaration &declaration, gcc_unused const Waypoint *home, OperationEnvironment &env) { port.StopRxThread(); // change to IO Mode baudrate unsigned old_baud_rate = port.GetBaudrate(); if (old_baud_rate == 9600) old_baud_rate = 0; else if (old_baud_rate != 0 && !port.SetBaudrate(9600)) return false; bool success = DeclareInner(declaration, env); // switch to NMEA mode port.Write("NMEA\r\n"); // restore baudrate if (old_baud_rate != 0) port.SetBaudrate(old_baud_rate); return success; }
bool VolksloggerDevice::Declare(const Declaration &declaration, const Waypoint *home, OperationEnvironment &env) { if (declaration.Size() < 2) return false; port.StopRxThread(); // change to IO mode baud rate unsigned old_baud_rate = port.GetBaudrate(); if (old_baud_rate == 9600) old_baud_rate = 0; else if (old_baud_rate != 0 && !port.SetBaudrate(9600)) return false; bool success = DeclareInner(port, declaration, home, env); // restore baudrate if (old_baud_rate != 0) port.SetBaudrate(old_baud_rate); return success; }
bool LXDevice::Declare(const Declaration &declaration, gcc_unused const Waypoint *home, OperationEnvironment &env) { if (declaration.Size() < 2 || declaration.Size() > 12) return false; if (!EnableCommandMode(env)) return false; unsigned old_baud_rate = 0; if (bulk_baud_rate != 0) { old_baud_rate = port.GetBaudrate(); if (old_baud_rate == bulk_baud_rate) old_baud_rate = 0; else if (!port.SetBaudrate(bulk_baud_rate)) return false; } bool success = DeclareInner(port, declaration, env); LX::CommandModeQuick(port, env); return success; }
bool EWDevice::Declare(const struct Declaration &declaration, OperationEnvironment &env) { lLastBaudrate = port->SetBaudrate(9600L); // change to IO Mode baudrate port->SetRxTimeout(500); // set RX timeout to 500[ms] bool success = DeclareInner(declaration, env); port->Write("NMEA\r\n"); // switch to NMEA mode port->SetBaudrate(lLastBaudrate); // restore baudrate return success; }
bool LXDevice::Declare(const Declaration &declaration, gcc_unused const Waypoint *home, OperationEnvironment &env) { if (declaration.Size() < 2 || declaration.Size() > 12) return false; if (!EnableCommandMode(env)) return false; bool success = DeclareInner(port, declaration, env); LX::CommandModeQuick(port, env); return success; }
bool EWMicroRecorderDevice::Declare(const Declaration &declaration, const Waypoint *home, OperationEnvironment &env) { // Must have at least two, max 12 waypoints if (declaration.Size() < 2 || declaration.Size() > 12) return false; port.StopRxThread(); bool success = DeclareInner(port, declaration, env); // go back to NMEA mode port.FullWrite("!!\r\n", 4, env, 500); return success; }
bool EWMicroRecorderDevice::Declare(const Declaration &declaration, OperationEnvironment &env) { // Must have at least two, max 12 waypoints if (declaration.size() < 2 || declaration.size() > 12) return false; /* during tests, the EW has taken up to one second to respond to the command \x18 */ port->SetRxTimeout(2500); bool success = DeclareInner(*port, declaration, env); port->Write("!!\r\n"); // go back to NMEA mode return success; }
bool LXDevice::Declare(const Declaration &declaration, gcc_unused const Waypoint *home, OperationEnvironment &env) { if (declaration.Size() < 2 || declaration.Size() > 12) return false; const unsigned old_baud_rate = bulk_baud_rate != 0 ? port.SetBaudrate(bulk_baud_rate) : 0; bool success = DeclareInner(port, declaration, env); LX::CommandModeQuick(port, env); if (old_baud_rate != 0) port.SetBaudrate(old_baud_rate); return success; }
bool EWDevice::Declare(const struct Declaration &declaration, gcc_unused const Waypoint *home, OperationEnvironment &env) { // change to IO Mode baudrate lLastBaudrate = port.SetBaudrate(9600L); // set RX timeout to 500[ms] port.SetRxTimeout(500); bool success = DeclareInner(declaration, env); // switch to NMEA mode port.Write("NMEA\r\n"); // restore baudrate port.SetBaudrate(lLastBaudrate); return success; }