// %flair:license{ // This file is part of the Flair framework distributed under the // CECILL-C License, Version 1.0. // %flair:license} // created: 2014/05/26 // filename: SimuGps.cpp // // author: Guillaume Sanahuja // Copyright Heudiasyc UMR UTC/CNRS 7253 // // version: $Id: $ // // purpose: Class for a simulation GPS // // /*********************************************************************/ #include "SimuGps.h" #include #include #include #include using std::string; using namespace flair::core; namespace flair { namespace sensor { SimuGps::SimuGps(const FrameworkManager *parent, string name, NmeaGps::NMEAFlags_t NMEAFlags, uint8_t priority) : Thread(parent, name, priority), NmeaGps(parent, name, NMEAFlags) {} SimuGps::~SimuGps() { SafeStop(); Join(); } void SimuGps::Run(void) { // double lat=0; char buf[500]; nmeaGPGGA gga; nmeaGPVTG vtg; SetPeriodMS(500); WarnUponSwitches(true); gga.sig=1; gga.satinuse=2; gga.lat=49.402313; gga.lon=2.795463; vtg.spn=1; vtg.dir=0; while (!ToBeStopped()) { WaitPeriod(); nmea_gen_GPGGA(buf,sizeof(buf),&gga); parseFrame(buf,sizeof(buf)); position->SetCoordinates(49.402313, 2.795463, 0); // lat+=.5; } WarnUponSwitches(false); } } // end namespace sensor } // end namespace framewor