Files
Bachelorarbeit-Rover/lib/Rtcm/rtcmInsert.cpp
T
2022-04-07 22:46:46 +02:00

51 lines
1.5 KiB
C++

/**
* @file rtcmInsert.cpp
* @author * @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-03-24
*
* @copyright Copyright (c) 2022
*
*/
#include "rtcmInsert.h"
RtcmInsert::RtcmInsert(uint8_t address, char* ntripHost, uint16_t ntripPort, char* ntripMountPoint, char* ntripUser, char* ntripPassword)
: address() {
this->ntrip_c = new NTRIPClient();
std::cout << "Requesting SourceTable." << std::endl;
if(this->ntrip_c->reqSrcTbl(ntripHost, ntripPort)) {
char buffer[512];
delay(5);
while(this->ntrip_c->available()) {
this->ntrip_c->readLine(buffer,sizeof(buffer));
std::cout << buffer;
}
}
else
std::cout << "SourceTable request error" << std::endl;
std::cout << "Requesting SourceTable is OK." << std::endl;
this->ntrip_c->stop(); //Need to call "stop" function for next request.
std::cout << "Requesting MountPoint's Raw data" << std::endl;
if(!this->ntrip_c->reqRaw(ntripHost, ntripPort, ntripMountPoint, ntripUser, ntripPassword))
std::cout << "Error Requesting MountPoint's Raw data" << std::endl;
else
std::cout << "Requesting MountPoint is OK" << std::endl;
}
void RtcmInsert::loop() {
if (this->ntrip_c->available()) {
Wire.beginTransmission(this->address);
while(this->ntrip_c->available()) {
char ch = this->ntrip_c->read();
Wire.write(ch);
}
Wire.endTransmission();
}
}