Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
35a3942
Merge branch 'main' into nsUpdates
nseidle Oct 2, 2025
fba7a37
Merge branch 'release_candidate' into nsUpdates
nseidle Oct 3, 2025
fb524f7
Add compile guard
nseidle Oct 3, 2025
1175785
Whitespace
nseidle Oct 3, 2025
392b7d8
Add MSM format selection
nseidle Oct 3, 2025
30bedfd
Revert "Add MSM format selection"
nseidle Oct 7, 2025
62da68d
Merge branch 'release_candidate' into nsUpdates
nseidle Oct 7, 2025
b9554bb
Merge branch 'release_candidate' into nsUpdates
nseidle Oct 7, 2025
81be2c8
Change to buffered BLE serial library
nseidle Oct 9, 2025
48ee2b8
Add gnssUpdate() to allow for configuration change requests
nseidle Oct 9, 2025
8364825
Add setNmeaMessageRateByName() for all platforms
nseidle Oct 9, 2025
678f6b4
Extend command change callback to include setting name, data, and type.
nseidle Oct 9, 2025
bd472bd
Whitespace
nseidle Oct 9, 2025
92e5f3d
Replace restartRover/Base bools with gnssConfigureRequest.
nseidle Oct 9, 2025
fb3957f
Add RESET and SAVE to gnssUpdate bitfield. Make setHAS() on all platf…
nseidle Oct 10, 2025
807c2a7
Rename enums.
nseidle Oct 10, 2025
ff7a9ae
Unify setBaudRate Comm/Data/Radio across platforms.
nseidle Oct 10, 2025
033a8c3
UM980: Read/Modify/Write baud rates
nseidle Oct 10, 2025
dcad59d
Remove setNmeaMessageRates
nseidle Oct 10, 2025
6ffcda5
Rename setMinCnoRadio, change setMinCno in master class to public
nseidle Oct 10, 2025
da19e19
Remove beginPPS(), convert toe setPPS
nseidle Oct 10, 2025
e3b33f7
Add setMultipathMitigation too all platforms
nseidle Oct 10, 2025
a72b2f5
Make setMessagesNMEA/RTCM uniform across all platforms.
nseidle Oct 11, 2025
62f085c
Whitespace
nseidle Oct 15, 2025
3e818db
Add non-blocking CONFIG_WAIT to the system state machine
nseidle Oct 16, 2025
e8d510d
Verify GNSS config table
nseidle Oct 16, 2025
567bb3d
Add debugGnssConfig setting
nseidle Oct 16, 2025
5529d55
Remove GNSS direct config from Ports menu
nseidle Oct 16, 2025
a736a81
Remove gnss->configure from setup
nseidle Oct 16, 2025
c20e512
Prelim UM980 non-blocking configuration support
nseidle Oct 16, 2025
7100689
Rename softwareReset to reset
nseidle Oct 17, 2025
8e9a1d1
Add check for UNLOG then resending of all RTCM commands for UM980 config
nseidle Oct 22, 2025
aa36327
Suppress enableExtCorrRadio check for UM980
nseidle Oct 22, 2025
1ec9595
Enable GNSS debug after it is marked online
nseidle Oct 22, 2025
02e0f82
Add UM980 getMode()
nseidle Oct 22, 2025
a5e51f3
Add getMode check during UM980 configureBase
nseidle Oct 23, 2025
a3f76ad
Move displays from states.ino to display.ino
nseidle Oct 23, 2025
d068b5f
Add per platform fixRateIsAllowed functions
nseidle Oct 23, 2025
1f3a3ae
Correct float to double comparison
nseidle Oct 23, 2025
c242920
Add EXT_CORRECTIONS bit to gnssConfigure()
nseidle Oct 23, 2025
8b11a2d
Remove redundant setHighAccuracyService()
nseidle Oct 23, 2025
c135286
Remove old testGNSS and RTCM tests
nseidle Oct 27, 2025
10728b6
Consolidate the places where setLoggingType() is needed
nseidle Oct 27, 2025
b0eb48b
Make ZED aware of HPG v1.51
nseidle Oct 27, 2025
bcadd4d
Remove setLoggingType() calls
nseidle Oct 27, 2025
f9a70d3
Remove enableGgaForNtrip and setTalkerGNGGA
nseidle Oct 27, 2025
9927af2
Make gnssInRover/Base help functions universal
nseidle Oct 27, 2025
25aa955
Initial ZED support for gnssConfigure()
nseidle Oct 27, 2025
911eba4
Update display before calling lengthy GNSS configs
nseidle Oct 27, 2025
9b9adf2
Remove navigationRate
nseidle Oct 28, 2025
9a624d7
Rename minCno to minCN0.
nseidle Oct 28, 2025
b02e9d1
Remove retries from setMessagesNMEA
nseidle Oct 28, 2025
5581a0c
Remove retries from setMessagesNMEA
nseidle Oct 28, 2025
b005e7f
Remove getMinCN0. Add setLogging.
nseidle Oct 28, 2025
09e5457
Prelim mosaic support for gnssConfigure()
nseidle Oct 28, 2025
c6a8508
Add getMode for mosaic. Move surveyInStart and fixedBaseStart to gnss…
nseidle Oct 29, 2025
cec0f1f
Restart NTRIP Client if settings change
nseidle Oct 29, 2025
47a7d3f
Force on GGA online if NTRIP client and transmit GGA are enabled
nseidle Oct 29, 2025
ae1d8d6
Extend base checking to ECEF/LLH. Restart survey-in after power cycle.
nseidle Oct 29, 2025
147401e
Configure ZED when enter/exit Base mode. Enable GGA on UART, not I2C …
nseidle Oct 30, 2025
36c3962
Fix GGA handling on LG290P
nseidle Oct 30, 2025
d358a27
Move NTRIP settings change request to atomic function in NtripClient
nseidle Nov 3, 2025
ef3d21f
Merge branch 'release_candidate' into nsUpdates
nseidle Nov 3, 2025
5bc7158
Remove X2 override
nseidle Nov 6, 2025
dc746fb
Fix merge issues after update from RC
nseidle Nov 6, 2025
6a190c2
Make power button work. Detect CoAuth if it's alone on the bus.
nseidle Nov 6, 2025
68c1382
Add Torch X2 to button task
nseidle Nov 7, 2025
37eaa4e
Whitespace
nseidle Nov 7, 2025
66d86d4
Update Flex with v1.1 hardware
nseidle Nov 7, 2025
a647e0e
Add Flex v1.1 support for LG290P
nseidle Nov 7, 2025
629161d
Add non-compile guard warning
nseidle Nov 7, 2025
f98dfd6
Add microSD back to Flex
nseidle Nov 7, 2025
cbc79ac
Merge branch 'release_candidate' into nsUpdates
nseidle Nov 14, 2025
5a81bbd
Increase version number
nseidle Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/compile-rtk-everywhere.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ on:

env:
FILENAME_PREFIX: RTK_Everywhere_Firmware
FIRMWARE_VERSION_MAJOR: 2
FIRMWARE_VERSION_MINOR: 3
FIRMWARE_VERSION_MAJOR: 3
FIRMWARE_VERSION_MINOR: 0
CORE_VERSION: 3.0.7

jobs:
Expand Down
8 changes: 4 additions & 4 deletions Firmware/RTK_Everywhere/AP-Config/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -297,17 +297,17 @@
</div>
</div>

<div class="form-group row" id="minCNOConfig">
<div class="form-group row" id="minCN0Config">
<div class="form-group row">
<label for="minCNO" class="col-sm-4 col-6 col-form-label">Min C/N0:
<label for="minCN0" class="col-sm-4 col-6 col-form-label">Min C/N0:
<span class="tt" data-bs-placement="right"
title="Minimum satellite signal level to be used in a fix. Default: 6dBHz for ZED-F9P and 10dBHz for UM980.">
<span class="icon-info-circle text-primary ms-2"></span>
</span>
</label>
<div class="col-sm-4 col-6">
<input type="number" class="form-control" id="minCNO">
<p id="minCNOError" class="inlineError"></p>
<input type="number" class="form-control" id="minCN0">
<p id="minCN0Error" class="inlineError"></p>
</div>
</div>
</div>
Expand Down
10 changes: 5 additions & 5 deletions Firmware/RTK_Everywhere/AP-Config/src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -278,8 +278,8 @@ function parseIncoming(msg) {
show("constellationNavic");

hide("dynamicModelDropdown"); //Not supported on LG290P
show("minElevConfig");
show("minCNOConfig");
hide("minElevConfig"); //Not supported on LG290P
hide("minCN0Config"); //Not supported on LG290P

ge("rtcmRateInfoText").setAttribute('data-bs-original-title', 'RTCM is transmitted by the base at a default of 1Hz for messages 1005, 1074, 1084, 1094, 1114, 1124, 1134. This can be lowered for radios with low bandwidth or tailored to transmit any/all RTCM messages. Limits: 0 to 20. Note: The measurement rate is overridden to 1Hz when in Base mode.');

Expand Down Expand Up @@ -346,8 +346,8 @@ function parseIncoming(msg) {
hide("enableNmeaOnRadio");

hide("dynamicModelDropdown"); //Not supported on LG290P
show("minElevConfig");
show("minCNOConfig");
hide("minElevConfig"); //Not supported on LG290P
hide("minCN0Config"); //Not supported on LG290P

ge("rtcmRateInfoText").setAttribute('data-bs-original-title', 'RTCM is transmitted by the base at a default of 1Hz for messages 1005, 1074, 1084, 1094, 1124, and 0.1Hz for 1033. This can be lowered for radios with low bandwidth or tailored to transmit any/all RTCM messages. Limits: 0 to 20. Note: The measurement rate is overridden to 1Hz when in Base mode.');

Expand Down Expand Up @@ -930,7 +930,7 @@ function validateFields() {
checkConstellations();

checkElementValue("minElev", 0, 90, "Must be between 0 and 90", "collapseGNSSConfig");
checkElementValue("minCNO", 0, 90, "Must be between 0 and 90", "collapseGNSSConfig");
checkElementValue("minCN0", 0, 90, "Must be between 0 and 90", "collapseGNSSConfig");
if (isElementShown("lg290pGnssSettings") == true) {
checkElementValue("rtcmMinElev", -90, 90, "Must be between -90 and 90", "collapseGNSSConfig");
}
Expand Down
78 changes: 46 additions & 32 deletions Firmware/RTK_Everywhere/Begin.ino
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ void identifyBoard()
// 0x08 - HUSB238 - USB C PD Sink Controller
bool husb238Present = i2cIsDevicePresent(i2c_0, 0x08);

// 0x10 -MFI343S00177 Authentication Coprocessor
// 0x10 - MFI343S00177 Authentication Coprocessor
bool mfiPresent = i2cIsDevicePresent(i2c_0, 0x10);

i2c_0->end();
Expand Down Expand Up @@ -158,16 +158,6 @@ void identifyBoard()
// Torch X2: 8.2/3.3 --> 836mV < 947mV < 1067mV (8.5% tolerance)
else if (idWithAdc(idValue, 8.2, 3.3, 8.5))
productVariant = RTK_TORCH_X2;

#ifdef FLEX_OVERRIDE
systemPrintln("<<<<<<<<<< !!!!!!!!!! FLEX OVERRIDE !!!!!!!!!! >>>>>>>>>>");
productVariant = RTK_FLEX; // TODO remove once v1.1 Flex has ID resistors
#endif

#ifdef TORCH_X2_OVERRIDE
systemPrintln("<<<<<<<<<< !!!!!!!!!! TORCH X2 OVERRIDE !!!!!!!!!! >>>>>>>>>>");
productVariant = RTK_TORCH_X2; // TODO remove once v1.1 Torch X2 has ID resistors
#endif
}

if (ENABLE_DEVELOPER)
Expand Down Expand Up @@ -237,9 +227,10 @@ void beginBoard()
present.needsExternalPpl = true; // Uses the PointPerfect Library
present.galileoHasCapable = true;
present.multipathMitigation = true; // UM980 has MPM, other platforms do not
present.minCno = true;
present.minCN0 = true;
present.minElevation = true;
present.dynamicModel = true;
present.display_type = DISPLAY_MAX_NONE;

#ifdef COMPILE_IM19_IMU
present.imu_im19 = true; // Allow tiltUpdate() to run
Expand Down Expand Up @@ -354,7 +345,7 @@ void beginBoard()
present.display_i2c1 = true;
present.display_type = DISPLAY_128x64;
present.i2c1BusSpeed_400 = true; // Run display bus at higher speed
present.minCno = true;
present.minCN0 = true;
present.minElevation = true;
present.dynamicModel = true;

Expand Down Expand Up @@ -451,7 +442,6 @@ void beginBoard()
// Facet V2 is based on the ESP32-WROVER
// ZED-F9P is interfaced via I2C and UART1
// NEO-D9S is interfaced via I2C. UART2 TX is also connected to ESP32 pin 4
// TODO: pass PMP over serial to save I2C traffic?

// Specify the GNSS radio
#ifdef COMPILE_ZED
Expand Down Expand Up @@ -479,7 +469,7 @@ void beginBoard()
present.fastPowerOff = true;
present.invertedFastPowerOff = true;
present.gnss_to_uart = true;
present.minCno = true;
present.minCN0 = true;
present.minElevation = true;
present.dynamicModel = true;

Expand Down Expand Up @@ -561,7 +551,7 @@ void beginBoard()
present.fastPowerOff = true;
present.invertedFastPowerOff = true;
present.gnss_to_uart = true;
present.minCno = true;
present.minCN0 = true;
present.minElevation = true;
present.dynamicModel = true;

Expand Down Expand Up @@ -660,7 +650,7 @@ void beginBoard()
present.mosaicMicroSd = true;
present.microSdCardDetectLow = true; // Except microSD is connected to mosaic... present.microSd is false

present.minCno = true;
present.minCN0 = true;
present.minElevation = true;
present.needsExternalPpl = true; // Uses the PointPerfect Library for L-Band
present.dynamicModel = true;
Expand Down Expand Up @@ -734,7 +724,7 @@ void beginBoard()

// We can't enable here because we don't know if lg290pFirmwareVersion is >= v05
// present.minElevation = true;
// present.minCno = true;
// present.minCN0 = true;

pin_I2C0_SDA = 7;
pin_I2C0_SCL = 20;
Expand Down Expand Up @@ -782,15 +772,14 @@ void beginBoard()
present.antennaPhaseCenter_mm = 62.0; // APC from drawings
present.radio_lora = true;
present.fuelgauge_bq40z50 = true;
present.charger_mp2762a = true;

present.button_powerLow = true; // Button is pressed when high
// present.button_mode = true; //TODO remove comment. This won't be available until v1.1 of hardware
present.button_mode = true;
present.beeper = true;
present.gnss_to_uart = true;

present.gpioExpanderSwitches = true;
// present.microSd = true; // TODO remove comment out - v1.0 hardware does not have pullup on #CD so card detection does not work
present.microSd = true;
present.microSdCardDetectLow = true;

present.display_i2c0 = true;
Expand All @@ -799,14 +788,18 @@ void beginBoard()
present.displayInverted = true;
present.tiltPossible = true;

present.fastPowerOff = true;
present.invertedFastPowerOff = true; // Drive POWER_KILL high to cause powerdown

pin_I2C0_SDA = 15;
pin_I2C0_SCL = 4;

pin_GnssUart_RX = 26;
pin_GnssUart_TX = 27;

pin_powerSenseAndControl = 34;
// pin_modeButton = 25; //TODO remove comment. This won't be available until v1.1 of hardware
pin_powerFastOff = 23;
pin_modeButton = 25;

pin_IMU_RX = 14; // ESP32 UART2
pin_IMU_TX = 17;
Expand All @@ -824,8 +817,8 @@ void beginBoard()
pin_microSD_CS = 22;
pin_microSD_CardDetect = 39;

pin_gpioExpanderInterrupt =
2; // TODO remove on v1.1 hardware. Not used since all GPIO expanded pins are outputs
pinMode(pin_powerFastOff, OUTPUT);
digitalWrite(pin_powerFastOff, LOW); // Low = Stay on. High = turn off.

DMW_if systemPrintf("pin_bluetoothStatusLED: %d\r\n", pin_bluetoothStatusLED);
pinMode(pin_bluetoothStatusLED, OUTPUT);
Expand Down Expand Up @@ -870,15 +863,16 @@ void beginBoard()
present.gnss_lg290p = true;
present.antennaPhaseCenter_mm = 116.5; // Default to Torch helical APC, average of L1/L2
present.fuelgauge_bq40z50 = true;
present.charger_mp2762a = true;
present.button_powerHigh = true; // Button is pressed when high
present.button_powerLow = true; // Button is pressed when low
present.beeper = true;
present.gnss_to_uart = true;
present.needsExternalPpl = true; // Uses the PointPerfect Library
present.fastPowerOff = true;
present.invertedFastPowerOff = true; // Drive PWRKILL high to cause powerdown

// We can't enable GNSS features here because we don't know if lg290pFirmwareVersion is >= v05
// present.minElevation = true;
// present.minCno = true;
// present.minCN0 = true;

pin_I2C0_SDA = 15;
pin_I2C0_SCL = 4;
Expand All @@ -887,7 +881,7 @@ void beginBoard()
pin_GnssUart_TX = 17;
pin_GNSS_DR_Reset = 22; // Push low to reset GNSS/DR.

pin_GNSS_TimePulse = 39; // PPS on UM980
pin_GNSS_TimePulse = 39; // PPS on LG290P

pin_usbSelect = 12; // Controls U18 switch between ESP UART0 to USB or GNSS UART1
pin_powerAdapterDetect = 36; // Goes low when USB cable is plugged in
Expand All @@ -899,12 +893,14 @@ void beginBoard()
pin_beeper = 33;

pin_powerButton = 34;
// pin_powerSenseAndControl = 18; // PWRKILL
pin_powerFastOff = 18; // PWRKILL

pin_loraRadio_power = 19; // LoRa_EN
// pin_loraRadio_boot = 23; // LoRa_BOOT0
// pin_loraRadio_reset = 5; // LoRa_NRST

pinMode(pin_powerFastOff, INPUT); // Leave this as an input. powerDown() will drive high for fast power off

DMW_if systemPrintf("pin_bluetoothStatusLED: %d\r\n", pin_bluetoothStatusLED);
pinMode(pin_bluetoothStatusLED, OUTPUT);

Expand Down Expand Up @@ -1504,6 +1500,12 @@ void beginButtons()
buttonCount++;
if (present.gpioExpanderButtons == true)
buttonCount++;
if (productVariant == RTK_FLEX)
{
Serial.println("<<<<<<<<<<<<<<<<<<<< Deal with Flex buttons >>>>>>>>>>>>>>");
buttonCount = 1;
}

if (buttonCount > 1)
reportFatalError("Illegal button assignment.");

Expand All @@ -1523,9 +1525,15 @@ void beginButtons()
else
{
// Use the Button library
// Facet main/power button
if (present.button_powerLow == true && pin_powerSenseAndControl != PIN_UNDEFINED)
userBtn = new Button(pin_powerSenseAndControl);
if (present.button_powerLow == true)
{
// Torch X2 has both a powerButton and powerSenseAndControl (PWRKILL). Assign button task to powerButton.
if (pin_powerButton != PIN_UNDEFINED)
userBtn = new Button(pin_powerButton);
// Facet main/power button
else if (pin_powerSenseAndControl != PIN_UNDEFINED)
userBtn = new Button(pin_powerSenseAndControl);
}

// Torch main/power button
if (present.button_powerHigh == true && pin_powerButton != PIN_UNDEFINED)
Expand Down Expand Up @@ -1789,6 +1797,12 @@ bool i2cBusInitialization(TwoWire *i2cBus, int sda, int scl, int clockKHz)
// SDA/VCC shorted: 1000ms, response 5
// SDA/GND shorted: 14ms, response 5
timer = millis();

// If there is nothing else on the bus, the authentication coprocessor can be asleep
// Ping it twice to be sure
if (addr == 0x10)
i2cIsDevicePresent(i2cBus, addr); // Throw away result. Just wake it up.

if (i2cIsDevicePresent(i2cBus, addr))
{
if (deviceFound == false)
Expand Down
29 changes: 17 additions & 12 deletions Firmware/RTK_Everywhere/Bluetooth.ino
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/

BluetoothRadioType_e bluetoothRadioPreviousOnType = BLUETOOTH_RADIO_OFF;

#ifdef COMPILE_BT

//----------------------------------------
Expand Down Expand Up @@ -386,7 +388,10 @@ void BTConfirmRequestCallback(uint32_t numVal) {

// TODO: if the RTK device has an OLED, we should display the PIN so user can confirm
systemPrintf("Device sent PIN: %06lu. Sending confirmation\r\n", numVal);
#ifdef COMPILE_BT
bluetoothSerialSpp->confirmReply(true); // AUTO_PAIR - equivalent to enableSSP(false, true);
#endif // COMPILE_BT
// TODO: if the RTK device has an OLED, we should display the PIN so user can confirm
}

void deviceNameSpacesToUnderscores()
Expand Down Expand Up @@ -556,14 +561,14 @@ void bluetoothStart(bool skipOnlineCheck)
bluetoothSerialSpp->enableSSP(false, false);

// Enable secure pairing with PIN :
//bluetoothSerialSpp->enableSSP(false, true);
// bluetoothSerialSpp->enableSSP(false, true);

// Accessory Protocol recommends using a PIN
// Support Apple Accessory: Device to Accessory
// 1. Search for an accessory from the device and initiate pairing.
// 2. Verify pairing is successful after exchanging a pin code.
//bluetoothSerialSpp->enableSSP(true, true); // Enable secure pairing with PIN
//bluetoothSerialSpp->onConfirmRequest(&BTConfirmRequestCallback); // Callback to verify the PIN
// bluetoothSerialSpp->enableSSP(true, true); // Enable secure pairing with PIN
// bluetoothSerialSpp->onConfirmRequest(&BTConfirmRequestCallback); // Callback to verify the PIN

beginSuccess &= bluetoothSerialSpp->begin(
deviceName, true, true, settings.sppRxQueueSize, settings.sppTxQueueSize, 0, 0,
Expand Down Expand Up @@ -595,9 +600,9 @@ void bluetoothStart(bool skipOnlineCheck)
record.type = ESP_SDP_TYPE_RAW;
record.uuid.len = sizeof(UUID_IAP2);
memcpy(record.uuid.uuid.uuid128, UUID_IAP2, sizeof(UUID_IAP2));
//record.service_name_length = strlen(sdp_service_name) + 1;
//record.service_name = (char *)sdp_service_name;
// Use the same EIR Local Name parameter as the Name in the IdentificationInformation
// record.service_name_length = strlen(sdp_service_name) + 1;
// record.service_name = (char *)sdp_service_name;
// Use the same EIR Local Name parameter as the Name in the IdentificationInformation
record.service_name_length = strlen(deviceName) + 1;
record.service_name = (char *)deviceName;
// record.rfcomm_channel_number = 1; // Doesn't seem to help the failed connects
Expand Down Expand Up @@ -672,7 +677,7 @@ void bluetoothStart(bool skipOnlineCheck)

if (pin_bluetoothStatusLED != PIN_UNDEFINED)
{
bluetoothLedTask.detach(); // Reset BT LED blinker task rate to 2Hz
bluetoothLedTask.detach(); // Reset BT LED blinker task rate to 2Hz
bluetoothLedTask.attach(bluetoothLedTaskPace2Hz, tickerBluetoothLedUpdate); // Rate in seconds, callback
}

Expand All @@ -682,11 +687,11 @@ void bluetoothStart(bool skipOnlineCheck)
{
if (bluetoothCommandTaskHandle == nullptr)
xTaskCreatePinnedToCore(
bluetoothCommandTask, // Function to run
"BluetoothCommandTask", // Just for humans
4000, // Stack Size - must be ~4000
nullptr, // Task input parameter
0, // Priority, with 3 (configMAX_PRIORITIES - 1) being the highest, and 0 being the lowest
bluetoothCommandTask, // Function to run
"BluetoothCommandTask", // Just for humans
4000, // Stack Size - must be ~4000
nullptr, // Task input parameter
0, // Priority, with 3 (configMAX_PRIORITIES - 1) being the highest, and 0 being the lowest
&bluetoothCommandTaskHandle, // Task handle
settings.bluetoothInterruptsCore); // Core where task should run, 0 = core, 1 = Arduino
}
Expand Down
2 changes: 1 addition & 1 deletion Firmware/RTK_Everywhere/Developer.ino
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ void wifiVerifyTables() {}

void menuTilt() {}
void nmeaApplyCompensation(char *nmeaSentence, int arraySize) {}
void tiltDetect() {}
void tiltDetect() {systemPrintln("**Tilt Not Compiled**");}
bool tiltIsCorrecting() {return(false);}
void tiltRequestStop() {}
void tiltSensorFactoryReset() {}
Expand Down
Loading