Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit dd574f5

Browse files
committedDec 19, 2022
Add deprecated (backward-compatible) newCfgValset and sendCfgValset
1 parent b54978f commit dd574f5

File tree

3 files changed

+129
-63
lines changed

3 files changed

+129
-63
lines changed
 

‎src/sfe_bus.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,9 @@ namespace SparkFun_UBLOX_GNSS
337337

338338
for (i = 0; i < length; i++)
339339
{
340-
*readData++ = _spiPort->transfer(*data++);
340+
*readData = _spiPort->transfer(*data);
341+
data++;
342+
readData++;
341343
}
342344

343345
// End transaction

‎src/u-blox_GNSS.cpp

+73-23
Original file line numberDiff line numberDiff line change
@@ -7774,7 +7774,7 @@ bool DevUBLOXGNSS::newCfgValset(uint8_t layer)
77747774
packetCfg.len = 4; // 4 byte header
77757775
packetCfg.startingSpot = 0;
77767776

7777-
_numCfgKeyIDs = 0;
7777+
_numCfgKeys = 0;
77787778

77797779
// Clear all of packet payload
77807780
memset(payloadCfg, 0, packetCfgPayloadSize);
@@ -7786,7 +7786,7 @@ bool DevUBLOXGNSS::newCfgValset(uint8_t layer)
77867786
return (true);
77877787
}
77887788

7789-
// Add another keyID and value to an existing UBX-CFG-VALSET ubxPacket
7789+
// Add another key and value to an existing UBX-CFG-VALSET ubxPacket
77907790
// This function takes a full 32-bit key and N-bit value
77917791
bool DevUBLOXGNSS::addCfgValsetN(uint32_t key, uint8_t *value, uint8_t N)
77927792
{
@@ -7799,7 +7799,7 @@ bool DevUBLOXGNSS::addCfgValsetN(uint32_t key, uint8_t *value, uint8_t N)
77997799
sendCommand(&packetCfg);
78007800
packetCfg.len = 4; // 4 byte header
78017801
packetCfg.startingSpot = 0;
7802-
_numCfgKeyIDs = 0;
7802+
_numCfgKeys = 0;
78037803
memset(&payloadCfg[4], 0, packetCfgPayloadSize - 4);
78047804
}
78057805

@@ -7812,7 +7812,7 @@ bool DevUBLOXGNSS::addCfgValsetN(uint32_t key, uint8_t *value, uint8_t N)
78127812
return false;
78137813
}
78147814

7815-
if (_numCfgKeyIDs == CFG_VALSET_MAX_KEYS)
7815+
if (_numCfgKeys == CFG_VALSET_MAX_KEYS)
78167816
{
78177817
#ifndef SFE_UBLOX_REDUCED_PROG_MEM
78187818
if ((_printDebug == true) || (_printLimitedDebug == true)) // This is important. Print this if doing limited debugging
@@ -7832,13 +7832,13 @@ bool DevUBLOXGNSS::addCfgValsetN(uint32_t key, uint8_t *value, uint8_t N)
78327832
// Update packet length: 4 byte key ID, 8 bytes of value
78337833
packetCfg.len = packetCfg.len + 4 + (N / 8);
78347834

7835-
_numCfgKeyIDs++;
7835+
_numCfgKeys++;
78367836

78377837
// All done
78387838
return (true);
78397839
}
78407840

7841-
// Add another keyID and value to an existing UBX-CFG-VALSET ubxPacket
7841+
// Add another key and value to an existing UBX-CFG-VALSET ubxPacket
78427842
// This function takes a full 32-bit key and 64-bit value
78437843
bool DevUBLOXGNSS::addCfgValset64(uint32_t key, uint64_t value)
78447844
{
@@ -7851,23 +7851,23 @@ bool DevUBLOXGNSS::addCfgValset64(uint32_t key, uint64_t value)
78517851
return (addCfgValsetN(key, val, 64));
78527852
}
78537853

7854-
// Add another keyID and value to an existing UBX-CFG-VALSET ubxPacket
7854+
// Add another key and value to an existing UBX-CFG-VALSET ubxPacket
78557855
// This function takes a full 32-bit key and 32-bit value
78567856
bool DevUBLOXGNSS::addCfgValset32(uint32_t key, uint32_t value)
78577857
{
78587858
uint8_t val[4] = {(uint8_t)(value >> 0), (uint8_t)(value >> 8), (uint8_t)(value >> 16), (uint8_t)(value >> 24)};
78597859
return (addCfgValsetN(key, val, 32));
78607860
}
78617861

7862-
// Add another keyID and value to an existing UBX-CFG-VALSET ubxPacket
7862+
// Add another key and value to an existing UBX-CFG-VALSET ubxPacket
78637863
// This function takes a full 32-bit key and 16-bit value
78647864
bool DevUBLOXGNSS::addCfgValset16(uint32_t key, uint16_t value)
78657865
{
78667866
uint8_t val[2] = {(uint8_t)(value >> 0), (uint8_t)(value >> 8)};
78677867
return (addCfgValsetN(key, val, 16));
78687868
}
78697869

7870-
// Add another keyID and value to an existing UBX-CFG-VALSET ubxPacket
7870+
// Add another key and value to an existing UBX-CFG-VALSET ubxPacket
78717871
// This function takes a full 32-bit key and 8-bit value
78727872
bool DevUBLOXGNSS::addCfgValset8(uint32_t key, uint8_t value)
78737873
{
@@ -7878,22 +7878,22 @@ bool DevUBLOXGNSS::addCfgValset8(uint32_t key, uint8_t value)
78787878
// Send the UBX-CFG-VALSET ubxPacket
78797879
bool DevUBLOXGNSS::sendCfgValset(uint16_t maxWait)
78807880
{
7881-
if (_numCfgKeyIDs == 0)
7881+
if (_numCfgKeys == 0)
78827882
return true; // Nothing to send...
78837883

78847884
// Send VALSET command with this key and value
78857885
bool success = sendCommand(&packetCfg, maxWait) == SFE_UBLOX_STATUS_DATA_SENT; // We are only expecting an ACK
78867886

78877887
if (success)
7888-
_numCfgKeyIDs = 0;
7888+
_numCfgKeys = 0;
78897889

78907890
return success;
78917891
}
78927892

78937893
// Return the number of keys in the CfgValset
78947894
uint8_t DevUBLOXGNSS::getCfgValsetLen()
78957895
{
7896-
return _numCfgKeyIDs;
7896+
return _numCfgKeys;
78977897
}
78987898

78997899
// Return the number of free bytes remaining in packetCfgPayload
@@ -7902,6 +7902,56 @@ size_t DevUBLOXGNSS::getCfgValsetSpaceRemaining()
79027902
return getPacketCfgSpaceRemaining();
79037903
}
79047904

7905+
// Deprecated - only included for backward-compatibility. Use newCfgValset and sendCfgValset
7906+
bool DevUBLOXGNSS::newCfgValset8(uint32_t key, uint8_t value, uint8_t layer)
7907+
{
7908+
bool result = newCfgValset(layer);
7909+
result &= addCfgValset8(key, value);
7910+
return result;
7911+
}
7912+
bool DevUBLOXGNSS::newCfgValset16(uint32_t key, uint16_t value, uint8_t layer)
7913+
{
7914+
bool result = newCfgValset(layer);
7915+
result &= addCfgValset16(key, value);
7916+
return result;
7917+
}
7918+
bool DevUBLOXGNSS::newCfgValset32(uint32_t key, uint32_t value, uint8_t layer)
7919+
{
7920+
bool result = newCfgValset(layer);
7921+
result &= addCfgValset32(key, value);
7922+
return result;
7923+
}
7924+
bool DevUBLOXGNSS::newCfgValset64(uint32_t key, uint64_t value, uint8_t layer)
7925+
{
7926+
bool result = newCfgValset(layer);
7927+
result &= addCfgValset64(key, value);
7928+
return result;
7929+
}
7930+
bool DevUBLOXGNSS::sendCfgValset8(uint32_t key, uint8_t value, uint16_t maxWait)
7931+
{
7932+
bool result = addCfgValset8(key, value);
7933+
result &= sendCfgValset(maxWait);
7934+
return result;
7935+
}
7936+
bool DevUBLOXGNSS::sendCfgValset16(uint32_t key, uint16_t value, uint16_t maxWait)
7937+
{
7938+
bool result = addCfgValset16(key, value);
7939+
result &= sendCfgValset(maxWait);
7940+
return result;
7941+
}
7942+
bool DevUBLOXGNSS::sendCfgValset32(uint32_t key, uint32_t value, uint16_t maxWait)
7943+
{
7944+
bool result = addCfgValset32(key, value);
7945+
result &= sendCfgValset(maxWait);
7946+
return result;
7947+
}
7948+
bool DevUBLOXGNSS::sendCfgValset64(uint32_t key, uint64_t value, uint16_t maxWait)
7949+
{
7950+
bool result = addCfgValset64(key, value);
7951+
result &= sendCfgValset(maxWait);
7952+
return result;
7953+
}
7954+
79057955
bool DevUBLOXGNSS::newCfgValget(uint8_t layer) // Create a new, empty UBX-CFG-VALGET. Add entries with addCfgValget8/16/32/64
79067956
{
79077957
return (newCfgValget(&packetCfg, layer));
@@ -7914,7 +7964,7 @@ bool DevUBLOXGNSS::newCfgValget(ubxPacket *pkt, uint8_t layer) // Create a new,
79147964
pkt->len = 4; // 4 byte header
79157965
pkt->startingSpot = 0;
79167966

7917-
_numGetCfgKeyIDs = 0;
7967+
_numGetCfgKeys = 0;
79187968
_lenCfgValGetResponse = 0;
79197969

79207970
// Clear all of packet payload
@@ -7941,12 +7991,12 @@ bool DevUBLOXGNSS::newCfgValget(ubxPacket *pkt, uint8_t layer) // Create a new,
79417991
return (true);
79427992
}
79437993

7944-
bool DevUBLOXGNSS::addCfgValgetN(uint32_t key, uint8_t N) // Add a new KeyID to an existing UBX-CFG-VALGET ubxPacket
7994+
bool DevUBLOXGNSS::addCfgValgetN(uint32_t key, uint8_t N) // Add a new key to an existing UBX-CFG-VALGET ubxPacket
79457995
{
79467996
return (addCfgValgetN(&packetCfg, key, N));
79477997
}
79487998

7949-
bool DevUBLOXGNSS::addCfgValgetN(ubxPacket *pkt, uint32_t key, uint8_t N) // Add a new KeyID to an existing UBX-CFG-VALGET ubxPacket
7999+
bool DevUBLOXGNSS::addCfgValgetN(ubxPacket *pkt, uint32_t key, uint8_t N) // Add a new key to an existing UBX-CFG-VALGET ubxPacket
79508000
{
79518001
if (pkt == &packetCfg) // The user will need to do this manually for a custom packet
79528002
{
@@ -7964,7 +8014,7 @@ bool DevUBLOXGNSS::addCfgValgetN(ubxPacket *pkt, uint32_t key, uint8_t N) // Add
79648014
}
79658015
}
79668016

7967-
if (_numGetCfgKeyIDs == CFG_VALSET_MAX_KEYS)
8017+
if (_numGetCfgKeys == CFG_VALSET_MAX_KEYS)
79688018
{
79698019
#ifndef SFE_UBLOX_REDUCED_PROG_MEM
79708020
if ((_printDebug == true) || (_printLimitedDebug == true)) // This is important. Print this if doing limited debugging
@@ -7990,29 +8040,29 @@ bool DevUBLOXGNSS::addCfgValgetN(ubxPacket *pkt, uint32_t key, uint8_t N) // Add
79908040
// Update packet length: 4 byte key ID
79918041
pkt->len += 4;
79928042

7993-
_numGetCfgKeyIDs++;
8043+
_numGetCfgKeys++;
79948044
_lenCfgValGetResponse += 4 + (N / 8); // 4 byte key ID, N byte value
79958045

79968046
// All done
79978047
return (true);
79988048
}
79998049

8000-
bool DevUBLOXGNSS::addCfgValget8(ubxPacket *pkt, uint32_t key) // Add a new KeyID to an existing UBX-CFG-VALGET ubxPacket
8050+
bool DevUBLOXGNSS::addCfgValget8(ubxPacket *pkt, uint32_t key) // Add a new key to an existing UBX-CFG-VALGET ubxPacket
80018051
{
80028052
return (addCfgValgetN(pkt, key, 8));
80038053
}
80048054

8005-
bool DevUBLOXGNSS::addCfgValget16(ubxPacket *pkt, uint32_t key) // Add a new KeyID to an existing UBX-CFG-VALGET ubxPacket
8055+
bool DevUBLOXGNSS::addCfgValget16(ubxPacket *pkt, uint32_t key) // Add a new key to an existing UBX-CFG-VALGET ubxPacket
80068056
{
80078057
return (addCfgValgetN(pkt, key, 16));
80088058
}
80098059

8010-
bool DevUBLOXGNSS::addCfgValget32(ubxPacket *pkt, uint32_t key) // Add a new KeyID to an existing UBX-CFG-VALGET ubxPacket
8060+
bool DevUBLOXGNSS::addCfgValget32(ubxPacket *pkt, uint32_t key) // Add a new key to an existing UBX-CFG-VALGET ubxPacket
80118061
{
80128062
return (addCfgValgetN(pkt, key, 32));
80138063
}
80148064

8015-
bool DevUBLOXGNSS::addCfgValget64(ubxPacket *pkt, uint32_t key) // Add a new KeyID to an existing UBX-CFG-VALGET ubxPacket
8065+
bool DevUBLOXGNSS::addCfgValget64(ubxPacket *pkt, uint32_t key) // Add a new key to an existing UBX-CFG-VALGET ubxPacket
80168066
{
80178067
return (addCfgValgetN(pkt, key, 64));
80188068
}
@@ -8024,14 +8074,14 @@ bool DevUBLOXGNSS::sendCfgValget(uint16_t maxWait) // Send the CfgValget (UBX-CF
80248074

80258075
bool DevUBLOXGNSS::sendCfgValget(ubxPacket *pkt, uint16_t maxWait) // Send the CfgValget (UBX-CFG-VALGET) construct
80268076
{
8027-
if (_numGetCfgKeyIDs == 0)
8077+
if (_numGetCfgKeys == 0)
80288078
return true; // Nothing to send...
80298079

80308080
// Send VALSET command with this key and value
80318081
bool success = sendCommand(pkt, maxWait) == SFE_UBLOX_STATUS_DATA_SENT; // We are only expecting an ACK
80328082

80338083
if (success)
8034-
_numGetCfgKeyIDs = 0;
8084+
_numGetCfgKeys = 0;
80358085

80368086
return success;
80378087
}

0 commit comments

Comments
 (0)
Please sign in to comment.