7#ifndef __MULITIPLESATELITE_H
8#define __MULITIPLESATELITE_H
33 MultipleSatellite(HardwareSerial& serialPort,
long baudRate, uint32_t config,
int rxPin,
int txPin)
34 : _serial(serialPort), _baudRate(baudRate), _config(config), _rxPin(rxPin), _txPin(txPin)
39 _serial.begin(_baudRate, _config, _rxPin, _txPin);
44 return _serial.available() > 0;
49 return _serial.read();
67 write(
"$PCAS06,0*1B\r\n");
68 return findCharacter(
"SW=");
73 return findCharacter(
"ANTENNA");
78 write(
"$PCAS06,2*19\r\n");
79 String mode = findCharacter(
"MO=");
82 }
else if (mode ==
"B") {
84 }
else if (mode ==
"R") {
86 }
else if (mode ==
"E") {
88 }
else if (mode ==
"Q") {
99 write(
"$PCAS04,1*18\r\n");
102 write(
"$PCAS04,2*1B\r\n");
105 write(
"$PCAS04,4*1D\r\n");
108 write(
"$PCAS04,8*11\r\n");
111 write(
"$PCAS04,20*2B\r\n");
122 write(
"$PCAS10,0*1C\r\n");
125 write(
"$PCAS10,1*1D\r\n");
128 write(
"$PCAS10,2*1E\r\n");
132 write(
"$PCAS10,3*1F\r\n");
135 write(
"$PCAS10,8*14\r\n");
138 write(
"$PCAS10,9*15\r\n");
146 write(
"$PCAS12,65535*1E\r\n");
150 HardwareSerial& _serial;
155 String findCharacter(
const char* searchStr)
159 int GNSSbufindexsum = 0;
166 GNSSbuf[GNSSbufindexsum] = 0;
169 if (strstr(GNSSbuf, searchStr) !=
nullptr) {
173 GNSSbuf[GNSSbufindexsum++] = d;
174 if (GNSSbufindexsum >=
sizeof(GNSSbuf) - 1) {
175 GNSSbufindexsum =
sizeof(GNSSbuf) - 1;
180 char* p = strstr(GNSSbuf, searchStr);
182 strcpy(GNSSbuf, p + strlen(searchStr));
185 char* q = strstr(GNSSbuf,
"*");
189 return String(GNSSbuf);
@ BOOT_FACTORY_ENABLE_SERIAL_RADIO
@ BOOT_FACTORY_DISABLE_SERIAL_RADIO
void setSystemBootMode(boot_mode_t mode)
MultipleSatellite(HardwareSerial &serialPort, long baudRate, uint32_t config, int rxPin, int txPin)
void write(const char *data)
String getSatelliteMode()
void setSatelliteMode(satellite_mode_t mode)