Compare commits
12 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b90085793 | ||
|
|
57c7b6cb03 | ||
|
|
8081d05d6f | ||
|
|
2ffb9de69b | ||
|
|
0ca6e789eb | ||
|
|
c885a346fc | ||
|
|
431d1a98b7 | ||
|
|
e369e88efe | ||
|
|
739f2be25a | ||
|
|
569ff1495e | ||
|
|
5eb550766a | ||
|
|
8f6b59b218 |
46
.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
Thank you for opening an issue on an Adafruit Arduino library repository. To
|
||||||
|
improve the speed of resolution please review the following guidelines and
|
||||||
|
common troubleshooting steps below before creating the issue:
|
||||||
|
|
||||||
|
- **Do not use GitHub issues for troubleshooting projects and issues.** Instead use
|
||||||
|
the forums at http://forums.adafruit.com to ask questions and troubleshoot why
|
||||||
|
something isn't working as expected. In many cases the problem is a common issue
|
||||||
|
that you will more quickly receive help from the forum community. GitHub issues
|
||||||
|
are meant for known defects in the code. If you don't know if there is a defect
|
||||||
|
in the code then start with troubleshooting on the forum first.
|
||||||
|
|
||||||
|
- **If following a tutorial or guide be sure you didn't miss a step.** Carefully
|
||||||
|
check all of the steps and commands to run have been followed. Consult the
|
||||||
|
forum if you're unsure or have questions about steps in a guide/tutorial.
|
||||||
|
|
||||||
|
- **For Arduino projects check these very common issues to ensure they don't apply**:
|
||||||
|
|
||||||
|
- For uploading sketches or communicating with the board make sure you're using
|
||||||
|
a **USB data cable** and **not** a **USB charge-only cable**. It is sometimes
|
||||||
|
very hard to tell the difference between a data and charge cable! Try using the
|
||||||
|
cable with other devices or swapping to another cable to confirm it is not
|
||||||
|
the problem.
|
||||||
|
|
||||||
|
- **Be sure you are supplying adequate power to the board.** Check the specs of
|
||||||
|
your board and plug in an external power supply. In many cases just
|
||||||
|
plugging a board into your computer is not enough to power it and other
|
||||||
|
peripherals.
|
||||||
|
|
||||||
|
- **Double check all soldering joints and connections.** Flakey connections
|
||||||
|
cause many mysterious problems. See the [guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools) for examples of good solder joints.
|
||||||
|
|
||||||
|
- **Ensure you are using an official Arduino or Adafruit board.** We can't
|
||||||
|
guarantee a clone board will have the same functionality and work as expected
|
||||||
|
with this code and don't support them.
|
||||||
|
|
||||||
|
If you're sure this issue is a defect in the code and checked the steps above
|
||||||
|
please fill in the following fields to provide enough troubleshooting information.
|
||||||
|
You may delete the guideline and text above to just leave the following details:
|
||||||
|
|
||||||
|
- Arduino board: **INSERT ARDUINO BOARD NAME/TYPE HERE**
|
||||||
|
|
||||||
|
- Arduino IDE version (found in Arduino -> About Arduino menu): **INSERT ARDUINO
|
||||||
|
VERSION HERE**
|
||||||
|
|
||||||
|
- List the steps to reproduce the problem below (if possible attach a sketch or
|
||||||
|
copy the sketch code in too): **LIST REPRO STEPS BELOW**
|
||||||
26
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
Thank you for creating a pull request to contribute to Adafruit's GitHub code!
|
||||||
|
Before you open the request please review the following guidelines and tips to
|
||||||
|
help it be more easily integrated:
|
||||||
|
|
||||||
|
- **Describe the scope of your change--i.e. what the change does and what parts
|
||||||
|
of the code were modified.** This will help us understand any risks of integrating
|
||||||
|
the code.
|
||||||
|
|
||||||
|
- **Describe any known limitations with your change.** For example if the change
|
||||||
|
doesn't apply to a supported platform of the library please mention it.
|
||||||
|
|
||||||
|
- **Please run any tests or examples that can exercise your modified code.** We
|
||||||
|
strive to not break users of the code and running tests/examples helps with this
|
||||||
|
process.
|
||||||
|
|
||||||
|
Thank you again for contributing! We will try to test and integrate the change
|
||||||
|
as soon as we can, but be aware we have many GitHub repositories to manage and
|
||||||
|
can't immediately respond to every request. There is no need to bump or check in
|
||||||
|
on a pull request (it will clutter the discussion of the request).
|
||||||
|
|
||||||
|
Also don't be worried if the request is closed or not integrated--sometimes the
|
||||||
|
priorities of Adafruit's GitHub code (education, ease of use) might not match the
|
||||||
|
priorities of the pull request. Don't fret, the open source community thrives on
|
||||||
|
forks and GitHub makes it easy to keep your changes in a forked repo.
|
||||||
|
|
||||||
|
After reviewing the guidelines above you can delete this text from the pull request.
|
||||||
32
.github/workflows/githubci.yml
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
name: Arduino Library CI
|
||||||
|
|
||||||
|
on: [pull_request, push, repository_dispatch]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: adafruit/ci-arduino
|
||||||
|
path: ci
|
||||||
|
|
||||||
|
- name: Install the prerequisites
|
||||||
|
run: bash ci/actions_install.sh
|
||||||
|
|
||||||
|
- name: Check for correct code formatting with clang-format
|
||||||
|
run: python3 ci/run-clang-format.py -e "ci/*" -e "bin/*" -r .
|
||||||
|
|
||||||
|
- name: Check for correct documentation with doxygen
|
||||||
|
env:
|
||||||
|
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
|
||||||
|
PRETTYNAME : "Adafruit uBlox Library"
|
||||||
|
run: bash ci/doxy_gen_and_deploy.sh
|
||||||
|
|
||||||
|
- name: Test the code on supported platforms
|
||||||
|
run: python3 ci/build_platform.py main_platforms
|
||||||
4
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Our handy .gitignore for automation ease
|
||||||
|
Doxyfile*
|
||||||
|
doxygen_sqlite3.db
|
||||||
|
html
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
|
|
||||||
481
Adafruit_UBX.cpp
Normal file
|
|
@ -0,0 +1,481 @@
|
||||||
|
/*!
|
||||||
|
* @file Adafruit_UBX.cpp
|
||||||
|
*
|
||||||
|
* @mainpage Arduino library for UBX protocol from u-blox GPS/RTK modules
|
||||||
|
*
|
||||||
|
* @section intro_sec Introduction
|
||||||
|
*
|
||||||
|
* This is a library for parsing UBX protocol messages from u-blox GPS/RTK
|
||||||
|
* modules. It works with any Stream-based interface including UART and DDC
|
||||||
|
* (I2C).
|
||||||
|
*
|
||||||
|
* Designed specifically to work with u-blox GPS/RTK modules
|
||||||
|
* like NEO-M8P, ZED-F9P, etc.
|
||||||
|
*
|
||||||
|
* @section author Author
|
||||||
|
*
|
||||||
|
* Written by Limor Fried/Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* @section license License
|
||||||
|
*
|
||||||
|
* MIT license, all text above must be included in any redistribution
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Adafruit_UBX.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Constructor
|
||||||
|
* @param stream Reference to a Stream object (Serial, Adafruit_UBloxDDC,
|
||||||
|
* etc.)
|
||||||
|
*/
|
||||||
|
Adafruit_UBX::Adafruit_UBX(Stream &stream) {
|
||||||
|
_stream = &stream;
|
||||||
|
onUBXMessage = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Destructor
|
||||||
|
*/
|
||||||
|
Adafruit_UBX::~Adafruit_UBX() {
|
||||||
|
if (onUBXMessage)
|
||||||
|
onUBXMessage = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Initializes the UBX parser
|
||||||
|
* @return Always returns true (initialization is trivial)
|
||||||
|
*/
|
||||||
|
bool Adafruit_UBX::begin() {
|
||||||
|
resetParser();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Configure the GPS module to output only UBX protocol (disables NMEA)
|
||||||
|
* @param portID Port identifier (UBX_PORT_DDC, UBX_PORT_UART1, etc.)
|
||||||
|
* @param checkAck Whether to wait for acknowledgment
|
||||||
|
* @param timeout_ms Maximum time to wait for acknowledgment in milliseconds
|
||||||
|
* @return UBXSendStatus indicating success, failure, or timeout
|
||||||
|
*/
|
||||||
|
UBXSendStatus Adafruit_UBX::setUBXOnly(UBXPortId portID, bool checkAck,
|
||||||
|
uint16_t timeout_ms) {
|
||||||
|
UBX_CFG_PRT_t cfgPrt;
|
||||||
|
|
||||||
|
// Zero out the structure
|
||||||
|
memset(&cfgPrt, 0, sizeof(cfgPrt));
|
||||||
|
|
||||||
|
// Set the port ID
|
||||||
|
cfgPrt.fields.portID = portID;
|
||||||
|
|
||||||
|
// Configure the port appropriately
|
||||||
|
switch (portID) {
|
||||||
|
case UBX_PORT_DDC: // I2C/DDC port
|
||||||
|
// Set the I2C address to 0x42 (the default)
|
||||||
|
// For DDC, the mode field contains the I2C address in bits 7:1
|
||||||
|
cfgPrt.fields.mode = 0x42 << 1; // 0x84
|
||||||
|
|
||||||
|
// Set protocol masks to UBX only
|
||||||
|
cfgPrt.fields.inProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
cfgPrt.fields.outProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UBX_PORT_UART1: // Fall through
|
||||||
|
case UBX_PORT_UART2: // UART ports
|
||||||
|
// Keep current baud rate (baudRate = 0 keeps current setting)
|
||||||
|
// Set 8N1 mode for binary protocol
|
||||||
|
cfgPrt.fields.mode = UBX_UART_MODE_8N1;
|
||||||
|
// Set protocol masks to UBX only
|
||||||
|
cfgPrt.fields.inProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
cfgPrt.fields.outProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UBX_PORT_USB: // USB port
|
||||||
|
// Set protocol masks to UBX only
|
||||||
|
cfgPrt.fields.inProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
cfgPrt.fields.outProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UBX_PORT_SPI: // SPI port
|
||||||
|
// Set protocol masks to UBX only
|
||||||
|
cfgPrt.fields.outProtoMask = UBX_PROTOCOL_UBX;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.println(F("UBX: Invalid port ID"));
|
||||||
|
}
|
||||||
|
return UBX_SEND_FAIL; // Invalid port ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send the message and wait for acknowledgment if requested
|
||||||
|
if (checkAck) {
|
||||||
|
return sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_PRT, cfgPrt.raw,
|
||||||
|
sizeof(cfgPrt), timeout_ms);
|
||||||
|
} else {
|
||||||
|
if (sendMessage(UBX_CLASS_CFG, UBX_CFG_PRT, cfgPrt.raw, sizeof(cfgPrt))) {
|
||||||
|
return UBX_SEND_SUCCESS;
|
||||||
|
} else {
|
||||||
|
return UBX_SEND_FAIL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Sets the callback function for UBX messages
|
||||||
|
* @param callback Function pointer to call when a complete UBX message is
|
||||||
|
* received
|
||||||
|
*/
|
||||||
|
void Adafruit_UBX::setMessageCallback(UBXMessageCallback callback) {
|
||||||
|
onUBXMessage = callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Reset the parser state machine
|
||||||
|
*/
|
||||||
|
void Adafruit_UBX::resetParser() {
|
||||||
|
_parserState = WAIT_SYNC_1;
|
||||||
|
_payloadCounter = 0;
|
||||||
|
_payloadLength = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Calculate UBX checksum according to protocol
|
||||||
|
* @param buffer Pointer to the data buffer
|
||||||
|
* @param len Length of data to checksum
|
||||||
|
* @param checksumA Reference to store the first checksum byte
|
||||||
|
* @param checksumB Reference to store the second checksum byte
|
||||||
|
*/
|
||||||
|
void Adafruit_UBX::calculateChecksum(uint8_t *buffer, uint16_t len,
|
||||||
|
uint8_t &checksumA, uint8_t &checksumB) {
|
||||||
|
checksumA = 0;
|
||||||
|
checksumB = 0;
|
||||||
|
|
||||||
|
for (uint16_t i = 0; i < len; i++) {
|
||||||
|
checksumA += buffer[i];
|
||||||
|
checksumB += checksumA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Check for new UBX messages and parse them
|
||||||
|
* @return True if a complete message was parsed
|
||||||
|
*/
|
||||||
|
bool Adafruit_UBX::checkMessages() {
|
||||||
|
bool messageReceived = false;
|
||||||
|
|
||||||
|
// Process all available bytes
|
||||||
|
while (_stream->available()) {
|
||||||
|
uint8_t incomingByte = _stream->read();
|
||||||
|
|
||||||
|
// State machine for UBX protocol parsing
|
||||||
|
switch (_parserState) {
|
||||||
|
case WAIT_SYNC_1:
|
||||||
|
if (incomingByte == UBX_SYNC_CHAR_1) {
|
||||||
|
_parserState = WAIT_SYNC_2;
|
||||||
|
_buffer[0] = incomingByte; // Store for checksum calculation
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WAIT_SYNC_2:
|
||||||
|
if (incomingByte == UBX_SYNC_CHAR_2) {
|
||||||
|
_parserState = GET_CLASS;
|
||||||
|
_buffer[1] = incomingByte; // Store for checksum calculation
|
||||||
|
} else {
|
||||||
|
resetParser(); // Invalid sync char, reset
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_CLASS:
|
||||||
|
_msgClass = incomingByte;
|
||||||
|
_buffer[2] = incomingByte; // Store for checksum calculation
|
||||||
|
_parserState = GET_ID;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_ID:
|
||||||
|
_msgId = incomingByte;
|
||||||
|
_buffer[3] = incomingByte; // Store for checksum calculation
|
||||||
|
_parserState = GET_LENGTH_1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_LENGTH_1:
|
||||||
|
_payloadLength = incomingByte;
|
||||||
|
_buffer[4] = incomingByte; // Store for checksum calculation
|
||||||
|
_parserState = GET_LENGTH_2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_LENGTH_2:
|
||||||
|
_payloadLength |= (incomingByte << 8);
|
||||||
|
_buffer[5] = incomingByte; // Store for checksum calculation
|
||||||
|
|
||||||
|
if (_payloadLength > MAX_PAYLOAD_SIZE) {
|
||||||
|
resetParser(); // Payload too large, reset
|
||||||
|
} else {
|
||||||
|
_payloadCounter = 0;
|
||||||
|
_parserState = GET_PAYLOAD;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_PAYLOAD:
|
||||||
|
if (_payloadCounter < _payloadLength) {
|
||||||
|
_buffer[6 + _payloadCounter] = incomingByte;
|
||||||
|
_payloadCounter++;
|
||||||
|
|
||||||
|
if (_payloadCounter == _payloadLength) {
|
||||||
|
_parserState = GET_CHECKSUM_A;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_CHECKSUM_A:
|
||||||
|
// Calculate expected checksum
|
||||||
|
calculateChecksum(_buffer + 2, _payloadLength + 4, _checksumA,
|
||||||
|
_checksumB);
|
||||||
|
|
||||||
|
if (incomingByte == _checksumA) {
|
||||||
|
_parserState = GET_CHECKSUM_B; // Checksum A matches
|
||||||
|
} else {
|
||||||
|
resetParser(); // Invalid checksum, reset
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GET_CHECKSUM_B:
|
||||||
|
if (incomingByte == _checksumB) {
|
||||||
|
// We have a valid message!
|
||||||
|
if (onUBXMessage != NULL) {
|
||||||
|
onUBXMessage(_msgClass, _msgId, _payloadLength,
|
||||||
|
_buffer + 6); // Call the callback with the message
|
||||||
|
}
|
||||||
|
messageReceived = true;
|
||||||
|
|
||||||
|
_lastMsgClass = _msgClass;
|
||||||
|
_lastMsgId = _msgId;
|
||||||
|
_lastPayloadLength = _payloadLength;
|
||||||
|
|
||||||
|
// Store a small copy of the payload if it's within size limits
|
||||||
|
if (_payloadLength <= sizeof(_lastPayload)) {
|
||||||
|
memcpy(_lastPayload, _buffer + 6, _payloadLength);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.print("UBX RX: ");
|
||||||
|
|
||||||
|
// Print header (sync chars, class, id, length)
|
||||||
|
Serial.print("HDR[B5 62 ");
|
||||||
|
if (_msgClass < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(_msgClass, HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
if (_msgId < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(_msgId, HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
|
||||||
|
uint8_t lenLSB = _payloadLength & 0xFF;
|
||||||
|
uint8_t lenMSB = (_payloadLength >> 8) & 0xFF;
|
||||||
|
if (lenLSB < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(lenLSB, HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
if (lenMSB < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(lenMSB, HEX);
|
||||||
|
Serial.print("] ");
|
||||||
|
|
||||||
|
// Print payload if verbose debug is enabled
|
||||||
|
if (verbose_debug > 1 && _payloadLength > 0) {
|
||||||
|
Serial.print("PL[");
|
||||||
|
for (uint16_t i = 0; i < _payloadLength; i++) {
|
||||||
|
if (_buffer[6 + i] < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(_buffer[6 + i], HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
}
|
||||||
|
Serial.print("] ");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print checksum
|
||||||
|
Serial.print("CS[");
|
||||||
|
if (_checksumA < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(_checksumA, HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
if (_checksumB < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(_checksumB, HEX);
|
||||||
|
Serial.println("]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resetParser(); // Reset for next message
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return messageReceived;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Send a UBX message and wait for acknowledgment
|
||||||
|
* @param msgClass Message class
|
||||||
|
* @param msgId Message ID
|
||||||
|
* @param payload Pointer to the payload data
|
||||||
|
* @param length Length of payload
|
||||||
|
* @param timeout_ms Maximum time to wait for acknowledgment
|
||||||
|
* @return UBXSendStatus indicating success, failure, or timeout
|
||||||
|
*/
|
||||||
|
UBXSendStatus Adafruit_UBX::sendMessageWithAck(uint8_t msgClass, uint8_t msgId,
|
||||||
|
uint8_t *payload,
|
||||||
|
uint16_t length,
|
||||||
|
uint16_t timeout_ms) {
|
||||||
|
// First send the message
|
||||||
|
if (!sendMessage(msgClass, msgId, payload, length)) {
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.println(F("UBX ACK: SEND FAIL"));
|
||||||
|
}
|
||||||
|
return UBX_SEND_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t startTime = millis();
|
||||||
|
|
||||||
|
// Check for messages until timeout
|
||||||
|
while ((millis() - startTime) < timeout_ms) {
|
||||||
|
// Process incoming bytes
|
||||||
|
if (checkMessages()) {
|
||||||
|
// If we have a message handler, it will be called from checkMessages
|
||||||
|
// We need to check our last received message
|
||||||
|
if (_lastMsgClass == UBX_CLASS_ACK) {
|
||||||
|
if (_lastMsgId == UBX_ACK_ACK && _lastPayloadLength >= 2) {
|
||||||
|
// ACK-ACK message
|
||||||
|
if (_lastPayload[0] == msgClass && _lastPayload[1] == msgId) {
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.print(F("UBX ACK: SUCCESS for message class 0x"));
|
||||||
|
if (msgClass < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(msgClass, HEX);
|
||||||
|
Serial.print(" ID 0x");
|
||||||
|
if (msgId < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.println(msgId, HEX);
|
||||||
|
}
|
||||||
|
return UBX_SEND_SUCCESS;
|
||||||
|
}
|
||||||
|
} else if (_lastMsgId == UBX_ACK_NAK && _lastPayloadLength >= 2) {
|
||||||
|
// ACK-NAK message
|
||||||
|
if (_lastPayload[0] == msgClass && _lastPayload[1] == msgId) {
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.print(F("UBX ACK: NAK for message class 0x"));
|
||||||
|
if (msgClass < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(msgClass, HEX);
|
||||||
|
Serial.print(" ID 0x");
|
||||||
|
if (msgId < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.println(msgId, HEX);
|
||||||
|
}
|
||||||
|
return UBX_SEND_NAK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Short delay
|
||||||
|
delay(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.print(
|
||||||
|
F("UBX ACK: TIMEOUT waiting for ACK/NAK for message class 0x"));
|
||||||
|
if (msgClass < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(msgClass, HEX);
|
||||||
|
Serial.print(" ID 0x");
|
||||||
|
if (msgId < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.println(msgId, HEX);
|
||||||
|
}
|
||||||
|
|
||||||
|
return UBX_SEND_TIMEOUT;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Send a UBX message to the GPS module
|
||||||
|
* @param msgClass Message class
|
||||||
|
* @param msgId Message ID
|
||||||
|
* @param payload Pointer to the payload data (can be NULL for zero-length
|
||||||
|
* payload)
|
||||||
|
* @param length Length of payload
|
||||||
|
* @return True if message was sent successfully
|
||||||
|
*/
|
||||||
|
bool Adafruit_UBX::sendMessage(uint8_t msgClass, uint8_t msgId,
|
||||||
|
uint8_t *payload, uint16_t length) {
|
||||||
|
// Buffer for message (2 sync chars + class + id + 2 length bytes + payload +
|
||||||
|
// 2 checksum bytes)
|
||||||
|
uint8_t msgBuffer[length + 8];
|
||||||
|
|
||||||
|
// Sync characters
|
||||||
|
msgBuffer[0] = UBX_SYNC_CHAR_1;
|
||||||
|
msgBuffer[1] = UBX_SYNC_CHAR_2;
|
||||||
|
|
||||||
|
// Message class and ID
|
||||||
|
msgBuffer[2] = msgClass;
|
||||||
|
msgBuffer[3] = msgId;
|
||||||
|
|
||||||
|
// Length (little endian)
|
||||||
|
msgBuffer[4] = length & 0xFF;
|
||||||
|
msgBuffer[5] = (length >> 8) & 0xFF;
|
||||||
|
|
||||||
|
// Payload
|
||||||
|
if (payload != NULL && length > 0) {
|
||||||
|
memcpy(&msgBuffer[6], payload, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate checksum
|
||||||
|
uint8_t checksumA, checksumB;
|
||||||
|
calculateChecksum(&msgBuffer[2], length + 4, checksumA, checksumB);
|
||||||
|
|
||||||
|
msgBuffer[6 + length] = checksumA;
|
||||||
|
msgBuffer[7 + length] = checksumB;
|
||||||
|
|
||||||
|
// Debug output
|
||||||
|
if (verbose_debug > 0) {
|
||||||
|
Serial.print("UBX TX: ");
|
||||||
|
|
||||||
|
// Print header (sync chars, class, id, length)
|
||||||
|
Serial.print("HDR[");
|
||||||
|
for (int i = 0; i < 6; i++) {
|
||||||
|
if (msgBuffer[i] < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(msgBuffer[i], HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
}
|
||||||
|
Serial.print("] ");
|
||||||
|
|
||||||
|
// Print payload if verbose debug is enabled
|
||||||
|
if (verbose_debug > 1 && length > 0) {
|
||||||
|
Serial.print("PL[");
|
||||||
|
for (uint16_t i = 0; i < length; i++) {
|
||||||
|
if (msgBuffer[6 + i] < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(msgBuffer[6 + i], HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
}
|
||||||
|
Serial.print("] ");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print checksum
|
||||||
|
Serial.print("CS[");
|
||||||
|
if (checksumA < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(checksumA, HEX);
|
||||||
|
Serial.print(" ");
|
||||||
|
if (checksumB < 0x10)
|
||||||
|
Serial.print("0");
|
||||||
|
Serial.print(checksumB, HEX);
|
||||||
|
Serial.println("]");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send the message
|
||||||
|
size_t written = _stream->write(msgBuffer, length + 8);
|
||||||
|
|
||||||
|
return (written == length + 8);
|
||||||
|
}
|
||||||
110
Adafruit_UBX.h
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
/*!
|
||||||
|
* @file Adafruit_UBX.h
|
||||||
|
*
|
||||||
|
* Arduino library for parsing UBX protocol from u-blox GPS/RTK modules.
|
||||||
|
*
|
||||||
|
* This library can use any Stream object as input (UART, DDC, or other).
|
||||||
|
*
|
||||||
|
* Adafruit invests time and resources providing this open source code,
|
||||||
|
* please support Adafruit and open-source hardware by purchasing
|
||||||
|
* products from Adafruit!
|
||||||
|
*
|
||||||
|
* Written by Limor Fried/Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text here must be included in any redistribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ADAFRUIT_UBX_H
|
||||||
|
#define ADAFRUIT_UBX_H
|
||||||
|
|
||||||
|
#include "Adafruit_uBlox_Ubx_Messages.h"
|
||||||
|
#include "Adafruit_uBlox_typedef.h"
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <Stream.h>
|
||||||
|
|
||||||
|
// UBX protocol constants
|
||||||
|
#define UBX_SYNC_CHAR_1 0xB5 ///< First UBX protocol sync char (<28>)
|
||||||
|
#define UBX_SYNC_CHAR_2 0x62 ///< Second UBX protocol sync char (b)
|
||||||
|
// UBX ACK Message IDs
|
||||||
|
#define UBX_ACK_NAK 0x00 ///< Message Not Acknowledged
|
||||||
|
#define UBX_ACK_ACK 0x01 ///< Message Acknowledged
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Callback function type for UBX messages - defined at global scope so
|
||||||
|
* other classes can use it
|
||||||
|
* @param msgClass Message class
|
||||||
|
* @param msgId Message ID
|
||||||
|
* @param payloadLen Length of payload data
|
||||||
|
* @param payload Pointer to payload data
|
||||||
|
*/
|
||||||
|
typedef void (*UBXMessageCallback)(uint8_t msgClass, uint8_t msgId,
|
||||||
|
uint16_t payloadLen, uint8_t *payload);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Class for parsing UBX protocol messages from u-blox GPS/RTK modules
|
||||||
|
*/
|
||||||
|
class Adafruit_UBX {
|
||||||
|
public:
|
||||||
|
Adafruit_UBX(Stream &stream);
|
||||||
|
~Adafruit_UBX();
|
||||||
|
uint8_t verbose_debug = 0; ///< 0=off, 1=basic, 2=verbose
|
||||||
|
// Basic methods
|
||||||
|
bool begin();
|
||||||
|
bool checkMessages(); // Message parsing
|
||||||
|
bool sendMessage(uint8_t msgClass, uint8_t msgId, uint8_t *payload,
|
||||||
|
uint16_t length); // Send a UBX message
|
||||||
|
UBXSendStatus sendMessageWithAck(uint8_t msgClass, uint8_t msgId,
|
||||||
|
uint8_t *payload, uint16_t length,
|
||||||
|
uint16_t timeout_ms = 500);
|
||||||
|
|
||||||
|
// Configure port to use UBX protocol only (disable NMEA)
|
||||||
|
UBXSendStatus setUBXOnly(UBXPortId portID, bool checkAck = true,
|
||||||
|
uint16_t timeout_ms = 500);
|
||||||
|
|
||||||
|
void setMessageCallback(UBXMessageCallback callback); // Set callback function
|
||||||
|
UBXMessageCallback onUBXMessage; ///< Callback for message received
|
||||||
|
|
||||||
|
private:
|
||||||
|
Stream *_stream; // Stream interface for reading data
|
||||||
|
|
||||||
|
// Buffer for reading messages
|
||||||
|
static const uint16_t MAX_PAYLOAD_SIZE = 64; // Maximum UBX payload size
|
||||||
|
uint8_t _buffer[MAX_PAYLOAD_SIZE +
|
||||||
|
8]; // Buffer for message (header, payload, checksum)
|
||||||
|
|
||||||
|
// Parser state machine
|
||||||
|
enum ParserState {
|
||||||
|
WAIT_SYNC_1, // Waiting for first sync char (0xB5)
|
||||||
|
WAIT_SYNC_2, // Waiting for second sync char (0x62)
|
||||||
|
GET_CLASS, // Reading message class
|
||||||
|
GET_ID, // Reading message ID
|
||||||
|
GET_LENGTH_1, // Reading length LSB
|
||||||
|
GET_LENGTH_2, // Reading length MSB
|
||||||
|
GET_PAYLOAD, // Reading payload
|
||||||
|
GET_CHECKSUM_A, // Reading checksum A
|
||||||
|
GET_CHECKSUM_B // Reading checksum B
|
||||||
|
};
|
||||||
|
|
||||||
|
ParserState _parserState = WAIT_SYNC_1; // Current state of the parser
|
||||||
|
uint8_t _msgClass; // Message class of current message
|
||||||
|
uint8_t _msgId; // Message ID of current message
|
||||||
|
uint16_t _payloadLength; // Length of current message payload
|
||||||
|
uint16_t _payloadCounter; // Counter for payload bytes received
|
||||||
|
uint8_t _checksumA; // Running checksum A
|
||||||
|
uint8_t _checksumB; // Running checksum B
|
||||||
|
|
||||||
|
// Calculate checksum for a block of data
|
||||||
|
void calculateChecksum(uint8_t *buffer, uint16_t len, uint8_t &checksumA,
|
||||||
|
uint8_t &checksumB);
|
||||||
|
|
||||||
|
// Reset parser state
|
||||||
|
void resetParser();
|
||||||
|
|
||||||
|
// Add to private section of Adafruit_UBX.h
|
||||||
|
uint8_t _lastMsgClass; // Class of last message
|
||||||
|
uint8_t _lastMsgId; // ID of last message
|
||||||
|
uint16_t _lastPayloadLength; // Length of last message payload
|
||||||
|
uint8_t _lastPayload[8]; // Buffer for small payloads (like ACK messages)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ADAFRUIT_UBX_H
|
||||||
220
Adafruit_UBloxDDC.cpp
Normal file
|
|
@ -0,0 +1,220 @@
|
||||||
|
/*!
|
||||||
|
* @file Adafruit_UBloxDDC.cpp
|
||||||
|
*
|
||||||
|
* @section ddc_intro_sec Introduction
|
||||||
|
*
|
||||||
|
* This is a library for the u-blox GPS/RTK modules using I2C interface (DDC)
|
||||||
|
*
|
||||||
|
* Designed specifically to work with u-blox GPS/RTK modules
|
||||||
|
* like NEO-M8P, ZED-F9P, etc.
|
||||||
|
*
|
||||||
|
* @section ddc_dependencies Dependencies
|
||||||
|
*
|
||||||
|
* This library depends on:
|
||||||
|
* <a href="https://github.com/adafruit/Adafruit_BusIO">Adafruit_BusIO</a>
|
||||||
|
*
|
||||||
|
* @section ddc_author Author
|
||||||
|
*
|
||||||
|
* Written by Limor Fried/Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* @section ddc_license License
|
||||||
|
*
|
||||||
|
* MIT license, all text above must be included in any redistribution
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Adafruit_UBloxDDC.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Constructor
|
||||||
|
* @param address
|
||||||
|
* i2c address (default 0x42)
|
||||||
|
* @param wire
|
||||||
|
* TwoWire instance (default &Wire)
|
||||||
|
*/
|
||||||
|
Adafruit_UBloxDDC::Adafruit_UBloxDDC(uint8_t address, TwoWire *wire) {
|
||||||
|
_i2cDevice = new Adafruit_I2CDevice(address, wire);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Destructor - frees allocated resources
|
||||||
|
*/
|
||||||
|
Adafruit_UBloxDDC::~Adafruit_UBloxDDC() {
|
||||||
|
if (_i2cDevice) {
|
||||||
|
delete _i2cDevice;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Initializes the GPS module and I2C interface
|
||||||
|
* @return True if GPS module responds, false on any failure
|
||||||
|
*/
|
||||||
|
bool Adafruit_UBloxDDC::begin() { return _i2cDevice->begin(); }
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Gets the number of bytes available for reading
|
||||||
|
* @return Number of bytes available, or 0 if no data or error
|
||||||
|
*/
|
||||||
|
int Adafruit_UBloxDDC::available() {
|
||||||
|
uint8_t buffer[2];
|
||||||
|
|
||||||
|
// Create a register for reading bytes available
|
||||||
|
Adafruit_BusIO_Register bytesAvailableReg =
|
||||||
|
Adafruit_BusIO_Register(_i2cDevice, REG_BYTES_AVAILABLE_MSB, 2);
|
||||||
|
|
||||||
|
if (!bytesAvailableReg.read(buffer, 2)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t bytesAvailable = (uint16_t)buffer[0] << 8;
|
||||||
|
bytesAvailable |= buffer[1];
|
||||||
|
|
||||||
|
return bytesAvailable;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Reads a single byte from the data stream
|
||||||
|
* @return -1 if no data available or error, otherwise the byte read (0-255)
|
||||||
|
*/
|
||||||
|
int Adafruit_UBloxDDC::read() {
|
||||||
|
// If we have a peeked byte, return it
|
||||||
|
if (_hasPeeked) {
|
||||||
|
_hasPeeked = false;
|
||||||
|
return _lastByte;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t value;
|
||||||
|
|
||||||
|
// Create a register for the data stream
|
||||||
|
Adafruit_BusIO_Register dataStreamReg =
|
||||||
|
Adafruit_BusIO_Register(_i2cDevice, REG_DATA_STREAM, 1);
|
||||||
|
|
||||||
|
if (!dataStreamReg.read(&value, 1)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Peek at the next available byte without removing it from the stream
|
||||||
|
* @return -1 if no data available or error, otherwise the byte (0-255)
|
||||||
|
*/
|
||||||
|
int Adafruit_UBloxDDC::peek() {
|
||||||
|
// If we've already peeked, return the last byte
|
||||||
|
if (_hasPeeked) {
|
||||||
|
return _lastByte;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, read a byte and store it
|
||||||
|
_lastByte = read();
|
||||||
|
if (_lastByte != -1) {
|
||||||
|
_hasPeeked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return _lastByte;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Write a single byte (required by Stream but not suitable for I2C)
|
||||||
|
* @param val Byte to write
|
||||||
|
* @return Always returns 0 as single-byte writes aren't supported on I2C
|
||||||
|
*/
|
||||||
|
size_t Adafruit_UBloxDDC::write(uint8_t val) {
|
||||||
|
// Single-byte writes aren't suitable for I2C/DDC
|
||||||
|
// This shouldn't be called if properly using the multi-byte version
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Write multiple bytes at once (required for I2C/DDC)
|
||||||
|
* @param buffer Pointer to data buffer
|
||||||
|
* @param size Number of bytes to write
|
||||||
|
* @return Number of bytes written
|
||||||
|
*/
|
||||||
|
size_t Adafruit_UBloxDDC::write(const uint8_t *buffer, size_t size) {
|
||||||
|
// For I2C/DDC, we need at least 2 bytes for a write
|
||||||
|
if (size < 2) {
|
||||||
|
// Single-byte writes aren't supported
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use Adafruit_BusIO to handle the I2C transaction
|
||||||
|
if (_i2cDevice->write(buffer, size)) {
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Read multiple bytes from the data stream
|
||||||
|
* @param buffer Pointer to buffer to store data
|
||||||
|
* @param length Maximum number of bytes to read
|
||||||
|
* @return Number of bytes actually read, which may be less than requested
|
||||||
|
*/
|
||||||
|
uint16_t Adafruit_UBloxDDC::readBytes(uint8_t *buffer, uint16_t length) {
|
||||||
|
if (buffer == nullptr || length == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t bytesRead = 0;
|
||||||
|
uint16_t bytesAvailable = available();
|
||||||
|
|
||||||
|
// Don't try to read more bytes than are available
|
||||||
|
length = min(length, bytesAvailable);
|
||||||
|
|
||||||
|
// Handle any peeked byte first
|
||||||
|
if (_hasPeeked && length > 0) {
|
||||||
|
buffer[0] = _lastByte;
|
||||||
|
_hasPeeked = false;
|
||||||
|
bytesRead = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bytesRead >= length) {
|
||||||
|
return bytesRead;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a register for the data stream
|
||||||
|
Adafruit_BusIO_Register dataStreamReg =
|
||||||
|
Adafruit_BusIO_Register(_i2cDevice, REG_DATA_STREAM, 1);
|
||||||
|
|
||||||
|
while (bytesRead < length) {
|
||||||
|
// Calculate chunk size (I2C has a limit on bytes per transfer)
|
||||||
|
uint16_t chunkSize = min((uint16_t)(length - bytesRead), (uint16_t)32);
|
||||||
|
|
||||||
|
if (!dataStreamReg.read(&buffer[bytesRead], chunkSize)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
bytesRead += chunkSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
return bytesRead;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Read a complete message from the device
|
||||||
|
* @param buffer Pointer to buffer to store message data
|
||||||
|
* @param maxLength Maximum length of buffer
|
||||||
|
* @return Number of bytes read into the buffer
|
||||||
|
*/
|
||||||
|
uint16_t Adafruit_UBloxDDC::readMessage(uint8_t *buffer, uint16_t maxLength) {
|
||||||
|
uint16_t bytesAvailable = available();
|
||||||
|
|
||||||
|
if (bytesAvailable == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Limit to buffer size
|
||||||
|
uint16_t bytesToRead = min(bytesAvailable, maxLength);
|
||||||
|
return readBytes(buffer, bytesToRead);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Read a message into the internal buffer and return a pointer to it
|
||||||
|
* @param messageLength Pointer to variable to store message length
|
||||||
|
* @return Pointer to internal buffer containing the message
|
||||||
|
*/
|
||||||
|
uint8_t *Adafruit_UBloxDDC::readMessage(uint16_t *messageLength) {
|
||||||
|
*messageLength = readMessage(_buffer, MAX_BUFFER_SIZE);
|
||||||
|
return _buffer;
|
||||||
|
}
|
||||||
72
Adafruit_UBloxDDC.h
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
/*!
|
||||||
|
* @file Adafruit_UBloxDDC.h
|
||||||
|
*
|
||||||
|
* Arduino library for interfacing with u-blox GPS/RTK modules over I2C (DDC).
|
||||||
|
*
|
||||||
|
* This library implements the Stream interface, allowing it to be used with
|
||||||
|
* existing GPS parsing libraries like TinyGPS++.
|
||||||
|
*
|
||||||
|
* Adafruit invests time and resources providing this open source code,
|
||||||
|
* please support Adafruit and open-source hardware by purchasing
|
||||||
|
* products from Adafruit!
|
||||||
|
*
|
||||||
|
* Written by Limor Fried/Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text here must be included in any redistribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ADAFRUIT_UBLOXDDC_H
|
||||||
|
#define ADAFRUIT_UBLOXDDC_H
|
||||||
|
|
||||||
|
#include <Adafruit_BusIO_Register.h>
|
||||||
|
#include <Adafruit_I2CDevice.h>
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <Stream.h>
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Arduino library for interfacing with u-blox GPS/RTK modules over I2C
|
||||||
|
*/
|
||||||
|
class Adafruit_UBloxDDC : public Stream {
|
||||||
|
private:
|
||||||
|
Adafruit_I2CDevice *_i2cDevice; ///< Underlying I2C device
|
||||||
|
|
||||||
|
// Register addresses
|
||||||
|
static const uint8_t REG_DATA_STREAM =
|
||||||
|
0xFF; ///< Register for reading data stream
|
||||||
|
static const uint8_t REG_BYTES_AVAILABLE_MSB =
|
||||||
|
0xFD; ///< MSB of bytes available
|
||||||
|
static const uint8_t REG_BYTES_AVAILABLE_LSB =
|
||||||
|
0xFE; ///< LSB of bytes available
|
||||||
|
|
||||||
|
// Buffer for reading messages
|
||||||
|
static const uint16_t MAX_BUFFER_SIZE =
|
||||||
|
128; ///< Maximum buffer size for messages
|
||||||
|
uint8_t _buffer[MAX_BUFFER_SIZE]; ///< Internal buffer for messages
|
||||||
|
|
||||||
|
// Last byte read for peek() implementation
|
||||||
|
int _lastByte = -1; ///< Last byte read by peek()
|
||||||
|
bool _hasPeeked = false; ///< Indicates if we have a peeked byte waiting
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Constructor & destructor
|
||||||
|
Adafruit_UBloxDDC(uint8_t address = 0x42, TwoWire *wire = &Wire);
|
||||||
|
~Adafruit_UBloxDDC();
|
||||||
|
|
||||||
|
// Basic methods
|
||||||
|
bool begin();
|
||||||
|
|
||||||
|
// Stream interface implementation
|
||||||
|
virtual int available() override;
|
||||||
|
virtual int read() override;
|
||||||
|
virtual int peek() override;
|
||||||
|
// Stream interface implementation
|
||||||
|
virtual size_t write(uint8_t) override;
|
||||||
|
virtual size_t write(const uint8_t *buffer, size_t size) override;
|
||||||
|
|
||||||
|
// Additional methods
|
||||||
|
uint16_t readBytes(uint8_t *buffer, uint16_t length);
|
||||||
|
uint16_t readMessage(uint8_t *buffer, uint16_t maxLength);
|
||||||
|
uint8_t *readMessage(uint16_t *messageLength);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ADAFRUIT_UBLOXDDC_H
|
||||||
58
Adafruit_uBlox_Ubx_Messages.h
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*!
|
||||||
|
* @file Adafruit_uBlox_Ubx_Messages.h
|
||||||
|
*
|
||||||
|
* Pre-built UBX message payloads for common tasks
|
||||||
|
*
|
||||||
|
* Adafruit invests time and resources providing this open source code,
|
||||||
|
* please support Adafruit and open-source hardware by purchasing
|
||||||
|
* products from Adafruit!
|
||||||
|
*
|
||||||
|
* Written by Brent Rubell for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text here must be included in any redistribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ADAFRUIT_UBLOX_UBX_MESSAGES
|
||||||
|
#define ADAFRUIT_UBLOX_UBX_MESSAGES
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
// NMEA Message Configuration Commands (CFG-MSG)
|
||||||
|
// Format: {msgClass, msgID, rate_I2C, rate_UART1, rate_UART2, rate_USB,
|
||||||
|
// rate_SPI, reserved}
|
||||||
|
|
||||||
|
// Enable specific NMEA message sentences to output on the DDC interface
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GGA_ENABLE[] = {0xF0, 0x00, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GLL_ENABLE[] = {0xF0, 0x01, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GSA_ENABLE[] = {0xF0, 0x02, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GSV_ENABLE[] = {0xF0, 0x03, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_RMC_ENABLE[] = {0xF0, 0x04, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_VTG_ENABLE[] = {0xF0, 0x05, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
// Disable specific NMEA message sentences from outputting on the DDC interface
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GGA_DISABLE[] = {0xF0, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GLL_DISABLE[] = {0xF0, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GSA_DISABLE[] = {0xF0, 0x02, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_GSV_DISABLE[] = {0xF0, 0x03, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_RMC_DISABLE[] = {0xF0, 0x04, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t UBX_CFG_MSG_NMEA_VTG_DISABLE[] = {0xF0, 0x05, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00};
|
||||||
|
|
||||||
|
// Navigation Rate Configuration Commands (CFG-RATE)
|
||||||
|
// Format: {measRate_ms (2 bytes), navRate, timeRef}
|
||||||
|
static uint8_t UBX_CFG_RATE_1HZ[] = {0xE8, 0x03, 0x01, 0x00, 0x01, 0x00};
|
||||||
|
static uint8_t UBX_CFG_RATE_2HZ[] = {0xF4, 0x01, 0x01, 0x00, 0x01, 0x00};
|
||||||
|
static uint8_t UBX_CFG_RATE_5HZ[] = {0xC8, 0x00, 0x01, 0x00, 0x01, 0x00};
|
||||||
|
static uint8_t UBX_CFG_RATE_10HZ[] = {0x64, 0x00, 0x01, 0x00, 0x01, 0x00};
|
||||||
|
|
||||||
|
#endif // ADAFRUIT_UBLOX_UBX_MESSAGES
|
||||||
108
Adafruit_uBlox_typedef.h
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
/*!
|
||||||
|
* @file Adafruit_uBlox_typedef.h
|
||||||
|
*
|
||||||
|
* Type definitions for u-blox GPS/RTK module messages
|
||||||
|
*
|
||||||
|
* Adafruit invests time and resources providing this open source code,
|
||||||
|
* please support Adafruit and open-source hardware by purchasing
|
||||||
|
* products from Adafruit!
|
||||||
|
*
|
||||||
|
* Written by Limor Fried/Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text here must be included in any redistribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ADAFRUIT_UBLOX_TYPEDEF_H
|
||||||
|
#define ADAFRUIT_UBLOX_TYPEDEF_H
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
/** UBX protocol message class identifiers. */
|
||||||
|
typedef enum {
|
||||||
|
UBX_CLASS_NAV = 0x01, // Navigation Results
|
||||||
|
UBX_CLASS_RXM = 0x02, // Receiver Manager Messages
|
||||||
|
UBX_CLASS_INF = 0x04, // Information Messages
|
||||||
|
UBX_CLASS_ACK = 0x05, // Acknowledgements
|
||||||
|
UBX_CLASS_CFG = 0x06, // Configuration
|
||||||
|
UBX_CLASS_UPD = 0x09, // Firmware Update
|
||||||
|
UBX_CLASS_MON = 0x0A, // Monitoring
|
||||||
|
UBX_CLASS_AID = 0x0B, // AssistNow Aiding
|
||||||
|
UBX_CLASS_TIM = 0x0D, // Timing
|
||||||
|
UBX_CLASS_ESF = 0x10, // External Sensor Fusion
|
||||||
|
UBX_CLASS_MGA = 0x13, // Multiple GNSS Assistance
|
||||||
|
UBX_CLASS_LOG = 0x21, // Logging
|
||||||
|
UBX_CLASS_SEC = 0x27, // Security
|
||||||
|
UBX_CLASS_HNR = 0x28, // High Rate Navigation
|
||||||
|
UBX_CLASS_NMEA = 0xF0 // NMEA Standard Messages
|
||||||
|
} UBXMessageClass;
|
||||||
|
|
||||||
|
/** UBX CFG Message IDs. */
|
||||||
|
typedef enum {
|
||||||
|
UBX_CFG_PRT = 0x00, // Port Configuration
|
||||||
|
UBX_CFG_MSG = 0x01, // Message Configuration
|
||||||
|
UBX_CFG_RST = 0x04, // Reset Receiver
|
||||||
|
UBX_CFG_RATE = 0x08, // Navigation/Measurement Rate Settings
|
||||||
|
UBX_CFG_CFG = 0x09, // Clear, Save, and Load Configurations
|
||||||
|
UBX_CFG_NAVX5 = 0x23, // Navigation Engine Settings
|
||||||
|
UBX_CFG_GNSS = 0x3E, // GNSS Configuration
|
||||||
|
UBX_CFG_PMS = 0x86 // Power Mode Setup
|
||||||
|
} UBXCfgMessageId;
|
||||||
|
|
||||||
|
/** Return values for functions that wait for acknowledgment. */
|
||||||
|
typedef enum {
|
||||||
|
UBX_SEND_SUCCESS = 0, // Message was acknowledged (ACK)
|
||||||
|
UBX_SEND_NAK, // Message was not acknowledged (NAK)
|
||||||
|
UBX_SEND_FAIL, // Failed to send the message
|
||||||
|
UBX_SEND_TIMEOUT // Timed out waiting for ACK/NAK
|
||||||
|
} UBXSendStatus;
|
||||||
|
|
||||||
|
/** Port ID enum for different interfaces. */
|
||||||
|
typedef enum {
|
||||||
|
UBX_PORT_DDC = 0, // I2C / DDC port
|
||||||
|
UBX_PORT_UART1 = 1, // UART1 port
|
||||||
|
UBX_PORT_UART2 = 2, // UART2 port
|
||||||
|
UBX_PORT_USB = 3, // USB port
|
||||||
|
UBX_PORT_SPI = 4 // SPI port
|
||||||
|
} UBXPortId;
|
||||||
|
|
||||||
|
/** UART mode flags (Charlen, Parity & Stop bit settings). */
|
||||||
|
typedef enum {
|
||||||
|
UBX_UART_MODE_8N1 = 0x000, // 8-bit, no parity, 1 stop bit
|
||||||
|
UBX_UART_MODE_8E1 = 0x100, // 8-bit, even parity, 1 stop bit
|
||||||
|
UBX_UART_MODE_8O1 = 0x200, // 8-bit, odd parity, 1 stop bit
|
||||||
|
UBX_UART_MODE_7N1 = 0x400, // 7-bit, no parity, 1 stop bit
|
||||||
|
UBX_UART_MODE_7E1 = 0x500, // 7-bit, even parity, 1 stop bit
|
||||||
|
UBX_UART_MODE_7O1 = 0x600, // 7-bit, odd parity, 1 stop bit
|
||||||
|
UBX_UART_MODE_7N2 = 0x800, // 7-bit, no parity, 2 stop bits
|
||||||
|
UBX_UART_MODE_7E2 = 0x900, // 7-bit, even parity, 2 stop bits
|
||||||
|
UBX_UART_MODE_7O2 = 0xA00, // 7-bit, odd parity, 2 stop bits
|
||||||
|
UBX_UART_MODE_8N2 = 0xC00, // 8-bit, no parity, 2 stop bits
|
||||||
|
UBX_UART_MODE_8E2 = 0xD00, // 8-bit, even parity, 2 stop bits
|
||||||
|
UBX_UART_MODE_8O2 = 0xE00 // 8-bit, odd parity, 2 stop bits
|
||||||
|
} UBXUARTMode;
|
||||||
|
|
||||||
|
// Protocol flags for inProtoMask and outProtoMask
|
||||||
|
#define UBX_PROTOCOL_UBX 0x0001 ///< UBX protocol
|
||||||
|
#define UBX_PROTOCOL_NMEA 0x0002 ///< NMEA protocol
|
||||||
|
#define UBX_PROTOCOL_RTCM 0x0004 ///< RTCM2 protocol (only for inProtoMask)
|
||||||
|
#define UBX_PROTOCOL_RTCM3 0x0020 ///< RTCM3 protocol
|
||||||
|
|
||||||
|
/** UBX CFG-PRT (Port Configuration) message structure. 20 bytes total.
|
||||||
|
*/
|
||||||
|
typedef union {
|
||||||
|
struct {
|
||||||
|
uint8_t
|
||||||
|
portID; ///< Port identifier (0=DDC/I2C, 1=UART1, 2=UART2, 3=USB, 4=SPI)
|
||||||
|
uint8_t reserved1; ///< Reserved
|
||||||
|
uint16_t txReady; ///< TX ready PIN configuration
|
||||||
|
uint32_t mode; ///< UART mode (bit field) or Reserved for non-UART ports
|
||||||
|
uint32_t baudRate; ///< Baudrate in bits/second (UART only)
|
||||||
|
uint16_t inProtoMask; ///< Input protocol mask
|
||||||
|
uint16_t outProtoMask; ///< Output protocol mask
|
||||||
|
uint16_t flags; ///< Flags bit field
|
||||||
|
uint16_t reserved2; ///< Reserved
|
||||||
|
} fields; ///< Fields for CFG-PRT message
|
||||||
|
uint8_t raw[20]; ///< Raw byte array for CFG-PRT message
|
||||||
|
} UBX_CFG_PRT_t;
|
||||||
|
|
||||||
|
#endif // ADAFRUIT_UBLOX_TYPEDEF_H
|
||||||
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2017 Adafruit Industries
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
13
README.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Adafruit uBlox Library [](https://github.com/adafruit/Adafruit_uBlox/actions)
|
||||||
|
|
||||||
|
This is a driver library to abstract away the details of communicating with u-blox GPS and RTK modules. It provides a simple interface for sending and receiving data over a generic Stream interface.
|
||||||
|
|
||||||
|
This library provides two main classes:
|
||||||
|
- `Adafruit_UBX`: Interfaces with u-blox GPS/RTK modules using any stream object as an input (UART, DDC, or other) and parses UBX protocol messages.
|
||||||
|
- `Adafruit_UBloxDDC`: Interface for communicating with u-blox modules over DDC (I2C).
|
||||||
|
|
||||||
|
For parsing NMEA sentences, we provide an example for using this library with the [Adafruit_GPS library](https://github.com/adafruit/Adafruit_GPS).
|
||||||
|
|
||||||
|
Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!
|
||||||
|
|
||||||
|
MIT license, all text above must be included in any redistribution
|
||||||
63
examples/ublox_ddc/ublox_ddc.ino
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
/*!
|
||||||
|
* @file ublox_ddc.ino
|
||||||
|
*
|
||||||
|
* Example sketch demonstrating the use of the Adafruit_UBloxDDC library
|
||||||
|
* with u-blox GPS/RTK modules over I2C (DDC) interface.
|
||||||
|
*
|
||||||
|
* This example simply streams all raw bytes from the GPS module to the
|
||||||
|
* Serial port so you can see the NMEA sentences in their original format.
|
||||||
|
*
|
||||||
|
* Written by Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text above must be included in any redistribution
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Adafruit_UBloxDDC.h>
|
||||||
|
|
||||||
|
// Create Adafruit_UBloxDDC object with default I2C address (0x42)
|
||||||
|
Adafruit_UBloxDDC gps;
|
||||||
|
|
||||||
|
// Buffer for reading chunks of data
|
||||||
|
const size_t BUFFER_SIZE = 64;
|
||||||
|
uint8_t buffer[BUFFER_SIZE];
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Initialize serial port for debugging
|
||||||
|
Serial.begin(115200);
|
||||||
|
while (!Serial) {
|
||||||
|
; // Wait for serial port to connect
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("Adafruit UBlox DDC Raw NMEA Stream Example");
|
||||||
|
|
||||||
|
// Initialize GPS module
|
||||||
|
if (gps.begin()) {
|
||||||
|
Serial.println("GPS module found!");
|
||||||
|
} else {
|
||||||
|
Serial.println("Failed to connect to GPS module!");
|
||||||
|
while (1); // Don't proceed if we couldn't connect to the module
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("Streaming raw data from GPS module...");
|
||||||
|
Serial.println("------------------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// Check how many bytes are available
|
||||||
|
int bytesAvailable = gps.available();
|
||||||
|
|
||||||
|
if (bytesAvailable > 0) {
|
||||||
|
// Read up to BUFFER_SIZE bytes at a time
|
||||||
|
size_t bytesToRead = min(bytesAvailable, (int)BUFFER_SIZE);
|
||||||
|
size_t bytesRead = gps.readBytes(buffer, bytesToRead);
|
||||||
|
|
||||||
|
// Stream the bytes directly to Serial
|
||||||
|
// This will show raw NMEA sentences
|
||||||
|
for (size_t i = 0; i < bytesRead; i++) {
|
||||||
|
Serial.write(buffer[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Short delay to prevent overwhelming the serial monitor
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
192
examples/ublox_ddc_parse_nmea/ublox_ddc_parse_nmea.ino
Normal file
|
|
@ -0,0 +1,192 @@
|
||||||
|
/*!
|
||||||
|
* @file ublox_ddc_parse_nmea.ino
|
||||||
|
*
|
||||||
|
* Example sketch demonstrating parsing NMEA sentences from a u-blox GPS/RTK module
|
||||||
|
* using the Adafruit_GPS and Adafruit_UBX libraries.
|
||||||
|
*
|
||||||
|
* Written by Brent Rubell for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text above must be included in any redistribution
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Adafruit_GPS.h>
|
||||||
|
#include <Adafruit_UBX.h>
|
||||||
|
#include <Adafruit_UBloxDDC.h>
|
||||||
|
|
||||||
|
// Adafruit_UBloxDDC object with default I2C address (0x42)
|
||||||
|
Adafruit_UBloxDDC gps;
|
||||||
|
// Create Adafruit_UBX parser using the DDC object as input stream
|
||||||
|
Adafruit_UBX ubx(gps);
|
||||||
|
// Create Adafruit_GPS object for use as a NMEA parser only
|
||||||
|
Adafruit_GPS NMEA;
|
||||||
|
|
||||||
|
// Buffer to store NMEA sentences from the module (may be partial sentences)
|
||||||
|
const size_t SZ_NMEA_BUFFER = 128;
|
||||||
|
uint8_t buffer[SZ_NMEA_BUFFER];
|
||||||
|
uint32_t timer = millis();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Sets the NMEA output to only RMC and GGA sentences and waits for an
|
||||||
|
* acknowledgment. All other common NMEA sentences are disabled to increase
|
||||||
|
* loop() performance by decreasing the amount of messages output by the UBlox
|
||||||
|
* module.
|
||||||
|
* @return Status indicating success, failure, or timeout
|
||||||
|
*/
|
||||||
|
UBXSendStatus SetNMEAOutputRMCGGAOnly() {
|
||||||
|
UBXSendStatus status;
|
||||||
|
// Disable all common NMEA messages
|
||||||
|
status = ubx.sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_MSG,
|
||||||
|
UBX_CFG_MSG_NMEA_GLL_DISABLE,
|
||||||
|
sizeof(UBX_CFG_MSG_NMEA_GLL_DISABLE));
|
||||||
|
if (status != UBX_SEND_SUCCESS)
|
||||||
|
return status;
|
||||||
|
status = ubx.sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_MSG,
|
||||||
|
UBX_CFG_MSG_NMEA_GSA_DISABLE,
|
||||||
|
sizeof(UBX_CFG_MSG_NMEA_GSA_DISABLE));
|
||||||
|
if (status != UBX_SEND_SUCCESS)
|
||||||
|
return status;
|
||||||
|
status = ubx.sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_MSG,
|
||||||
|
UBX_CFG_MSG_NMEA_GSV_DISABLE,
|
||||||
|
sizeof(UBX_CFG_MSG_NMEA_GSV_DISABLE));
|
||||||
|
if (status != UBX_SEND_SUCCESS)
|
||||||
|
return status;
|
||||||
|
status = ubx.sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_MSG,
|
||||||
|
UBX_CFG_MSG_NMEA_VTG_DISABLE,
|
||||||
|
sizeof(UBX_CFG_MSG_NMEA_VTG_DISABLE));
|
||||||
|
if (status != UBX_SEND_SUCCESS)
|
||||||
|
return status;
|
||||||
|
// Enable only GGA and RMC messages
|
||||||
|
status = ubx.sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_MSG,
|
||||||
|
UBX_CFG_MSG_NMEA_GGA_ENABLE,
|
||||||
|
sizeof(UBX_CFG_MSG_NMEA_GGA_ENABLE));
|
||||||
|
if (status != UBX_SEND_SUCCESS)
|
||||||
|
return status;
|
||||||
|
status = ubx.sendMessageWithAck(UBX_CLASS_CFG, UBX_CFG_MSG,
|
||||||
|
UBX_CFG_MSG_NMEA_RMC_ENABLE,
|
||||||
|
sizeof(UBX_CFG_MSG_NMEA_RMC_ENABLE));
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Initialize serial port for debugging
|
||||||
|
Serial.begin(115200);
|
||||||
|
while (!Serial) {
|
||||||
|
; // Wait for serial port to connect
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize GPS module
|
||||||
|
if (!gps.begin()) {
|
||||||
|
Serial.println("Failed to initialize GPS module!");
|
||||||
|
while (1); // Halt if initialization fails
|
||||||
|
}
|
||||||
|
Serial.println("GPS module initialized successfully!");
|
||||||
|
|
||||||
|
// Initialize the u-blox parser
|
||||||
|
if (!ubx.begin()) {
|
||||||
|
Serial.println("Failed to initialize u-blox parser!");
|
||||||
|
while (1); // Halt if initialization fails
|
||||||
|
}
|
||||||
|
Serial.println("u-blox parser initialized successfully!");
|
||||||
|
ubx.verbose_debug = 3; // Set debug level to verbose
|
||||||
|
|
||||||
|
// Set NMEA output on DDC to RMC and GGA sentences only
|
||||||
|
UBXSendStatus status = SetNMEAOutputRMCGGAOnly();
|
||||||
|
if (status != UBX_SEND_SUCCESS) {
|
||||||
|
Serial.print("Failed to configure NMEA output [status code: ");
|
||||||
|
Serial.print(status);
|
||||||
|
Serial.println("]");
|
||||||
|
while (1); // Halt if setting NMEA output fails
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
static char nmeaSentenceBuf[SZ_NMEA_BUFFER];
|
||||||
|
static size_t nmeaSentenceIdx = 0;
|
||||||
|
|
||||||
|
// Check how many bytes are available
|
||||||
|
int bytesAvailable = gps.available();
|
||||||
|
|
||||||
|
if (bytesAvailable > 0) {
|
||||||
|
// Read up to SZ_NMEA_BUFFER bytes at a time
|
||||||
|
size_t bytesToRead = min(bytesAvailable, (int)SZ_NMEA_BUFFER);
|
||||||
|
size_t bytesRead = gps.readBytes(buffer, bytesToRead);
|
||||||
|
|
||||||
|
// Build NMEA sentences and parse when complete
|
||||||
|
for (size_t i = 0; i < bytesRead; i++) {
|
||||||
|
char c = buffer[i];
|
||||||
|
|
||||||
|
// Add to buffer if space available
|
||||||
|
if (nmeaSentenceIdx < SZ_NMEA_BUFFER - 1) {
|
||||||
|
nmeaSentenceBuf[nmeaSentenceIdx++] = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for end of NMEA sentence
|
||||||
|
if (c == '\n') {
|
||||||
|
nmeaSentenceBuf[nmeaSentenceIdx] = '\0';
|
||||||
|
|
||||||
|
// Parse the NMEA sentence
|
||||||
|
if (NMEA.parse(nmeaSentenceBuf)) {
|
||||||
|
// Successfully parsed sentence!
|
||||||
|
Serial.println(nmeaSentenceBuf);
|
||||||
|
// approximately every 2 seconds or so, print out the current stats
|
||||||
|
if (millis() - timer > 2000) {
|
||||||
|
timer = millis(); // reset the timer
|
||||||
|
Serial.print("\nTime: ");
|
||||||
|
if (NMEA.hour < 10) {
|
||||||
|
Serial.print('0');
|
||||||
|
}
|
||||||
|
Serial.print(NMEA.hour, DEC);
|
||||||
|
Serial.print(':');
|
||||||
|
if (NMEA.minute < 10) {
|
||||||
|
Serial.print('0');
|
||||||
|
}
|
||||||
|
Serial.print(NMEA.minute, DEC);
|
||||||
|
Serial.print(':');
|
||||||
|
if (NMEA.seconds < 10) {
|
||||||
|
Serial.print('0');
|
||||||
|
}
|
||||||
|
Serial.print(NMEA.seconds, DEC);
|
||||||
|
Serial.print('.');
|
||||||
|
if (NMEA.milliseconds < 10) {
|
||||||
|
Serial.print("00");
|
||||||
|
} else if (NMEA.milliseconds > 9 && NMEA.milliseconds < 100) {
|
||||||
|
Serial.print("0");
|
||||||
|
}
|
||||||
|
Serial.println(NMEA.milliseconds);
|
||||||
|
Serial.print("Date: ");
|
||||||
|
Serial.print(NMEA.day, DEC);
|
||||||
|
Serial.print('/');
|
||||||
|
Serial.print(NMEA.month, DEC);
|
||||||
|
Serial.print("/20");
|
||||||
|
Serial.println(NMEA.year, DEC);
|
||||||
|
Serial.print("Fix: ");
|
||||||
|
Serial.print((int)NMEA.fix);
|
||||||
|
Serial.print(" quality: ");
|
||||||
|
Serial.println((int)NMEA.fixquality);
|
||||||
|
if (NMEA.fix) {
|
||||||
|
Serial.print("Location: ");
|
||||||
|
Serial.print(NMEA.latitude, 4);
|
||||||
|
Serial.print(NMEA.lat);
|
||||||
|
Serial.print(", ");
|
||||||
|
Serial.print(NMEA.longitude, 4);
|
||||||
|
Serial.println(NMEA.lon);
|
||||||
|
Serial.print("Speed (knots): ");
|
||||||
|
Serial.println(NMEA.speed);
|
||||||
|
Serial.print("Angle: ");
|
||||||
|
Serial.println(NMEA.angle);
|
||||||
|
Serial.print("Altitude: ");
|
||||||
|
Serial.println(NMEA.altitude);
|
||||||
|
Serial.print("Satellites: ");
|
||||||
|
Serial.println((int)NMEA.satellites);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Serial.println("Failed to parse sentence.");
|
||||||
|
}
|
||||||
|
nmeaSentenceIdx = 0; // Reset index for next sentence
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Short delay to prevent overwhelming the module
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
151
examples/ublox_ubxtest/ublox_ubxtest.ino
Normal file
|
|
@ -0,0 +1,151 @@
|
||||||
|
/*!
|
||||||
|
* @file ublox_ubxtest.ino
|
||||||
|
*
|
||||||
|
* Test sketch to verify switching to UBX protocol mode
|
||||||
|
* This example uses I2C (DDC) to communicate with a u-blox module.
|
||||||
|
*
|
||||||
|
* Written by Ladyada for Adafruit Industries.
|
||||||
|
*
|
||||||
|
* MIT license, all text above must be included in any redistribution
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Adafruit_UBloxDDC.h"
|
||||||
|
#include "Adafruit_UBX.h"
|
||||||
|
#include "Adafruit_uBlox_typedef.h"
|
||||||
|
|
||||||
|
// Create Adafruit_UBloxDDC object with default I2C address (0x42)
|
||||||
|
Adafruit_UBloxDDC ddc;
|
||||||
|
|
||||||
|
// Create Adafruit_UBX parser using the DDC object as input stream
|
||||||
|
Adafruit_UBX ubx(ddc);
|
||||||
|
|
||||||
|
// Variables to track message statistics
|
||||||
|
uint32_t messageCount = 0;
|
||||||
|
uint32_t lastMsgTime = 0;
|
||||||
|
bool ubxModeConfirmed = false;
|
||||||
|
|
||||||
|
// Callback function for UBX messages
|
||||||
|
void ubxMessageCallback(uint8_t msgClass, uint8_t msgId, uint16_t payloadLen, uint8_t *payload) {
|
||||||
|
messageCount++;
|
||||||
|
lastMsgTime = millis();
|
||||||
|
|
||||||
|
// First successful UBX message confirms we're in UBX mode
|
||||||
|
if (!ubxModeConfirmed) {
|
||||||
|
ubxModeConfirmed = true;
|
||||||
|
Serial.println("SUCCESS: UBX mode confirmed! Receiving UBX messages.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print message details
|
||||||
|
Serial.print("UBX Message: Class 0x");
|
||||||
|
if (msgClass < 0x10) Serial.print("0");
|
||||||
|
Serial.print(msgClass, HEX);
|
||||||
|
|
||||||
|
Serial.print(", ID 0x");
|
||||||
|
if (msgId < 0x10) Serial.print("0");
|
||||||
|
Serial.print(msgId, HEX);
|
||||||
|
|
||||||
|
Serial.print(", Length: ");
|
||||||
|
Serial.print(payloadLen);
|
||||||
|
Serial.println(" bytes");
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Initialize serial port for debugging
|
||||||
|
Serial.begin(115200);
|
||||||
|
while (!Serial) {
|
||||||
|
; // Wait for serial port to connect
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("\n\n------------- UBX Mode Test -------------");
|
||||||
|
Serial.println("This test will try to switch a u-blox module to UBX protocol");
|
||||||
|
|
||||||
|
// Initialize GPS module
|
||||||
|
Serial.print("Connecting to u-blox module via I2C...");
|
||||||
|
if (ddc.begin()) {
|
||||||
|
Serial.println(" SUCCESS!");
|
||||||
|
} else {
|
||||||
|
Serial.println(" FAILED!");
|
||||||
|
Serial.println("Check connections and try again.");
|
||||||
|
while (1); // Don't proceed if we couldn't connect to the module
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show current data format (should be NMEA)
|
||||||
|
Serial.println("\nCurrent data format (should be NMEA sentences):");
|
||||||
|
Serial.println("------------------------------------------------");
|
||||||
|
|
||||||
|
// Show some raw data
|
||||||
|
unsigned long startTime = millis();
|
||||||
|
while (millis() - startTime < 3000) {
|
||||||
|
if (ddc.available()) {
|
||||||
|
int c = ddc.read();
|
||||||
|
if (c != -1) {
|
||||||
|
Serial.write(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("\n------------------------------------------------");
|
||||||
|
|
||||||
|
// Initialize UBX parser and set debug mode
|
||||||
|
ubx.begin();
|
||||||
|
ubx.verbose_debug = 2; // Enable basic debug output
|
||||||
|
|
||||||
|
// Set the callback function for UBX messages
|
||||||
|
ubx.setMessageCallback(ubxMessageCallback);
|
||||||
|
|
||||||
|
// Now switch to UBX mode
|
||||||
|
Serial.println("\nSwitching to UBX-only mode on DDC port...");
|
||||||
|
|
||||||
|
UBXSendStatus status = ubx.setUBXOnly(UBX_PORT_DDC, true, 1000);
|
||||||
|
|
||||||
|
switch (status) {
|
||||||
|
case UBX_SEND_SUCCESS:
|
||||||
|
Serial.println("SUCCESS: UBX configuration command acknowledged!");
|
||||||
|
break;
|
||||||
|
case UBX_SEND_NAK:
|
||||||
|
Serial.println("ERROR: UBX configuration command was rejected by the module.");
|
||||||
|
break;
|
||||||
|
case UBX_SEND_FAIL:
|
||||||
|
Serial.println("ERROR: Failed to send UBX configuration command.");
|
||||||
|
break;
|
||||||
|
case UBX_SEND_TIMEOUT:
|
||||||
|
Serial.println("ERROR: Timeout waiting for acknowledgment.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status != UBX_SEND_SUCCESS) {
|
||||||
|
Serial.println("Continuing anyway to see if we receive any UBX messages...");
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("\nWaiting for UBX messages (timeout: 5 seconds)...");
|
||||||
|
lastMsgTime = millis();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// Check for UBX messages
|
||||||
|
ubx.checkMessages();
|
||||||
|
|
||||||
|
// Display statistics every second
|
||||||
|
static uint32_t lastStatsTime = 0;
|
||||||
|
if (millis() - lastStatsTime >= 1000) {
|
||||||
|
lastStatsTime = millis();
|
||||||
|
Serial.print("Status: Messages received: ");
|
||||||
|
Serial.print(messageCount);
|
||||||
|
|
||||||
|
// Check for timeout
|
||||||
|
if (!ubxModeConfirmed && (millis() - lastMsgTime > 5000)) {
|
||||||
|
Serial.println("\n\nTIMEOUT: No UBX messages received within 5 seconds.");
|
||||||
|
Serial.println("Possible issues:");
|
||||||
|
Serial.println("1. Module doesn't support UBX protocol on this port");
|
||||||
|
Serial.println("2. Configuration command wasn't received properly");
|
||||||
|
Serial.println("3. Module requires different configuration");
|
||||||
|
Serial.println("\nTry using verbose_debug = 2 for more details.");
|
||||||
|
while(1); // Stop execution
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Short delay to prevent overwhelming the processor
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_UBX.cpp File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBX.cpp File Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><code>#include "<a class="el" href="_adafruit___u_b_x_8h_source.html">Adafruit_UBX.h</a>"</code><br />
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,147 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_UBX.h File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">Classes</a> |
|
|
||||||
<a href="#define-members">Macros</a> |
|
|
||||||
<a href="#typedef-members">Typedefs</a> </div>
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBX.h File Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><code>#include "<a class="el" href="_adafruit__u_blox___ubx___messages_8h_source.html">Adafruit_uBlox_Ubx_Messages.h</a>"</code><br />
|
|
||||||
<code>#include "<a class="el" href="_adafruit__u_blox__typedef_8h_source.html">Adafruit_uBlox_typedef.h</a>"</code><br />
|
|
||||||
<code>#include <Arduino.h></code><br />
|
|
||||||
<code>#include <Stream.h></code><br />
|
|
||||||
</div>
|
|
||||||
<p><a href="_adafruit___u_b_x_8h_source.html">Go to the source code of this file.</a></p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
||||||
Classes</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td></tr>
|
|
||||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for parsing UBX protocol messages from u-blox GPS/RTK modules. <a href="class_adafruit___u_b_x.html#details">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ab9b7171ae257a615aa33d2510e484554"><td class="memItemLeft" align="right" valign="top"><a id="ab9b7171ae257a615aa33d2510e484554"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#ab9b7171ae257a615aa33d2510e484554">UBX_SYNC_CHAR_1</a>   0xB5</td></tr>
|
|
||||||
<tr class="memdesc:ab9b7171ae257a615aa33d2510e484554"><td class="mdescLeft"> </td><td class="mdescRight">First UBX protocol sync char (<28>) <br /></td></tr>
|
|
||||||
<tr class="separator:ab9b7171ae257a615aa33d2510e484554"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a18c4bdc24d4cbedd9214cfc352b6f16c"><td class="memItemLeft" align="right" valign="top"><a id="a18c4bdc24d4cbedd9214cfc352b6f16c"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a18c4bdc24d4cbedd9214cfc352b6f16c">UBX_SYNC_CHAR_2</a>   0x62</td></tr>
|
|
||||||
<tr class="memdesc:a18c4bdc24d4cbedd9214cfc352b6f16c"><td class="mdescLeft"> </td><td class="mdescRight">Second UBX protocol sync char (b) <br /></td></tr>
|
|
||||||
<tr class="separator:a18c4bdc24d4cbedd9214cfc352b6f16c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a708b6ea6923c64a09c24502cdcac3a9b"><td class="memItemLeft" align="right" valign="top"><a id="a708b6ea6923c64a09c24502cdcac3a9b"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a708b6ea6923c64a09c24502cdcac3a9b">UBX_ACK_NAK</a>   0x00</td></tr>
|
|
||||||
<tr class="memdesc:a708b6ea6923c64a09c24502cdcac3a9b"><td class="mdescLeft"> </td><td class="mdescRight">Message Not Acknowledged. <br /></td></tr>
|
|
||||||
<tr class="separator:a708b6ea6923c64a09c24502cdcac3a9b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a9863f96e55b0bd012a94613a086515c7"><td class="memItemLeft" align="right" valign="top"><a id="a9863f96e55b0bd012a94613a086515c7"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a9863f96e55b0bd012a94613a086515c7">UBX_ACK_ACK</a>   0x01</td></tr>
|
|
||||||
<tr class="memdesc:a9863f96e55b0bd012a94613a086515c7"><td class="mdescLeft"> </td><td class="mdescRight">Message Acknowledged. <br /></td></tr>
|
|
||||||
<tr class="separator:a9863f96e55b0bd012a94613a086515c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
|
||||||
Typedefs</h2></td></tr>
|
|
||||||
<tr class="memitem:a0a0ecf74350f410cba0f0a0efd312d12"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12">UBXMessageCallback</a>) (uint8_t msgClass, uint8_t msgId, uint16_t payloadLen, uint8_t *payload)</td></tr>
|
|
||||||
<tr class="memdesc:a0a0ecf74350f410cba0f0a0efd312d12"><td class="mdescLeft"> </td><td class="mdescRight">Callback function type for UBX messages - defined at global scope so other classes can use it. <a href="#a0a0ecf74350f410cba0f0a0efd312d12">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a0a0ecf74350f410cba0f0a0efd312d12"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><p>Arduino library for parsing UBX protocol from u-blox GPS/RTK modules.</p>
|
|
||||||
<p>This library can use any Stream object as input (UART, DDC, or other).</p>
|
|
||||||
<p>Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!</p>
|
|
||||||
<p>Written by Limor Fried/Ladyada for Adafruit Industries.</p>
|
|
||||||
<p>MIT license, all text here must be included in any redistribution. </p>
|
|
||||||
</div><h2 class="groupheader">Typedef Documentation</h2>
|
|
||||||
<a id="a0a0ecf74350f410cba0f0a0efd312d12"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a0a0ecf74350f410cba0f0a0efd312d12">◆ </a></span>UBXMessageCallback</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">typedef void(* UBXMessageCallback) (uint8_t msgClass, uint8_t msgId, uint16_t payloadLen, uint8_t *payload)</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Callback function type for UBX messages - defined at global scope so other classes can use it. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">msgClass</td><td>Message class </td></tr>
|
|
||||||
<tr><td class="paramname">msgId</td><td>Message ID </td></tr>
|
|
||||||
<tr><td class="paramname">payloadLen</td><td>Length of payload data </td></tr>
|
|
||||||
<tr><td class="paramname">payload</td><td>Pointer to payload data </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_UBloxDDC.cpp File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBloxDDC.cpp File Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><code>#include "<a class="el" href="_adafruit___u_blox_d_d_c_8h_source.html">Adafruit_UBloxDDC.h</a>"</code><br />
|
|
||||||
</div><a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><h1><a class="anchor" id="ddc_intro_sec"></a>
|
|
||||||
Introduction</h1>
|
|
||||||
<p>This is a library for the u-blox GPS/RTK modules using I2C interface (DDC)</p>
|
|
||||||
<p>Designed specifically to work with u-blox GPS/RTK modules like NEO-M8P, ZED-F9P, etc.</p>
|
|
||||||
<h1><a class="anchor" id="ddc_dependencies"></a>
|
|
||||||
Dependencies</h1>
|
|
||||||
<p>This library depends on: <a href="https://github.com/adafruit/Adafruit_BusIO">Adafruit_BusIO</a></p>
|
|
||||||
<h1><a class="anchor" id="ddc_author"></a>
|
|
||||||
Author</h1>
|
|
||||||
<p>Written by Limor Fried/Ladyada for Adafruit Industries.</p>
|
|
||||||
<h1><a class="anchor" id="ddc_license"></a>
|
|
||||||
License</h1>
|
|
||||||
<p>MIT license, all text above must be included in any redistribution </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_UBloxDDC.h File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">Classes</a> </div>
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBloxDDC.h File Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><code>#include <Adafruit_BusIO_Register.h></code><br />
|
|
||||||
<code>#include <Adafruit_I2CDevice.h></code><br />
|
|
||||||
<code>#include <Arduino.h></code><br />
|
|
||||||
<code>#include <Stream.h></code><br />
|
|
||||||
</div>
|
|
||||||
<p><a href="_adafruit___u_blox_d_d_c_8h_source.html">Go to the source code of this file.</a></p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
||||||
Classes</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td></tr>
|
|
||||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Arduino library for interfacing with u-blox GPS/RTK modules over I2C. <a href="class_adafruit___u_blox_d_d_c.html#details">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><p>Arduino library for interfacing with u-blox GPS/RTK modules over I2C (DDC).</p>
|
|
||||||
<p>This library implements the Stream interface, allowing it to be used with existing GPS parsing libraries like TinyGPS++.</p>
|
|
||||||
<p>Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!</p>
|
|
||||||
<p>Written by Limor Fried/Ladyada for Adafruit Industries.</p>
|
|
||||||
<p>MIT license, all text here must be included in any redistribution. </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_uBlox_Ubx_Messages.h File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_uBlox_Ubx_Messages.h File Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><code>#include <Arduino.h></code><br />
|
|
||||||
</div>
|
|
||||||
<p><a href="_adafruit__u_blox___ubx___messages_8h_source.html">Go to the source code of this file.</a></p>
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><p>Pre-built UBX message payloads for common tasks</p>
|
|
||||||
<p>Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!</p>
|
|
||||||
<p>Written by Brent Rubell for Adafruit Industries.</p>
|
|
||||||
<p>MIT license, all text here must be included in any redistribution. </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,258 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_uBlox_typedef.h File Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#nested-classes">Classes</a> |
|
|
||||||
<a href="#define-members">Macros</a> |
|
|
||||||
<a href="#enum-members">Enumerations</a> </div>
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_uBlox_typedef.h File Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><code>#include <Arduino.h></code><br />
|
|
||||||
</div>
|
|
||||||
<p><a href="_adafruit__u_blox__typedef_8h_source.html">Go to the source code of this file.</a></p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
||||||
Classes</h2></td></tr>
|
|
||||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html">UBX_CFG_PRT_t</a></td></tr>
|
|
||||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
||||||
Macros</h2></td></tr>
|
|
||||||
<tr class="memitem:ac8736b21efe1e6ffd28faffb977ce520"><td class="memItemLeft" align="right" valign="top"><a id="ac8736b21efe1e6ffd28faffb977ce520"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ac8736b21efe1e6ffd28faffb977ce520">UBX_PROTOCOL_UBX</a>   0x0001</td></tr>
|
|
||||||
<tr class="memdesc:ac8736b21efe1e6ffd28faffb977ce520"><td class="mdescLeft"> </td><td class="mdescRight">UBX protocol. <br /></td></tr>
|
|
||||||
<tr class="separator:ac8736b21efe1e6ffd28faffb977ce520"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a6210c02436bf457745a27c9edcf8a15e"><td class="memItemLeft" align="right" valign="top"><a id="a6210c02436bf457745a27c9edcf8a15e"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a6210c02436bf457745a27c9edcf8a15e">UBX_PROTOCOL_NMEA</a>   0x0002</td></tr>
|
|
||||||
<tr class="memdesc:a6210c02436bf457745a27c9edcf8a15e"><td class="mdescLeft"> </td><td class="mdescRight">NMEA protocol. <br /></td></tr>
|
|
||||||
<tr class="separator:a6210c02436bf457745a27c9edcf8a15e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a4f3f0e692df4fa4f0328eb5a4fe34ee6"><td class="memItemLeft" align="right" valign="top"><a id="a4f3f0e692df4fa4f0328eb5a4fe34ee6"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a4f3f0e692df4fa4f0328eb5a4fe34ee6">UBX_PROTOCOL_RTCM</a>   0x0004</td></tr>
|
|
||||||
<tr class="memdesc:a4f3f0e692df4fa4f0328eb5a4fe34ee6"><td class="mdescLeft"> </td><td class="mdescRight">RTCM2 protocol (only for inProtoMask) <br /></td></tr>
|
|
||||||
<tr class="separator:a4f3f0e692df4fa4f0328eb5a4fe34ee6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:adf4de42aaab8bfa4bf0f417ed7fa8645"><td class="memItemLeft" align="right" valign="top"><a id="adf4de42aaab8bfa4bf0f417ed7fa8645"></a>
|
|
||||||
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#adf4de42aaab8bfa4bf0f417ed7fa8645">UBX_PROTOCOL_RTCM3</a>   0x0020</td></tr>
|
|
||||||
<tr class="memdesc:adf4de42aaab8bfa4bf0f417ed7fa8645"><td class="mdescLeft"> </td><td class="mdescRight">RTCM3 protocol. <br /></td></tr>
|
|
||||||
<tr class="separator:adf4de42aaab8bfa4bf0f417ed7fa8645"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
|
|
||||||
Enumerations</h2></td></tr>
|
|
||||||
<tr class="memitem:a2ffd52bc8ed73f9b14ebbec077395add"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add">UBXMessageClass</a> { <br />
|
|
||||||
  <b>UBX_CLASS_NAV</b> = 0x01,
|
|
||||||
<b>UBX_CLASS_RXM</b> = 0x02,
|
|
||||||
<b>UBX_CLASS_INF</b> = 0x04,
|
|
||||||
<b>UBX_CLASS_ACK</b> = 0x05,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_CLASS_CFG</b> = 0x06,
|
|
||||||
<b>UBX_CLASS_UPD</b> = 0x09,
|
|
||||||
<b>UBX_CLASS_MON</b> = 0x0A,
|
|
||||||
<b>UBX_CLASS_AID</b> = 0x0B,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_CLASS_TIM</b> = 0x0D,
|
|
||||||
<b>UBX_CLASS_ESF</b> = 0x10,
|
|
||||||
<b>UBX_CLASS_MGA</b> = 0x13,
|
|
||||||
<b>UBX_CLASS_LOG</b> = 0x21,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_CLASS_SEC</b> = 0x27,
|
|
||||||
<b>UBX_CLASS_HNR</b> = 0x28,
|
|
||||||
<b>UBX_CLASS_NMEA</b> = 0xF0
|
|
||||||
<br />
|
|
||||||
}</td></tr>
|
|
||||||
<tr class="separator:a2ffd52bc8ed73f9b14ebbec077395add"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a02519f110ce36d6a6fbba19f5fbcb8f3"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3">UBXCfgMessageId</a> { <br />
|
|
||||||
  <b>UBX_CFG_PRT</b> = 0x00,
|
|
||||||
<b>UBX_CFG_MSG</b> = 0x01,
|
|
||||||
<b>UBX_CFG_RST</b> = 0x04,
|
|
||||||
<b>UBX_CFG_RATE</b> = 0x08,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_CFG_CFG</b> = 0x09,
|
|
||||||
<b>UBX_CFG_NAVX5</b> = 0x23,
|
|
||||||
<b>UBX_CFG_GNSS</b> = 0x3E,
|
|
||||||
<b>UBX_CFG_PMS</b> = 0x86
|
|
||||||
<br />
|
|
||||||
}</td></tr>
|
|
||||||
<tr class="separator:a02519f110ce36d6a6fbba19f5fbcb8f3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ae70fb0a16a62be1c77c8627265992601"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">UBXSendStatus</a> { <b>UBX_SEND_SUCCESS</b> = 0,
|
|
||||||
<b>UBX_SEND_NAK</b>,
|
|
||||||
<b>UBX_SEND_FAIL</b>,
|
|
||||||
<b>UBX_SEND_TIMEOUT</b>
|
|
||||||
}</td></tr>
|
|
||||||
<tr class="separator:ae70fb0a16a62be1c77c8627265992601"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a04426de332e3384f4922a3e435e58b10"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">UBXPortId</a> { <br />
|
|
||||||
  <b>UBX_PORT_DDC</b> = 0,
|
|
||||||
<b>UBX_PORT_UART1</b> = 1,
|
|
||||||
<b>UBX_PORT_UART2</b> = 2,
|
|
||||||
<b>UBX_PORT_USB</b> = 3,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_PORT_SPI</b> = 4
|
|
||||||
<br />
|
|
||||||
}</td></tr>
|
|
||||||
<tr class="separator:a04426de332e3384f4922a3e435e58b10"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a6585bf057b503034ba3b60010a8c28bf"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf">UBXUARTMode</a> { <br />
|
|
||||||
  <b>UBX_UART_MODE_8N1</b> = 0x000,
|
|
||||||
<b>UBX_UART_MODE_8E1</b> = 0x100,
|
|
||||||
<b>UBX_UART_MODE_8O1</b> = 0x200,
|
|
||||||
<b>UBX_UART_MODE_7N1</b> = 0x400,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_UART_MODE_7E1</b> = 0x500,
|
|
||||||
<b>UBX_UART_MODE_7O1</b> = 0x600,
|
|
||||||
<b>UBX_UART_MODE_7N2</b> = 0x800,
|
|
||||||
<b>UBX_UART_MODE_7E2</b> = 0x900,
|
|
||||||
<br />
|
|
||||||
  <b>UBX_UART_MODE_7O2</b> = 0xA00,
|
|
||||||
<b>UBX_UART_MODE_8N2</b> = 0xC00,
|
|
||||||
<b>UBX_UART_MODE_8E2</b> = 0xD00,
|
|
||||||
<b>UBX_UART_MODE_8O2</b> = 0xE00
|
|
||||||
<br />
|
|
||||||
}</td></tr>
|
|
||||||
<tr class="separator:a6585bf057b503034ba3b60010a8c28bf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><p>Type definitions for u-blox GPS/RTK module messages</p>
|
|
||||||
<p>Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!</p>
|
|
||||||
<p>Written by Limor Fried/Ladyada for Adafruit Industries.</p>
|
|
||||||
<p>MIT license, all text here must be included in any redistribution. </p>
|
|
||||||
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
||||||
<a id="a2ffd52bc8ed73f9b14ebbec077395add"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a2ffd52bc8ed73f9b14ebbec077395add">◆ </a></span>UBXMessageClass</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">enum <a class="el" href="_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add">UBXMessageClass</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>UBX protocol message class identifiers. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a02519f110ce36d6a6fbba19f5fbcb8f3"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a02519f110ce36d6a6fbba19f5fbcb8f3">◆ </a></span>UBXCfgMessageId</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">enum <a class="el" href="_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3">UBXCfgMessageId</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>UBX CFG Message IDs. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ae70fb0a16a62be1c77c8627265992601"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ae70fb0a16a62be1c77c8627265992601">◆ </a></span>UBXSendStatus</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">enum <a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">UBXSendStatus</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Return values for functions that wait for acknowledgment. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a04426de332e3384f4922a3e435e58b10"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a04426de332e3384f4922a3e435e58b10">◆ </a></span>UBXPortId</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">enum <a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">UBXPortId</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>Port ID enum for different interfaces. </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a6585bf057b503034ba3b60010a8c28bf"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a6585bf057b503034ba3b60010a8c28bf">◆ </a></span>UBXUARTMode</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">enum <a class="el" href="_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf">UBXUARTMode</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
<p>UART mode flags (Charlen, Parity & Stop bit settings). </p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Class List</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Class List</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
|
||||||
<table class="directory">
|
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_adafruit___u_blox_d_d_c.html" target="_self">Adafruit_UBloxDDC</a></td><td class="desc">Arduino library for interfacing with u-blox GPS/RTK modules over I2C </td></tr>
|
|
||||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_adafruit___u_b_x.html" target="_self">Adafruit_UBX</a></td><td class="desc">Class for parsing UBX protocol messages from u-blox GPS/RTK modules </td></tr>
|
|
||||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html" target="_self">UBX_CFG_PRT_t</a></td><td class="desc"></td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- directory -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
BIN
html/bc_s.png
|
Before Width: | Height: | Size: 676 B |
BIN
html/bdwn.png
|
Before Width: | Height: | Size: 147 B |
|
|
@ -1,86 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Member List</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBX Member List</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
|
|
||||||
<p>This is the complete list of members for <a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a>, including all inherited members.</p>
|
|
||||||
<table class="directory">
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a7b590e56d1635e2870a69e67b1e41a1a">Adafruit_UBX</a>(Stream &stream)</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a373c93599ca9515b58fc8a038967e755">begin</a>()</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a3febea7a538bf32960814b2d782f0f8b">checkMessages</a>()</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a2901fce2f2f3ecf4652069fdf97e99e3">onUBXMessage</a></td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#aa0e1fbce664c381544821eda9c17170c">sendMessage</a>(uint8_t msgClass, uint8_t msgId, uint8_t *payload, uint16_t length)</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a5c85fa48a8b11d05ce597ea4ecf23572">sendMessageWithAck</a>(uint8_t msgClass, uint8_t msgId, uint8_t *payload, uint16_t length, uint16_t timeout_ms=500)</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a2ef23536037a2b56b7adf56bcf3c0251">setMessageCallback</a>(UBXMessageCallback callback)</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#ae87653ac10a272dd22b94011b5547cc0">setUBXOnly</a>(UBXPortId portID, bool checkAck=true, uint16_t timeout_ms=500)</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#a79cfeedae7b7ffc2b05b94cfc327ab78">verbose_debug</a></td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_b_x.html#ae5cc4a4b20f2f31798be72c88b586523">~Adafruit_UBX</a>()</td><td class="entry"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a></td><td class="entry"></td></tr>
|
|
||||||
</table></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,378 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_UBX Class Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#pub-methods">Public Member Functions</a> |
|
|
||||||
<a href="#pub-attribs">Public Attributes</a> |
|
|
||||||
<a href="class_adafruit___u_b_x-members.html">List of all members</a> </div>
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBX Class Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
|
|
||||||
<p>Class for parsing UBX protocol messages from u-blox GPS/RTK modules.
|
|
||||||
<a href="class_adafruit___u_b_x.html#details">More...</a></p>
|
|
||||||
|
|
||||||
<p><code>#include <<a class="el" href="_adafruit___u_b_x_8h_source.html">Adafruit_UBX.h</a>></code></p>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
||||||
Public Member Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:a7b590e56d1635e2870a69e67b1e41a1a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a7b590e56d1635e2870a69e67b1e41a1a">Adafruit_UBX</a> (Stream &stream)</td></tr>
|
|
||||||
<tr class="memdesc:a7b590e56d1635e2870a69e67b1e41a1a"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a7b590e56d1635e2870a69e67b1e41a1a">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a7b590e56d1635e2870a69e67b1e41a1a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ae5cc4a4b20f2f31798be72c88b586523"><td class="memItemLeft" align="right" valign="top"><a id="ae5cc4a4b20f2f31798be72c88b586523"></a>
|
|
||||||
 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#ae5cc4a4b20f2f31798be72c88b586523">~Adafruit_UBX</a> ()</td></tr>
|
|
||||||
<tr class="memdesc:ae5cc4a4b20f2f31798be72c88b586523"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
|
|
||||||
<tr class="separator:ae5cc4a4b20f2f31798be72c88b586523"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a373c93599ca9515b58fc8a038967e755"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a373c93599ca9515b58fc8a038967e755">begin</a> ()</td></tr>
|
|
||||||
<tr class="memdesc:a373c93599ca9515b58fc8a038967e755"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the UBX parser. <a href="#a373c93599ca9515b58fc8a038967e755">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a373c93599ca9515b58fc8a038967e755"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a3febea7a538bf32960814b2d782f0f8b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a3febea7a538bf32960814b2d782f0f8b">checkMessages</a> ()</td></tr>
|
|
||||||
<tr class="memdesc:a3febea7a538bf32960814b2d782f0f8b"><td class="mdescLeft"> </td><td class="mdescRight">Check for new UBX messages and parse them. <a href="#a3febea7a538bf32960814b2d782f0f8b">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a3febea7a538bf32960814b2d782f0f8b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:aa0e1fbce664c381544821eda9c17170c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#aa0e1fbce664c381544821eda9c17170c">sendMessage</a> (uint8_t msgClass, uint8_t msgId, uint8_t *payload, uint16_t length)</td></tr>
|
|
||||||
<tr class="memdesc:aa0e1fbce664c381544821eda9c17170c"><td class="mdescLeft"> </td><td class="mdescRight">Send a UBX message to the GPS module. <a href="#aa0e1fbce664c381544821eda9c17170c">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:aa0e1fbce664c381544821eda9c17170c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a5c85fa48a8b11d05ce597ea4ecf23572"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">UBXSendStatus</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a5c85fa48a8b11d05ce597ea4ecf23572">sendMessageWithAck</a> (uint8_t msgClass, uint8_t msgId, uint8_t *payload, uint16_t length, uint16_t timeout_ms=500)</td></tr>
|
|
||||||
<tr class="memdesc:a5c85fa48a8b11d05ce597ea4ecf23572"><td class="mdescLeft"> </td><td class="mdescRight">Send a UBX message and wait for acknowledgment. <a href="#a5c85fa48a8b11d05ce597ea4ecf23572">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a5c85fa48a8b11d05ce597ea4ecf23572"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ae87653ac10a272dd22b94011b5547cc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">UBXSendStatus</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#ae87653ac10a272dd22b94011b5547cc0">setUBXOnly</a> (<a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">UBXPortId</a> portID, bool checkAck=true, uint16_t timeout_ms=500)</td></tr>
|
|
||||||
<tr class="memdesc:ae87653ac10a272dd22b94011b5547cc0"><td class="mdescLeft"> </td><td class="mdescRight">Configure the GPS module to output only UBX protocol (disables NMEA) <a href="#ae87653ac10a272dd22b94011b5547cc0">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:ae87653ac10a272dd22b94011b5547cc0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a2ef23536037a2b56b7adf56bcf3c0251"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a2ef23536037a2b56b7adf56bcf3c0251">setMessageCallback</a> (<a class="el" href="_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12">UBXMessageCallback</a> callback)</td></tr>
|
|
||||||
<tr class="memdesc:a2ef23536037a2b56b7adf56bcf3c0251"><td class="mdescLeft"> </td><td class="mdescRight">Sets the callback function for UBX messages. <a href="#a2ef23536037a2b56b7adf56bcf3c0251">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a2ef23536037a2b56b7adf56bcf3c0251"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table><table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
|
||||||
Public Attributes</h2></td></tr>
|
|
||||||
<tr class="memitem:a79cfeedae7b7ffc2b05b94cfc327ab78"><td class="memItemLeft" align="right" valign="top"><a id="a79cfeedae7b7ffc2b05b94cfc327ab78"></a>
|
|
||||||
uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a79cfeedae7b7ffc2b05b94cfc327ab78">verbose_debug</a> = 0</td></tr>
|
|
||||||
<tr class="memdesc:a79cfeedae7b7ffc2b05b94cfc327ab78"><td class="mdescLeft"> </td><td class="mdescRight">0=off, 1=basic, 2=verbose <br /></td></tr>
|
|
||||||
<tr class="separator:a79cfeedae7b7ffc2b05b94cfc327ab78"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a2901fce2f2f3ecf4652069fdf97e99e3"><td class="memItemLeft" align="right" valign="top"><a id="a2901fce2f2f3ecf4652069fdf97e99e3"></a>
|
|
||||||
<a class="el" href="_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12">UBXMessageCallback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a2901fce2f2f3ecf4652069fdf97e99e3">onUBXMessage</a></td></tr>
|
|
||||||
<tr class="memdesc:a2901fce2f2f3ecf4652069fdf97e99e3"><td class="mdescLeft"> </td><td class="mdescRight">Callback for message received. <br /></td></tr>
|
|
||||||
<tr class="separator:a2901fce2f2f3ecf4652069fdf97e99e3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><p>Class for parsing UBX protocol messages from u-blox GPS/RTK modules. </p>
|
|
||||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
||||||
<a id="a7b590e56d1635e2870a69e67b1e41a1a"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a7b590e56d1635e2870a69e67b1e41a1a">◆ </a></span>Adafruit_UBX()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">Adafruit_UBX::Adafruit_UBX </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">Stream & </td>
|
|
||||||
<td class="paramname"><em>stream</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Constructor. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">stream</td><td>Reference to a Stream object (Serial, <a class="el" href="class_adafruit___u_blox_d_d_c.html" title="Arduino library for interfacing with u-blox GPS/RTK modules over I2C. ">Adafruit_UBloxDDC</a>, etc.) </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Member Function Documentation</h2>
|
|
||||||
<a id="a373c93599ca9515b58fc8a038967e755"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a373c93599ca9515b58fc8a038967e755">◆ </a></span>begin()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">bool Adafruit_UBX::begin </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Initializes the UBX parser. </p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Always returns true (initialization is trivial) </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a3febea7a538bf32960814b2d782f0f8b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a3febea7a538bf32960814b2d782f0f8b">◆ </a></span>checkMessages()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">bool Adafruit_UBX::checkMessages </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Check for new UBX messages and parse them. </p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>True if a complete message was parsed </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="aa0e1fbce664c381544821eda9c17170c"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#aa0e1fbce664c381544821eda9c17170c">◆ </a></span>sendMessage()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">bool Adafruit_UBX::sendMessage </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint8_t </td>
|
|
||||||
<td class="paramname"><em>msgClass</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint8_t </td>
|
|
||||||
<td class="paramname"><em>msgId</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint8_t * </td>
|
|
||||||
<td class="paramname"><em>payload</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint16_t </td>
|
|
||||||
<td class="paramname"><em>length</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Send a UBX message to the GPS module. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">msgClass</td><td>Message class </td></tr>
|
|
||||||
<tr><td class="paramname">msgId</td><td>Message ID </td></tr>
|
|
||||||
<tr><td class="paramname">payload</td><td>Pointer to the payload data (can be NULL for zero-length payload) </td></tr>
|
|
||||||
<tr><td class="paramname">length</td><td>Length of payload </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>True if message was sent successfully </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a5c85fa48a8b11d05ce597ea4ecf23572"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a5c85fa48a8b11d05ce597ea4ecf23572">◆ </a></span>sendMessageWithAck()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">UBXSendStatus</a> Adafruit_UBX::sendMessageWithAck </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint8_t </td>
|
|
||||||
<td class="paramname"><em>msgClass</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint8_t </td>
|
|
||||||
<td class="paramname"><em>msgId</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint8_t * </td>
|
|
||||||
<td class="paramname"><em>payload</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint16_t </td>
|
|
||||||
<td class="paramname"><em>length</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint16_t </td>
|
|
||||||
<td class="paramname"><em>timeout_ms</em> = <code>500</code> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Send a UBX message and wait for acknowledgment. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">msgClass</td><td>Message class </td></tr>
|
|
||||||
<tr><td class="paramname">msgId</td><td>Message ID </td></tr>
|
|
||||||
<tr><td class="paramname">payload</td><td>Pointer to the payload data </td></tr>
|
|
||||||
<tr><td class="paramname">length</td><td>Length of payload </td></tr>
|
|
||||||
<tr><td class="paramname">timeout_ms</td><td>Maximum time to wait for acknowledgment </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>UBXSendStatus indicating success, failure, or timeout </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ae87653ac10a272dd22b94011b5547cc0"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ae87653ac10a272dd22b94011b5547cc0">◆ </a></span>setUBXOnly()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">UBXSendStatus</a> Adafruit_UBX::setUBXOnly </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">UBXPortId</a> </td>
|
|
||||||
<td class="paramname"><em>portID</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">bool </td>
|
|
||||||
<td class="paramname"><em>checkAck</em> = <code>true</code>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint16_t </td>
|
|
||||||
<td class="paramname"><em>timeout_ms</em> = <code>500</code> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Configure the GPS module to output only UBX protocol (disables NMEA) </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">portID</td><td>Port identifier (UBX_PORT_DDC, UBX_PORT_UART1, etc.) </td></tr>
|
|
||||||
<tr><td class="paramname">checkAck</td><td>Whether to wait for acknowledgment </td></tr>
|
|
||||||
<tr><td class="paramname">timeout_ms</td><td>Maximum time to wait for acknowledgment in milliseconds </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>UBXSendStatus indicating success, failure, or timeout </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a2ef23536037a2b56b7adf56bcf3c0251"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a2ef23536037a2b56b7adf56bcf3c0251">◆ </a></span>setMessageCallback()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">void Adafruit_UBX::setMessageCallback </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype"><a class="el" href="_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12">UBXMessageCallback</a> </td>
|
|
||||||
<td class="paramname"><em>callback</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Sets the callback function for UBX messages. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">callback</td><td>Function pointer to call when a complete UBX message is received </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
||||||
<li><a class="el" href="_adafruit___u_b_x_8h_source.html">Adafruit_UBX.h</a></li>
|
|
||||||
<li><a class="el" href="_adafruit___u_b_x_8cpp.html">Adafruit_UBX.cpp</a></li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Member List</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBloxDDC Member List</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
|
|
||||||
<p>This is the complete list of members for <a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a>, including all inherited members.</p>
|
|
||||||
<table class="directory">
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a1d3186a12d82023995200b7509f2fdd0">Adafruit_UBloxDDC</a>(uint8_t address=0x42, TwoWire *wire=&Wire)</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a3ab820207d549ae4f222c13d1f9b2bd7">available</a>() override</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47">begin</a>()</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ab80cf21423ef7a5471755ed777005d87">peek</a>() override</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ab6740ffe9727f1ab0500f42e4e56b4f6">read</a>() override</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ac98cfaa49ddf5f2b4502cb406575d52b">readBytes</a>(uint8_t *buffer, uint16_t length)</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a405cc264938a0ecdc2f6d060e61da7e4">readMessage</a>(uint8_t *buffer, uint16_t maxLength)</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a2a7b11759e0778d649e585092f663f4f">readMessage</a>(uint16_t *messageLength)</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a15c816aeabf456c901594b265cfa4c3f">write</a>(uint8_t) override</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
||||||
<tr><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ac53068f3386d3e841ae88e6da1700ca2">write</a>(const uint8_t *buffer, size_t size) override</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
||||||
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a0d7e39448350ccbda11d425bfafd8e63">~Adafruit_UBloxDDC</a>()</td><td class="entry"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a></td><td class="entry"></td></tr>
|
|
||||||
</table></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,460 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Adafruit_UBloxDDC Class Reference</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div><!-- top -->
|
|
||||||
<div class="header">
|
|
||||||
<div class="summary">
|
|
||||||
<a href="#pub-methods">Public Member Functions</a> |
|
|
||||||
<a href="class_adafruit___u_blox_d_d_c-members.html">List of all members</a> </div>
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Adafruit_UBloxDDC Class Reference</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
|
|
||||||
<p>Arduino library for interfacing with u-blox GPS/RTK modules over I2C.
|
|
||||||
<a href="class_adafruit___u_blox_d_d_c.html#details">More...</a></p>
|
|
||||||
|
|
||||||
<p><code>#include <<a class="el" href="_adafruit___u_blox_d_d_c_8h_source.html">Adafruit_UBloxDDC.h</a>></code></p>
|
|
||||||
<div class="dynheader">
|
|
||||||
Inheritance diagram for Adafruit_UBloxDDC:</div>
|
|
||||||
<div class="dyncontent">
|
|
||||||
<div class="center">
|
|
||||||
<img src="class_adafruit___u_blox_d_d_c.png" usemap="#Adafruit_5FUBloxDDC_map" alt=""/>
|
|
||||||
<map id="Adafruit_5FUBloxDDC_map" name="Adafruit_5FUBloxDDC_map">
|
|
||||||
</map>
|
|
||||||
</div></div>
|
|
||||||
<table class="memberdecls">
|
|
||||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
||||||
Public Member Functions</h2></td></tr>
|
|
||||||
<tr class="memitem:a1d3186a12d82023995200b7509f2fdd0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a1d3186a12d82023995200b7509f2fdd0">Adafruit_UBloxDDC</a> (uint8_t address=0x42, TwoWire *wire=&Wire)</td></tr>
|
|
||||||
<tr class="memdesc:a1d3186a12d82023995200b7509f2fdd0"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a1d3186a12d82023995200b7509f2fdd0">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a1d3186a12d82023995200b7509f2fdd0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a0d7e39448350ccbda11d425bfafd8e63"><td class="memItemLeft" align="right" valign="top"><a id="a0d7e39448350ccbda11d425bfafd8e63"></a>
|
|
||||||
 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a0d7e39448350ccbda11d425bfafd8e63">~Adafruit_UBloxDDC</a> ()</td></tr>
|
|
||||||
<tr class="memdesc:a0d7e39448350ccbda11d425bfafd8e63"><td class="mdescLeft"> </td><td class="mdescRight">Destructor - frees allocated resources. <br /></td></tr>
|
|
||||||
<tr class="separator:a0d7e39448350ccbda11d425bfafd8e63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a8e8de7b4a6fa0bf548b3a9e7d7a0bc47"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47">begin</a> ()</td></tr>
|
|
||||||
<tr class="memdesc:a8e8de7b4a6fa0bf548b3a9e7d7a0bc47"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the GPS module and I2C interface. <a href="#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a8e8de7b4a6fa0bf548b3a9e7d7a0bc47"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a3ab820207d549ae4f222c13d1f9b2bd7"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a3ab820207d549ae4f222c13d1f9b2bd7">available</a> () override</td></tr>
|
|
||||||
<tr class="memdesc:a3ab820207d549ae4f222c13d1f9b2bd7"><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of bytes available for reading. <a href="#a3ab820207d549ae4f222c13d1f9b2bd7">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a3ab820207d549ae4f222c13d1f9b2bd7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ab6740ffe9727f1ab0500f42e4e56b4f6"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ab6740ffe9727f1ab0500f42e4e56b4f6">read</a> () override</td></tr>
|
|
||||||
<tr class="memdesc:ab6740ffe9727f1ab0500f42e4e56b4f6"><td class="mdescLeft"> </td><td class="mdescRight">Reads a single byte from the data stream. <a href="#ab6740ffe9727f1ab0500f42e4e56b4f6">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:ab6740ffe9727f1ab0500f42e4e56b4f6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ab80cf21423ef7a5471755ed777005d87"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ab80cf21423ef7a5471755ed777005d87">peek</a> () override</td></tr>
|
|
||||||
<tr class="memdesc:ab80cf21423ef7a5471755ed777005d87"><td class="mdescLeft"> </td><td class="mdescRight">Peek at the next available byte without removing it from the stream. <a href="#ab80cf21423ef7a5471755ed777005d87">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:ab80cf21423ef7a5471755ed777005d87"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a15c816aeabf456c901594b265cfa4c3f"><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a15c816aeabf456c901594b265cfa4c3f">write</a> (uint8_t) override</td></tr>
|
|
||||||
<tr class="memdesc:a15c816aeabf456c901594b265cfa4c3f"><td class="mdescLeft"> </td><td class="mdescRight">Write a single byte (required by Stream but not suitable for I2C) <a href="#a15c816aeabf456c901594b265cfa4c3f">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a15c816aeabf456c901594b265cfa4c3f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ac53068f3386d3e841ae88e6da1700ca2"><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ac53068f3386d3e841ae88e6da1700ca2">write</a> (const uint8_t *buffer, size_t size) override</td></tr>
|
|
||||||
<tr class="memdesc:ac53068f3386d3e841ae88e6da1700ca2"><td class="mdescLeft"> </td><td class="mdescRight">Write multiple bytes at once (required for I2C/DDC) <a href="#ac53068f3386d3e841ae88e6da1700ca2">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:ac53068f3386d3e841ae88e6da1700ca2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:ac98cfaa49ddf5f2b4502cb406575d52b"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#ac98cfaa49ddf5f2b4502cb406575d52b">readBytes</a> (uint8_t *buffer, uint16_t length)</td></tr>
|
|
||||||
<tr class="memdesc:ac98cfaa49ddf5f2b4502cb406575d52b"><td class="mdescLeft"> </td><td class="mdescRight">Read multiple bytes from the data stream. <a href="#ac98cfaa49ddf5f2b4502cb406575d52b">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:ac98cfaa49ddf5f2b4502cb406575d52b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a405cc264938a0ecdc2f6d060e61da7e4"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a405cc264938a0ecdc2f6d060e61da7e4">readMessage</a> (uint8_t *buffer, uint16_t maxLength)</td></tr>
|
|
||||||
<tr class="memdesc:a405cc264938a0ecdc2f6d060e61da7e4"><td class="mdescLeft"> </td><td class="mdescRight">Read a complete message from the device. <a href="#a405cc264938a0ecdc2f6d060e61da7e4">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a405cc264938a0ecdc2f6d060e61da7e4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
<tr class="memitem:a2a7b11759e0778d649e585092f663f4f"><td class="memItemLeft" align="right" valign="top">uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_blox_d_d_c.html#a2a7b11759e0778d649e585092f663f4f">readMessage</a> (uint16_t *messageLength)</td></tr>
|
|
||||||
<tr class="memdesc:a2a7b11759e0778d649e585092f663f4f"><td class="mdescLeft"> </td><td class="mdescRight">Read a message into the internal buffer and return a pointer to it. <a href="#a2a7b11759e0778d649e585092f663f4f">More...</a><br /></td></tr>
|
|
||||||
<tr class="separator:a2a7b11759e0778d649e585092f663f4f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
||||||
</table>
|
|
||||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
||||||
<div class="textblock"><p>Arduino library for interfacing with u-blox GPS/RTK modules over I2C. </p>
|
|
||||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
||||||
<a id="a1d3186a12d82023995200b7509f2fdd0"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a1d3186a12d82023995200b7509f2fdd0">◆ </a></span>Adafruit_UBloxDDC()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">Adafruit_UBloxDDC::Adafruit_UBloxDDC </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint8_t </td>
|
|
||||||
<td class="paramname"><em>address</em> = <code>0x42</code>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">TwoWire * </td>
|
|
||||||
<td class="paramname"><em>wire</em> = <code>&Wire</code> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Constructor. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">address</td><td>i2c address (default 0x42) </td></tr>
|
|
||||||
<tr><td class="paramname">wire</td><td>TwoWire instance (default &Wire) </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h2 class="groupheader">Member Function Documentation</h2>
|
|
||||||
<a id="a8e8de7b4a6fa0bf548b3a9e7d7a0bc47"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47">◆ </a></span>begin()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">bool Adafruit_UBloxDDC::begin </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Initializes the GPS module and I2C interface. </p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>True if GPS module responds, false on any failure </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a3ab820207d549ae4f222c13d1f9b2bd7"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a3ab820207d549ae4f222c13d1f9b2bd7">◆ </a></span>available()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="mlabels">
|
|
||||||
<tr>
|
|
||||||
<td class="mlabels-left">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int Adafruit_UBloxDDC::available </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td class="mlabels-right">
|
|
||||||
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Gets the number of bytes available for reading. </p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Number of bytes available, or 0 if no data or error </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ab6740ffe9727f1ab0500f42e4e56b4f6"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ab6740ffe9727f1ab0500f42e4e56b4f6">◆ </a></span>read()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="mlabels">
|
|
||||||
<tr>
|
|
||||||
<td class="mlabels-left">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int Adafruit_UBloxDDC::read </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td class="mlabels-right">
|
|
||||||
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Reads a single byte from the data stream. </p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>-1 if no data available or error, otherwise the byte read (0-255) </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ab80cf21423ef7a5471755ed777005d87"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ab80cf21423ef7a5471755ed777005d87">◆ </a></span>peek()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="mlabels">
|
|
||||||
<tr>
|
|
||||||
<td class="mlabels-left">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">int Adafruit_UBloxDDC::peek </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramname"></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td class="mlabels-right">
|
|
||||||
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Peek at the next available byte without removing it from the stream. </p>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>-1 if no data available or error, otherwise the byte (0-255) </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a15c816aeabf456c901594b265cfa4c3f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a15c816aeabf456c901594b265cfa4c3f">◆ </a></span>write() <span class="overload">[1/2]</span></h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="mlabels">
|
|
||||||
<tr>
|
|
||||||
<td class="mlabels-left">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">size_t Adafruit_UBloxDDC::write </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint8_t </td>
|
|
||||||
<td class="paramname"><em>val</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td class="mlabels-right">
|
|
||||||
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Write a single byte (required by Stream but not suitable for I2C) </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">val</td><td>Byte to write </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Always returns 0 as single-byte writes aren't supported on I2C </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ac53068f3386d3e841ae88e6da1700ca2"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ac53068f3386d3e841ae88e6da1700ca2">◆ </a></span>write() <span class="overload">[2/2]</span></h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="mlabels">
|
|
||||||
<tr>
|
|
||||||
<td class="mlabels-left">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">size_t Adafruit_UBloxDDC::write </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">const uint8_t * </td>
|
|
||||||
<td class="paramname"><em>buffer</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">size_t </td>
|
|
||||||
<td class="paramname"><em>size</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td class="mlabels-right">
|
|
||||||
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Write multiple bytes at once (required for I2C/DDC) </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">buffer</td><td>Pointer to data buffer </td></tr>
|
|
||||||
<tr><td class="paramname">size</td><td>Number of bytes to write </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Number of bytes written </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="ac98cfaa49ddf5f2b4502cb406575d52b"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#ac98cfaa49ddf5f2b4502cb406575d52b">◆ </a></span>readBytes()</h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">uint16_t Adafruit_UBloxDDC::readBytes </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint8_t * </td>
|
|
||||||
<td class="paramname"><em>buffer</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint16_t </td>
|
|
||||||
<td class="paramname"><em>length</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Read multiple bytes from the data stream. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">buffer</td><td>Pointer to buffer to store data </td></tr>
|
|
||||||
<tr><td class="paramname">length</td><td>Maximum number of bytes to read </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Number of bytes actually read, which may be less than requested </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a405cc264938a0ecdc2f6d060e61da7e4"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a405cc264938a0ecdc2f6d060e61da7e4">◆ </a></span>readMessage() <span class="overload">[1/2]</span></h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">uint16_t Adafruit_UBloxDDC::readMessage </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint8_t * </td>
|
|
||||||
<td class="paramname"><em>buffer</em>, </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="paramkey"></td>
|
|
||||||
<td></td>
|
|
||||||
<td class="paramtype">uint16_t </td>
|
|
||||||
<td class="paramname"><em>maxLength</em> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>)</td>
|
|
||||||
<td></td><td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Read a complete message from the device. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">buffer</td><td>Pointer to buffer to store message data </td></tr>
|
|
||||||
<tr><td class="paramname">maxLength</td><td>Maximum length of buffer </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Number of bytes read into the buffer </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<a id="a2a7b11759e0778d649e585092f663f4f"></a>
|
|
||||||
<h2 class="memtitle"><span class="permalink"><a href="#a2a7b11759e0778d649e585092f663f4f">◆ </a></span>readMessage() <span class="overload">[2/2]</span></h2>
|
|
||||||
|
|
||||||
<div class="memitem">
|
|
||||||
<div class="memproto">
|
|
||||||
<table class="memname">
|
|
||||||
<tr>
|
|
||||||
<td class="memname">uint8_t * Adafruit_UBloxDDC::readMessage </td>
|
|
||||||
<td>(</td>
|
|
||||||
<td class="paramtype">uint16_t * </td>
|
|
||||||
<td class="paramname"><em>messageLength</em></td><td>)</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div><div class="memdoc">
|
|
||||||
|
|
||||||
<p>Read a message into the internal buffer and return a pointer to it. </p>
|
|
||||||
<dl class="params"><dt>Parameters</dt><dd>
|
|
||||||
<table class="params">
|
|
||||||
<tr><td class="paramname">messageLength</td><td>Pointer to variable to store message length </td></tr>
|
|
||||||
</table>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to internal buffer containing the message </dd></dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
||||||
<li><a class="el" href="_adafruit___u_blox_d_d_c_8h_source.html">Adafruit_UBloxDDC.h</a></li>
|
|
||||||
<li><a class="el" href="_adafruit___u_blox_d_d_c_8cpp.html">Adafruit_UBloxDDC.cpp</a></li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 505 B |
|
|
@ -1,84 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Class Index</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Class Index</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="qindex"><a class="qindex" href="#letter_a">a</a> | <a class="qindex" href="#letter_u">u</a></div>
|
|
||||||
<table class="classindex">
|
|
||||||
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
|
|
||||||
</td><td valign="top"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a>   </td><td></td></tr>
|
|
||||||
<tr><td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  u  </div></td></tr></table>
|
|
||||||
</td><td></td></tr>
|
|
||||||
<tr><td valign="top"><a class="el" href="class_adafruit___u_blox_d_d_c.html">Adafruit_UBloxDDC</a>   </td><td></td></tr>
|
|
||||||
<tr><td></td><td valign="top"><a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html">UBX_CFG_PRT_t</a>   </td><td></td></tr>
|
|
||||||
<tr><td></td><td></td><td></td></tr>
|
|
||||||
</table>
|
|
||||||
<div class="qindex"><a class="qindex" href="#letter_a">a</a> | <a class="qindex" href="#letter_u">u</a></div>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
BIN
html/closed.png
|
Before Width: | Height: | Size: 132 B |
BIN
html/doc.png
|
Before Width: | Height: | Size: 746 B |
1596
html/doxygen.css
BIN
html/doxygen.png
|
Before Width: | Height: | Size: 3.7 KiB |
|
|
@ -1,97 +0,0 @@
|
||||||
function toggleVisibility(linkObj)
|
|
||||||
{
|
|
||||||
var base = $(linkObj).attr('id');
|
|
||||||
var summary = $('#'+base+'-summary');
|
|
||||||
var content = $('#'+base+'-content');
|
|
||||||
var trigger = $('#'+base+'-trigger');
|
|
||||||
var src=$(trigger).attr('src');
|
|
||||||
if (content.is(':visible')===true) {
|
|
||||||
content.hide();
|
|
||||||
summary.show();
|
|
||||||
$(linkObj).addClass('closed').removeClass('opened');
|
|
||||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
|
||||||
} else {
|
|
||||||
content.show();
|
|
||||||
summary.hide();
|
|
||||||
$(linkObj).removeClass('closed').addClass('opened');
|
|
||||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateStripes()
|
|
||||||
{
|
|
||||||
$('table.directory tr').
|
|
||||||
removeClass('even').filter(':visible:even').addClass('even');
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleLevel(level)
|
|
||||||
{
|
|
||||||
$('table.directory tr').each(function() {
|
|
||||||
var l = this.id.split('_').length-1;
|
|
||||||
var i = $('#img'+this.id.substring(3));
|
|
||||||
var a = $('#arr'+this.id.substring(3));
|
|
||||||
if (l<level+1) {
|
|
||||||
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
|
||||||
a.html('▼');
|
|
||||||
$(this).show();
|
|
||||||
} else if (l==level+1) {
|
|
||||||
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
|
||||||
a.html('►');
|
|
||||||
$(this).show();
|
|
||||||
} else {
|
|
||||||
$(this).hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
updateStripes();
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleFolder(id)
|
|
||||||
{
|
|
||||||
// the clicked row
|
|
||||||
var currentRow = $('#row_'+id);
|
|
||||||
|
|
||||||
// all rows after the clicked row
|
|
||||||
var rows = currentRow.nextAll("tr");
|
|
||||||
|
|
||||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
|
||||||
|
|
||||||
// only match elements AFTER this one (can't hide elements before)
|
|
||||||
var childRows = rows.filter(function() { return this.id.match(re); });
|
|
||||||
|
|
||||||
// first row is visible we are HIDING
|
|
||||||
if (childRows.filter(':first').is(':visible')===true) {
|
|
||||||
// replace down arrow by right arrow for current row
|
|
||||||
var currentRowSpans = currentRow.find("span");
|
|
||||||
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
|
||||||
currentRowSpans.filter(".arrow").html('►');
|
|
||||||
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
|
||||||
} else { // we are SHOWING
|
|
||||||
// replace right arrow by down arrow for current row
|
|
||||||
var currentRowSpans = currentRow.find("span");
|
|
||||||
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
|
||||||
currentRowSpans.filter(".arrow").html('▼');
|
|
||||||
// replace down arrows by right arrows for child rows
|
|
||||||
var childRowsSpans = childRows.find("span");
|
|
||||||
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
|
||||||
childRowsSpans.filter(".arrow").html('►');
|
|
||||||
childRows.show(); //show all children
|
|
||||||
}
|
|
||||||
updateStripes();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function toggleInherit(id)
|
|
||||||
{
|
|
||||||
var rows = $('tr.inherit.'+id);
|
|
||||||
var img = $('tr.inherit_header.'+id+' img');
|
|
||||||
var src = $(img).attr('src');
|
|
||||||
if (rows.filter(':first').is(':visible')===true) {
|
|
||||||
rows.css('display','none');
|
|
||||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
|
||||||
} else {
|
|
||||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
|
||||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: File List</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">File List</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
|
|
||||||
<table class="directory">
|
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_adafruit__u_blox__typedef_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit__u_blox__typedef_8h.html" target="_self">Adafruit_uBlox_typedef.h</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_adafruit__u_blox___ubx___messages_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit__u_blox___ubx___messages_8h.html" target="_self">Adafruit_uBlox_Ubx_Messages.h</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="_adafruit___u_blox_d_d_c_8cpp.html" target="_self">Adafruit_UBloxDDC.cpp</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_adafruit___u_blox_d_d_c_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit___u_blox_d_d_c_8h.html" target="_self">Adafruit_UBloxDDC.h</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="_adafruit___u_b_x_8cpp.html" target="_self">Adafruit_UBX.cpp</a></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="_adafruit___u_b_x_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit___u_b_x_8h.html" target="_self">Adafruit_UBX.h</a></td><td class="desc"></td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- directory -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 616 B |
|
Before Width: | Height: | Size: 597 B |
|
|
@ -1,213 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Class Members</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
|
|
||||||
|
|
||||||
<h3><a id="index_a"></a>- a -</h3><ul>
|
|
||||||
<li>Adafruit_UBloxDDC()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a1d3186a12d82023995200b7509f2fdd0">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>Adafruit_UBX()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a7b590e56d1635e2870a69e67b1e41a1a">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>available()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a3ab820207d549ae4f222c13d1f9b2bd7">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_b"></a>- b -</h3><ul>
|
|
||||||
<li>baudRate
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#aa30114a64c30fbbab6f97894ae2a91fc">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>begin()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47">Adafruit_UBloxDDC</a>
|
|
||||||
, <a class="el" href="class_adafruit___u_b_x.html#a373c93599ca9515b58fc8a038967e755">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_c"></a>- c -</h3><ul>
|
|
||||||
<li>checkMessages()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a3febea7a538bf32960814b2d782f0f8b">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_f"></a>- f -</h3><ul>
|
|
||||||
<li>fields
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#aa8ae7f835d131b4211dfcad9c9625195">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>flags
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#af6831f3beca708d3af38a143e09d9c75">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_i"></a>- i -</h3><ul>
|
|
||||||
<li>inProtoMask
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a5605d35661306375cb037078f2460f7f">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_m"></a>- m -</h3><ul>
|
|
||||||
<li>mode
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a62220062ed5f68284cdfb7f23cae77c2">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_o"></a>- o -</h3><ul>
|
|
||||||
<li>onUBXMessage
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a2901fce2f2f3ecf4652069fdf97e99e3">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>outProtoMask
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a8687323c8289878634ba8e7c8c0a89da">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_p"></a>- p -</h3><ul>
|
|
||||||
<li>peek()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#ab80cf21423ef7a5471755ed777005d87">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>portID
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#af16f4e05b02f8a50f6a967b668a8b558">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_r"></a>- r -</h3><ul>
|
|
||||||
<li>raw
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#adbf6dbaafb00a3b49093db91441a9025">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>read()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#ab6740ffe9727f1ab0500f42e4e56b4f6">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>readBytes()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#ac98cfaa49ddf5f2b4502cb406575d52b">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>readMessage()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a405cc264938a0ecdc2f6d060e61da7e4">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>reserved1
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a1338889d75e27f4927a19719f550757a">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>reserved2
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a26ea918f34dfc279c009edc2e4a57830">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_s"></a>- s -</h3><ul>
|
|
||||||
<li>sendMessage()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#aa0e1fbce664c381544821eda9c17170c">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>sendMessageWithAck()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a5c85fa48a8b11d05ce597ea4ecf23572">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>setMessageCallback()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a2ef23536037a2b56b7adf56bcf3c0251">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>setUBXOnly()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#ae87653ac10a272dd22b94011b5547cc0">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_t"></a>- t -</h3><ul>
|
|
||||||
<li>txReady
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#aab821b1e10e95cb253d447ebe76c786c">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
|
||||||
<li>verbose_debug
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a79cfeedae7b7ffc2b05b94cfc327ab78">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_w"></a>- w -</h3><ul>
|
|
||||||
<li>write()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a15c816aeabf456c901594b265cfa4c3f">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<h3><a id="index_0x7e"></a>- ~ -</h3><ul>
|
|
||||||
<li>~Adafruit_UBloxDDC()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a0d7e39448350ccbda11d425bfafd8e63">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>~Adafruit_UBX()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#ae5cc4a4b20f2f31798be72c88b586523">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Class Members - Functions</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
 <ul>
|
|
||||||
<li>Adafruit_UBloxDDC()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a1d3186a12d82023995200b7509f2fdd0">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>Adafruit_UBX()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a7b590e56d1635e2870a69e67b1e41a1a">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>available()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a3ab820207d549ae4f222c13d1f9b2bd7">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>begin()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47">Adafruit_UBloxDDC</a>
|
|
||||||
, <a class="el" href="class_adafruit___u_b_x.html#a373c93599ca9515b58fc8a038967e755">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>checkMessages()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a3febea7a538bf32960814b2d782f0f8b">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>peek()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#ab80cf21423ef7a5471755ed777005d87">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>read()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#ab6740ffe9727f1ab0500f42e4e56b4f6">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>readBytes()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#ac98cfaa49ddf5f2b4502cb406575d52b">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>readMessage()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a405cc264938a0ecdc2f6d060e61da7e4">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>sendMessage()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#aa0e1fbce664c381544821eda9c17170c">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>sendMessageWithAck()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a5c85fa48a8b11d05ce597ea4ecf23572">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>setMessageCallback()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a2ef23536037a2b56b7adf56bcf3c0251">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>setUBXOnly()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#ae87653ac10a272dd22b94011b5547cc0">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>write()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a15c816aeabf456c901594b265cfa4c3f">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>~Adafruit_UBloxDDC()
|
|
||||||
: <a class="el" href="class_adafruit___u_blox_d_d_c.html#a0d7e39448350ccbda11d425bfafd8e63">Adafruit_UBloxDDC</a>
|
|
||||||
</li>
|
|
||||||
<li>~Adafruit_UBX()
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#ae5cc4a4b20f2f31798be72c88b586523">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Class Members - Variables</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
 <ul>
|
|
||||||
<li>baudRate
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#aa30114a64c30fbbab6f97894ae2a91fc">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>fields
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#aa8ae7f835d131b4211dfcad9c9625195">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>flags
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#af6831f3beca708d3af38a143e09d9c75">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>inProtoMask
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a5605d35661306375cb037078f2460f7f">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>mode
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a62220062ed5f68284cdfb7f23cae77c2">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>onUBXMessage
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a2901fce2f2f3ecf4652069fdf97e99e3">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
<li>outProtoMask
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a8687323c8289878634ba8e7c8c0a89da">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>portID
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#af16f4e05b02f8a50f6a967b668a8b558">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>raw
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#adbf6dbaafb00a3b49093db91441a9025">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>reserved1
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a1338889d75e27f4927a19719f550757a">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>reserved2
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#a26ea918f34dfc279c009edc2e4a57830">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>txReady
|
|
||||||
: <a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html#aab821b1e10e95cb253d447ebe76c786c">UBX_CFG_PRT_t</a>
|
|
||||||
</li>
|
|
||||||
<li>verbose_debug
|
|
||||||
: <a class="el" href="class_adafruit___u_b_x.html#a79cfeedae7b7ffc2b05b94cfc327ab78">Adafruit_UBX</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: File Members</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
|
|
||||||
<li>UBX_ACK_ACK
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a9863f96e55b0bd012a94613a086515c7">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_ACK_NAK
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a708b6ea6923c64a09c24502cdcac3a9b">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_NMEA
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a6210c02436bf457745a27c9edcf8a15e">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_RTCM
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a4f3f0e692df4fa4f0328eb5a4fe34ee6">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_RTCM3
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#adf4de42aaab8bfa4bf0f417ed7fa8645">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_UBX
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#ac8736b21efe1e6ffd28faffb977ce520">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_SYNC_CHAR_1
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#ab9b7171ae257a615aa33d2510e484554">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_SYNC_CHAR_2
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a18c4bdc24d4cbedd9214cfc352b6f16c">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXCfgMessageId
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXMessageCallback
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXMessageClass
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXPortId
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXSendStatus
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXUARTMode
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: File Members</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
 <ul>
|
|
||||||
<li>UBX_ACK_ACK
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a9863f96e55b0bd012a94613a086515c7">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_ACK_NAK
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a708b6ea6923c64a09c24502cdcac3a9b">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_NMEA
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a6210c02436bf457745a27c9edcf8a15e">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_RTCM
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a4f3f0e692df4fa4f0328eb5a4fe34ee6">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_RTCM3
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#adf4de42aaab8bfa4bf0f417ed7fa8645">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_PROTOCOL_UBX
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#ac8736b21efe1e6ffd28faffb977ce520">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_SYNC_CHAR_1
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#ab9b7171ae257a615aa33d2510e484554">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBX_SYNC_CHAR_2
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a18c4bdc24d4cbedd9214cfc352b6f16c">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: File Members</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
 <ul>
|
|
||||||
<li>UBXCfgMessageId
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXMessageClass
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXPortId
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXSendStatus
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
<li>UBXUARTMode
|
|
||||||
: <a class="el" href="_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf">Adafruit_uBlox_typedef.h</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: File Members</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="contents">
|
|
||||||
 <ul>
|
|
||||||
<li>UBXMessageCallback
|
|
||||||
: <a class="el" href="_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12">Adafruit_UBX.h</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Class Hierarchy</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Class Hierarchy</div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
|
|
||||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
|
||||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_adafruit___u_b_x.html" target="_self">Adafruit_UBX</a></td><td class="desc">Class for parsing UBX protocol messages from u-blox GPS/RTK modules </td></tr>
|
|
||||||
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span class="icona"><span class="icon">C</span></span><b>Stream</b></td><td class="desc"></td></tr>
|
|
||||||
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_adafruit___u_blox_d_d_c.html" target="_self">Adafruit_UBloxDDC</a></td><td class="desc">Arduino library for interfacing with u-blox GPS/RTK modules over I2C </td></tr>
|
|
||||||
<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="union_u_b_x___c_f_g___p_r_t__t.html" target="_self">UBX_CFG_PRT_t</a></td><td class="desc"></td></tr>
|
|
||||||
</table>
|
|
||||||
</div><!-- directory -->
|
|
||||||
</div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
<title>Adafruit uBlox Library: Arduino library for UBX protocol from u-blox GPS/RTK modules</title>
|
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="dynsections.js"></script>
|
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
||||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
||||||
<script type="text/javascript" src="search/search.js"></script>
|
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
||||||
<div id="titlearea">
|
|
||||||
<table cellspacing="0" cellpadding="0">
|
|
||||||
<tbody>
|
|
||||||
<tr style="height: 56px;">
|
|
||||||
<td id="projectalign" style="padding-left: 0.5em;">
|
|
||||||
<div id="projectname">Adafruit uBlox Library
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- end header part -->
|
|
||||||
<!-- Generated by Doxygen 1.8.13 -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" src="menudata.js"></script>
|
|
||||||
<script type="text/javascript" src="menu.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function() {
|
|
||||||
initMenu('',true,false,'search.php','Search');
|
|
||||||
$(document).ready(function() { init_search(); });
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div id="main-nav"></div>
|
|
||||||
</div><!-- top -->
|
|
||||||
<!-- window showing the filter options -->
|
|
||||||
<div id="MSearchSelectWindow"
|
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) -->
|
|
||||||
<div id="MSearchResultsWindow">
|
|
||||||
<iframe src="javascript:void(0)" frameborder="0"
|
|
||||||
name="MSearchResults" id="MSearchResults">
|
|
||||||
</iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<div class="headertitle">
|
|
||||||
<div class="title">Arduino library for UBX protocol from u-blox GPS/RTK modules </div> </div>
|
|
||||||
</div><!--header-->
|
|
||||||
<div class="contents">
|
|
||||||
<div class="textblock"><h1><a class="anchor" id="intro_sec"></a>
|
|
||||||
Introduction</h1>
|
|
||||||
<p>This is a library for parsing UBX protocol messages from u-blox GPS/RTK modules. It works with any Stream-based interface including UART and DDC (I2C).</p>
|
|
||||||
<p>Designed specifically to work with u-blox GPS/RTK modules like NEO-M8P, ZED-F9P, etc.</p>
|
|
||||||
<h1><a class="anchor" id="author"></a>
|
|
||||||
Author</h1>
|
|
||||||
<p>Written by Limor Fried/Ladyada for Adafruit Industries.</p>
|
|
||||||
<h1><a class="anchor" id="license"></a>
|
|
||||||
License</h1>
|
|
||||||
<p>MIT license, all text above must be included in any redistribution </p>
|
|
||||||
</div></div><!-- contents -->
|
|
||||||
<!-- start footer part -->
|
|
||||||
<hr class="footer"/><address class="footer"><small>
|
|
||||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
||||||
</a> 1.8.13
|
|
||||||
</small></address>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
87
html/jquery.js
vendored
26
html/menu.js
|
|
@ -1,26 +0,0 @@
|
||||||
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
|
||||||
function makeTree(data,relPath) {
|
|
||||||
var result='';
|
|
||||||
if ('children' in data) {
|
|
||||||
result+='<ul>';
|
|
||||||
for (var i in data.children) {
|
|
||||||
result+='<li><a href="'+relPath+data.children[i].url+'">'+
|
|
||||||
data.children[i].text+'</a>'+
|
|
||||||
makeTree(data.children[i],relPath)+'</li>';
|
|
||||||
}
|
|
||||||
result+='</ul>';
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#main-nav').append(makeTree(menudata,relPath));
|
|
||||||
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
|
|
||||||
if (searchEnabled) {
|
|
||||||
if (serverSide) {
|
|
||||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
|
|
||||||
} else {
|
|
||||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$('#main-menu').smartmenus();
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
var menudata={children:[
|
|
||||||
{text:"Main Page",url:"index.html"},
|
|
||||||
{text:"Classes",url:"annotated.html",children:[
|
|
||||||
{text:"Class List",url:"annotated.html"},
|
|
||||||
{text:"Class Index",url:"classes.html"},
|
|
||||||
{text:"Class Hierarchy",url:"hierarchy.html"},
|
|
||||||
{text:"Class Members",url:"functions.html",children:[
|
|
||||||
{text:"All",url:"functions.html",children:[
|
|
||||||
{text:"a",url:"functions.html#index_a"},
|
|
||||||
{text:"b",url:"functions.html#index_b"},
|
|
||||||
{text:"c",url:"functions.html#index_c"},
|
|
||||||
{text:"f",url:"functions.html#index_f"},
|
|
||||||
{text:"i",url:"functions.html#index_i"},
|
|
||||||
{text:"m",url:"functions.html#index_m"},
|
|
||||||
{text:"o",url:"functions.html#index_o"},
|
|
||||||
{text:"p",url:"functions.html#index_p"},
|
|
||||||
{text:"r",url:"functions.html#index_r"},
|
|
||||||
{text:"s",url:"functions.html#index_s"},
|
|
||||||
{text:"t",url:"functions.html#index_t"},
|
|
||||||
{text:"v",url:"functions.html#index_v"},
|
|
||||||
{text:"w",url:"functions.html#index_w"},
|
|
||||||
{text:"~",url:"functions.html#index_0x7e"}]},
|
|
||||||
{text:"Functions",url:"functions_func.html"},
|
|
||||||
{text:"Variables",url:"functions_vars.html"}]}]},
|
|
||||||
{text:"Files",url:"files.html",children:[
|
|
||||||
{text:"File List",url:"files.html"},
|
|
||||||
{text:"File Members",url:"globals.html",children:[
|
|
||||||
{text:"All",url:"globals.html"},
|
|
||||||
{text:"Typedefs",url:"globals_type.html"},
|
|
||||||
{text:"Enumerations",url:"globals_enum.html"},
|
|
||||||
{text:"Macros",url:"globals_defs.html"}]}]}]}
|
|
||||||
BIN
html/nav_f.png
|
Before Width: | Height: | Size: 153 B |
BIN
html/nav_g.png
|
Before Width: | Height: | Size: 95 B |
BIN
html/nav_h.png
|
Before Width: | Height: | Size: 98 B |
BIN
html/open.png
|
Before Width: | Height: | Size: 123 B |
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['adafruit_5fublox_5ftypedef_2eh',['Adafruit_uBlox_typedef.h',['../_adafruit__u_blox__typedef_8h.html',1,'']]],
|
|
||||||
['adafruit_5fublox_5fubx_5fmessages_2eh',['Adafruit_uBlox_Ubx_Messages.h',['../_adafruit__u_blox___ubx___messages_8h.html',1,'']]],
|
|
||||||
['adafruit_5fubloxddc',['Adafruit_UBloxDDC',['../class_adafruit___u_blox_d_d_c.html',1,'Adafruit_UBloxDDC'],['../class_adafruit___u_blox_d_d_c.html#a1d3186a12d82023995200b7509f2fdd0',1,'Adafruit_UBloxDDC::Adafruit_UBloxDDC()']]],
|
|
||||||
['adafruit_5fubloxddc_2ecpp',['Adafruit_UBloxDDC.cpp',['../_adafruit___u_blox_d_d_c_8cpp.html',1,'']]],
|
|
||||||
['adafruit_5fubloxddc_2eh',['Adafruit_UBloxDDC.h',['../_adafruit___u_blox_d_d_c_8h.html',1,'']]],
|
|
||||||
['adafruit_5fubx',['Adafruit_UBX',['../class_adafruit___u_b_x.html',1,'Adafruit_UBX'],['../class_adafruit___u_b_x.html#a7b590e56d1635e2870a69e67b1e41a1a',1,'Adafruit_UBX::Adafruit_UBX()']]],
|
|
||||||
['adafruit_5fubx_2ecpp',['Adafruit_UBX.cpp',['../_adafruit___u_b_x_8cpp.html',1,'']]],
|
|
||||||
['adafruit_5fubx_2eh',['Adafruit_UBX.h',['../_adafruit___u_b_x_8h.html',1,'']]],
|
|
||||||
['available',['available',['../class_adafruit___u_blox_d_d_c.html#a3ab820207d549ae4f222c13d1f9b2bd7',1,'Adafruit_UBloxDDC']]],
|
|
||||||
['arduino_20library_20for_20ubx_20protocol_20from_20u_2dblox_20gps_2frtk_20modules',['Arduino library for UBX protocol from u-blox GPS/RTK modules',['../index.html',1,'']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_1.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['baudrate',['baudRate',['../union_u_b_x___c_f_g___p_r_t__t.html#aa30114a64c30fbbab6f97894ae2a91fc',1,'UBX_CFG_PRT_t']]],
|
|
||||||
['begin',['begin',['../class_adafruit___u_blox_d_d_c.html#a8e8de7b4a6fa0bf548b3a9e7d7a0bc47',1,'Adafruit_UBloxDDC::begin()'],['../class_adafruit___u_b_x.html#a373c93599ca9515b58fc8a038967e755',1,'Adafruit_UBX::begin()']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_2.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['checkmessages',['checkMessages',['../class_adafruit___u_b_x.html#a3febea7a538bf32960814b2d782f0f8b',1,'Adafruit_UBX']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_3.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['fields',['fields',['../union_u_b_x___c_f_g___p_r_t__t.html#aa8ae7f835d131b4211dfcad9c9625195',1,'UBX_CFG_PRT_t']]],
|
|
||||||
['flags',['flags',['../union_u_b_x___c_f_g___p_r_t__t.html#af6831f3beca708d3af38a143e09d9c75',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_4.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['inprotomask',['inProtoMask',['../union_u_b_x___c_f_g___p_r_t__t.html#a5605d35661306375cb037078f2460f7f',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_5.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['mode',['mode',['../union_u_b_x___c_f_g___p_r_t__t.html#a62220062ed5f68284cdfb7f23cae77c2',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_6.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['onubxmessage',['onUBXMessage',['../class_adafruit___u_b_x.html#a2901fce2f2f3ecf4652069fdf97e99e3',1,'Adafruit_UBX']]],
|
|
||||||
['outprotomask',['outProtoMask',['../union_u_b_x___c_f_g___p_r_t__t.html#a8687323c8289878634ba8e7c8c0a89da',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_7.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['peek',['peek',['../class_adafruit___u_blox_d_d_c.html#ab80cf21423ef7a5471755ed777005d87',1,'Adafruit_UBloxDDC']]],
|
|
||||||
['portid',['portID',['../union_u_b_x___c_f_g___p_r_t__t.html#af16f4e05b02f8a50f6a967b668a8b558',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_8.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['raw',['raw',['../union_u_b_x___c_f_g___p_r_t__t.html#adbf6dbaafb00a3b49093db91441a9025',1,'UBX_CFG_PRT_t']]],
|
|
||||||
['read',['read',['../class_adafruit___u_blox_d_d_c.html#ab6740ffe9727f1ab0500f42e4e56b4f6',1,'Adafruit_UBloxDDC']]],
|
|
||||||
['readbytes',['readBytes',['../class_adafruit___u_blox_d_d_c.html#ac98cfaa49ddf5f2b4502cb406575d52b',1,'Adafruit_UBloxDDC']]],
|
|
||||||
['readmessage',['readMessage',['../class_adafruit___u_blox_d_d_c.html#a405cc264938a0ecdc2f6d060e61da7e4',1,'Adafruit_UBloxDDC::readMessage(uint8_t *buffer, uint16_t maxLength)'],['../class_adafruit___u_blox_d_d_c.html#a2a7b11759e0778d649e585092f663f4f',1,'Adafruit_UBloxDDC::readMessage(uint16_t *messageLength)']]],
|
|
||||||
['reserved1',['reserved1',['../union_u_b_x___c_f_g___p_r_t__t.html#a1338889d75e27f4927a19719f550757a',1,'UBX_CFG_PRT_t']]],
|
|
||||||
['reserved2',['reserved2',['../union_u_b_x___c_f_g___p_r_t__t.html#a26ea918f34dfc279c009edc2e4a57830',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_9.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['sendmessage',['sendMessage',['../class_adafruit___u_b_x.html#aa0e1fbce664c381544821eda9c17170c',1,'Adafruit_UBX']]],
|
|
||||||
['sendmessagewithack',['sendMessageWithAck',['../class_adafruit___u_b_x.html#a5c85fa48a8b11d05ce597ea4ecf23572',1,'Adafruit_UBX']]],
|
|
||||||
['setmessagecallback',['setMessageCallback',['../class_adafruit___u_b_x.html#a2ef23536037a2b56b7adf56bcf3c0251',1,'Adafruit_UBX']]],
|
|
||||||
['setubxonly',['setUBXOnly',['../class_adafruit___u_b_x.html#ae87653ac10a272dd22b94011b5547cc0',1,'Adafruit_UBX']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_a.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['txready',['txReady',['../union_u_b_x___c_f_g___p_r_t__t.html#aab821b1e10e95cb253d447ebe76c786c',1,'UBX_CFG_PRT_t']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_b.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['ubx_5fack_5fack',['UBX_ACK_ACK',['../_adafruit___u_b_x_8h.html#a9863f96e55b0bd012a94613a086515c7',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubx_5fack_5fnak',['UBX_ACK_NAK',['../_adafruit___u_b_x_8h.html#a708b6ea6923c64a09c24502cdcac3a9b',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubx_5fcfg_5fprt_5ft',['UBX_CFG_PRT_t',['../union_u_b_x___c_f_g___p_r_t__t.html',1,'']]],
|
|
||||||
['ubx_5fprotocol_5fnmea',['UBX_PROTOCOL_NMEA',['../_adafruit__u_blox__typedef_8h.html#a6210c02436bf457745a27c9edcf8a15e',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fprotocol_5frtcm',['UBX_PROTOCOL_RTCM',['../_adafruit__u_blox__typedef_8h.html#a4f3f0e692df4fa4f0328eb5a4fe34ee6',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fprotocol_5frtcm3',['UBX_PROTOCOL_RTCM3',['../_adafruit__u_blox__typedef_8h.html#adf4de42aaab8bfa4bf0f417ed7fa8645',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fprotocol_5fubx',['UBX_PROTOCOL_UBX',['../_adafruit__u_blox__typedef_8h.html#ac8736b21efe1e6ffd28faffb977ce520',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fsync_5fchar_5f1',['UBX_SYNC_CHAR_1',['../_adafruit___u_b_x_8h.html#ab9b7171ae257a615aa33d2510e484554',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubx_5fsync_5fchar_5f2',['UBX_SYNC_CHAR_2',['../_adafruit___u_b_x_8h.html#a18c4bdc24d4cbedd9214cfc352b6f16c',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubxcfgmessageid',['UBXCfgMessageId',['../_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxmessagecallback',['UBXMessageCallback',['../_adafruit___u_b_x_8h.html#a0a0ecf74350f410cba0f0a0efd312d12',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubxmessageclass',['UBXMessageClass',['../_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxportid',['UBXPortId',['../_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxsendstatus',['UBXSendStatus',['../_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxuartmode',['UBXUARTMode',['../_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf',1,'Adafruit_uBlox_typedef.h']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_c.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['verbose_5fdebug',['verbose_debug',['../class_adafruit___u_b_x.html#a79cfeedae7b7ffc2b05b94cfc327ab78',1,'Adafruit_UBX']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_d.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['write',['write',['../class_adafruit___u_blox_d_d_c.html#a15c816aeabf456c901594b265cfa4c3f',1,'Adafruit_UBloxDDC::write(uint8_t) override'],['../class_adafruit___u_blox_d_d_c.html#ac53068f3386d3e841ae88e6da1700ca2',1,'Adafruit_UBloxDDC::write(const uint8_t *buffer, size_t size) override']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="all_e.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['_7eadafruit_5fubloxddc',['~Adafruit_UBloxDDC',['../class_adafruit___u_blox_d_d_c.html#a0d7e39448350ccbda11d425bfafd8e63',1,'Adafruit_UBloxDDC']]],
|
|
||||||
['_7eadafruit_5fubx',['~Adafruit_UBX',['../class_adafruit___u_b_x.html#ae5cc4a4b20f2f31798be72c88b586523',1,'Adafruit_UBX']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="classes_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['adafruit_5fubloxddc',['Adafruit_UBloxDDC',['../class_adafruit___u_blox_d_d_c.html',1,'']]],
|
|
||||||
['adafruit_5fubx',['Adafruit_UBX',['../class_adafruit___u_b_x.html',1,'']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="classes_1.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['ubx_5fcfg_5fprt_5ft',['UBX_CFG_PRT_t',['../union_u_b_x___c_f_g___p_r_t__t.html',1,'']]]
|
|
||||||
];
|
|
||||||
|
Before Width: | Height: | Size: 273 B |
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="defines_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['ubx_5fack_5fack',['UBX_ACK_ACK',['../_adafruit___u_b_x_8h.html#a9863f96e55b0bd012a94613a086515c7',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubx_5fack_5fnak',['UBX_ACK_NAK',['../_adafruit___u_b_x_8h.html#a708b6ea6923c64a09c24502cdcac3a9b',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubx_5fprotocol_5fnmea',['UBX_PROTOCOL_NMEA',['../_adafruit__u_blox__typedef_8h.html#a6210c02436bf457745a27c9edcf8a15e',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fprotocol_5frtcm',['UBX_PROTOCOL_RTCM',['../_adafruit__u_blox__typedef_8h.html#a4f3f0e692df4fa4f0328eb5a4fe34ee6',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fprotocol_5frtcm3',['UBX_PROTOCOL_RTCM3',['../_adafruit__u_blox__typedef_8h.html#adf4de42aaab8bfa4bf0f417ed7fa8645',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fprotocol_5fubx',['UBX_PROTOCOL_UBX',['../_adafruit__u_blox__typedef_8h.html#ac8736b21efe1e6ffd28faffb977ce520',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubx_5fsync_5fchar_5f1',['UBX_SYNC_CHAR_1',['../_adafruit___u_b_x_8h.html#ab9b7171ae257a615aa33d2510e484554',1,'Adafruit_UBX.h']]],
|
|
||||||
['ubx_5fsync_5fchar_5f2',['UBX_SYNC_CHAR_2',['../_adafruit___u_b_x_8h.html#a18c4bdc24d4cbedd9214cfc352b6f16c',1,'Adafruit_UBX.h']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="enums_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['ubxcfgmessageid',['UBXCfgMessageId',['../_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxmessageclass',['UBXMessageClass',['../_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxportid',['UBXPortId',['../_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxsendstatus',['UBXSendStatus',['../_adafruit__u_blox__typedef_8h.html#ae70fb0a16a62be1c77c8627265992601',1,'Adafruit_uBlox_typedef.h']]],
|
|
||||||
['ubxuartmode',['UBXUARTMode',['../_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf',1,'Adafruit_uBlox_typedef.h']]]
|
|
||||||
];
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html><head><title></title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
||||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
|
||||||
<script type="text/javascript" src="files_0.js"></script>
|
|
||||||
<script type="text/javascript" src="search.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class="SRPage">
|
|
||||||
<div id="SRIndex">
|
|
||||||
<div class="SRStatus" id="Loading">Loading...</div>
|
|
||||||
<div id="SRResults"></div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
createResults();
|
|
||||||
--></script>
|
|
||||||
<div class="SRStatus" id="Searching">Searching...</div>
|
|
||||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
||||||
<script type="text/javascript"><!--
|
|
||||||
document.getElementById("Loading").style.display="none";
|
|
||||||
document.getElementById("NoMatches").style.display="none";
|
|
||||||
var searchResults = new SearchResults("searchResults");
|
|
||||||
searchResults.Search();
|
|
||||||
--></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
var searchData=
|
|
||||||
[
|
|
||||||
['adafruit_5fublox_5ftypedef_2eh',['Adafruit_uBlox_typedef.h',['../_adafruit__u_blox__typedef_8h.html',1,'']]],
|
|
||||||
['adafruit_5fublox_5fubx_5fmessages_2eh',['Adafruit_uBlox_Ubx_Messages.h',['../_adafruit__u_blox___ubx___messages_8h.html',1,'']]],
|
|
||||||
['adafruit_5fubloxddc_2ecpp',['Adafruit_UBloxDDC.cpp',['../_adafruit___u_blox_d_d_c_8cpp.html',1,'']]],
|
|
||||||
['adafruit_5fubloxddc_2eh',['Adafruit_UBloxDDC.h',['../_adafruit___u_blox_d_d_c_8h.html',1,'']]],
|
|
||||||
['adafruit_5fubx_2ecpp',['Adafruit_UBX.cpp',['../_adafruit___u_b_x_8cpp.html',1,'']]],
|
|
||||||
['adafruit_5fubx_2eh',['Adafruit_UBX.h',['../_adafruit___u_b_x_8h.html',1,'']]]
|
|
||||||
];
|
|
||||||