Compare commits

..

2 commits

Author SHA1 Message Date
Doxygen CI
329548ac94 Deploy docs to GitHub Pages from commit 57c7b6cb03
Commit: 57c7b6cb03
GitHub Actions run: 16628931418
2025-07-30 17:01:41 +00:00
Doxygen CI
2626d65647 Deploy docs to GitHub Pages from commit 2ffb9de69b
Commit: 2ffb9de69b
GitHub Actions run: 16452982692
2025-07-30 16:45:07 +00:00
158 changed files with 7725 additions and 1607 deletions

View file

@ -1,46 +0,0 @@
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**

View file

@ -1,26 +0,0 @@
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.

View file

@ -1,32 +0,0 @@
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
View file

@ -1,4 +0,0 @@
# Our handy .gitignore for automation ease
Doxyfile*
doxygen_sqlite3.db
html

1
.nojekyll Normal file
View file

@ -0,0 +1 @@

View file

@ -1,481 +0,0 @@
/*!
* @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);
}

View file

@ -1,110 +0,0 @@
/*!
* @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

View file

@ -1,220 +0,0 @@
/*!
* @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;
}

View file

@ -1,72 +0,0 @@
/*!
* @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

View file

@ -1,58 +0,0 @@
/*!
* @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

View file

@ -1,108 +0,0 @@
/*!
* @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
View file

@ -1,21 +0,0 @@
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.

View file

@ -1,13 +0,0 @@
# Adafruit uBlox Library [![Build Status](https://github.com/adafruit/Adafruit_uBlox/workflows/Arduino%20Library%20CI/badge.svg)](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

View file

@ -1,63 +0,0 @@
/*!
* @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);
}

View file

@ -1,192 +0,0 @@
/*!
* @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);
}

View file

@ -1,151 +0,0 @@
/*!
* @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);
}

View file

@ -0,0 +1,74 @@
<!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 &quot;<a class="el" href="_adafruit___u_b_x_8h_source.html">Adafruit_UBX.h</a>&quot;</code><br />
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,147 @@
<!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> &#124;
<a href="#define-members">Macros</a> &#124;
<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 &quot;<a class="el" href="_adafruit__u_blox___ubx___messages_8h_source.html">Adafruit_uBlox_Ubx_Messages.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_adafruit__u_blox__typedef_8h_source.html">Adafruit_uBlox_typedef.h</a>&quot;</code><br />
<code>#include &lt;Arduino.h&gt;</code><br />
<code>#include &lt;Stream.h&gt;</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 &#160;</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">&#160;</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">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#ab9b7171ae257a615aa33d2510e484554">UBX_SYNC_CHAR_1</a>&#160;&#160;&#160;0xB5</td></tr>
<tr class="memdesc:ab9b7171ae257a615aa33d2510e484554"><td class="mdescLeft">&#160;</td><td class="mdescRight">First UBX protocol sync char (<28>) <br /></td></tr>
<tr class="separator:ab9b7171ae257a615aa33d2510e484554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18c4bdc24d4cbedd9214cfc352b6f16c"><td class="memItemLeft" align="right" valign="top"><a id="a18c4bdc24d4cbedd9214cfc352b6f16c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a18c4bdc24d4cbedd9214cfc352b6f16c">UBX_SYNC_CHAR_2</a>&#160;&#160;&#160;0x62</td></tr>
<tr class="memdesc:a18c4bdc24d4cbedd9214cfc352b6f16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Second UBX protocol sync char (b) <br /></td></tr>
<tr class="separator:a18c4bdc24d4cbedd9214cfc352b6f16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a708b6ea6923c64a09c24502cdcac3a9b"><td class="memItemLeft" align="right" valign="top"><a id="a708b6ea6923c64a09c24502cdcac3a9b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a708b6ea6923c64a09c24502cdcac3a9b">UBX_ACK_NAK</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:a708b6ea6923c64a09c24502cdcac3a9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Not Acknowledged. <br /></td></tr>
<tr class="separator:a708b6ea6923c64a09c24502cdcac3a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9863f96e55b0bd012a94613a086515c7"><td class="memItemLeft" align="right" valign="top"><a id="a9863f96e55b0bd012a94613a086515c7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___u_b_x_8h.html#a9863f96e55b0bd012a94613a086515c7">UBX_ACK_ACK</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:a9863f96e55b0bd012a94613a086515c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message Acknowledged. <br /></td></tr>
<tr class="separator:a9863f96e55b0bd012a94613a086515c7"><td class="memSeparator" colspan="2">&#160;</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(*&#160;</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">&#160;</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">&#160;</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">&#9670;&nbsp;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,88 @@
<!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 &quot;<a class="el" href="_adafruit___u_blox_d_d_c_8h_source.html">Adafruit_UBloxDDC.h</a>&quot;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,94 @@
<!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 &lt;Adafruit_BusIO_Register.h&gt;</code><br />
<code>#include &lt;Adafruit_I2CDevice.h&gt;</code><br />
<code>#include &lt;Arduino.h&gt;</code><br />
<code>#include &lt;Stream.h&gt;</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 &#160;</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">&#160;</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">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,81 @@
<!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 &lt;Arduino.h&gt;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,258 @@
<!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> &#124;
<a href="#define-members">Macros</a> &#124;
<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 &lt;Arduino.h&gt;</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 &#160;</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">&#160;</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#ac8736b21efe1e6ffd28faffb977ce520">UBX_PROTOCOL_UBX</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ac8736b21efe1e6ffd28faffb977ce520"><td class="mdescLeft">&#160;</td><td class="mdescRight">UBX protocol. <br /></td></tr>
<tr class="separator:ac8736b21efe1e6ffd28faffb977ce520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6210c02436bf457745a27c9edcf8a15e"><td class="memItemLeft" align="right" valign="top"><a id="a6210c02436bf457745a27c9edcf8a15e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a6210c02436bf457745a27c9edcf8a15e">UBX_PROTOCOL_NMEA</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:a6210c02436bf457745a27c9edcf8a15e"><td class="mdescLeft">&#160;</td><td class="mdescRight">NMEA protocol. <br /></td></tr>
<tr class="separator:a6210c02436bf457745a27c9edcf8a15e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f3f0e692df4fa4f0328eb5a4fe34ee6"><td class="memItemLeft" align="right" valign="top"><a id="a4f3f0e692df4fa4f0328eb5a4fe34ee6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a4f3f0e692df4fa4f0328eb5a4fe34ee6">UBX_PROTOCOL_RTCM</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:a4f3f0e692df4fa4f0328eb5a4fe34ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTCM2 protocol (only for inProtoMask) <br /></td></tr>
<tr class="separator:a4f3f0e692df4fa4f0328eb5a4fe34ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4de42aaab8bfa4bf0f417ed7fa8645"><td class="memItemLeft" align="right" valign="top"><a id="adf4de42aaab8bfa4bf0f417ed7fa8645"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#adf4de42aaab8bfa4bf0f417ed7fa8645">UBX_PROTOCOL_RTCM3</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:adf4de42aaab8bfa4bf0f417ed7fa8645"><td class="mdescLeft">&#160;</td><td class="mdescRight">RTCM3 protocol. <br /></td></tr>
<tr class="separator:adf4de42aaab8bfa4bf0f417ed7fa8645"><td class="memSeparator" colspan="2">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a2ffd52bc8ed73f9b14ebbec077395add">UBXMessageClass</a> { <br />
&#160;&#160;<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 />
&#160;&#160;<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 />
&#160;&#160;<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 />
&#160;&#160;<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">&#160;</td></tr>
<tr class="memitem:a02519f110ce36d6a6fbba19f5fbcb8f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a02519f110ce36d6a6fbba19f5fbcb8f3">UBXCfgMessageId</a> { <br />
&#160;&#160;<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 />
&#160;&#160;<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">&#160;</td></tr>
<tr class="memitem:ae70fb0a16a62be1c77c8627265992601"><td class="memItemLeft" align="right" valign="top">enum &#160;</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">&#160;</td></tr>
<tr class="memitem:a04426de332e3384f4922a3e435e58b10"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a04426de332e3384f4922a3e435e58b10">UBXPortId</a> { <br />
&#160;&#160;<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 />
&#160;&#160;<b>UBX_PORT_SPI</b> = 4
<br />
}</td></tr>
<tr class="separator:a04426de332e3384f4922a3e435e58b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6585bf057b503034ba3b60010a8c28bf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit__u_blox__typedef_8h.html#a6585bf057b503034ba3b60010a8c28bf">UBXUARTMode</a> { <br />
&#160;&#160;<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 />
&#160;&#160;<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 />
&#160;&#160;<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">&#160;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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 &amp; Stop bit settings). </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

80
html/annotated.html Normal file
View file

@ -0,0 +1,80 @@
<!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;">&#160;</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;">&#160;</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;">&#160;</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 &#160;<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 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
html/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View file

@ -0,0 +1,86 @@
<!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 &amp;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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,378 @@
<!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> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<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 &lt;<a class="el" href="_adafruit___u_b_x_8h_source.html">Adafruit_UBX.h</a>&gt;</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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___u_b_x.html#a7b590e56d1635e2870a69e67b1e41a1a">Adafruit_UBX</a> (Stream &amp;stream)</td></tr>
<tr class="memdesc:a7b590e56d1635e2870a69e67b1e41a1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a7b590e56d1635e2870a69e67b1e41a1a">More...</a><br /></td></tr>
<tr class="separator:a7b590e56d1635e2870a69e67b1e41a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5cc4a4b20f2f31798be72c88b586523"><td class="memItemLeft" align="right" valign="top"><a id="ae5cc4a4b20f2f31798be72c88b586523"></a>
&#160;</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">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ae5cc4a4b20f2f31798be72c88b586523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373c93599ca9515b58fc8a038967e755"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a3febea7a538bf32960814b2d782f0f8b"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:aa0e1fbce664c381544821eda9c17170c"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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">&#160;</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>&#160;</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">&#160;</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">&#160;</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>&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a2ef23536037a2b56b7adf56bcf3c0251"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</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&#160;</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">&#160;</td><td class="mdescRight">0=off, 1=basic, 2=verbose <br /></td></tr>
<tr class="separator:a79cfeedae7b7ffc2b05b94cfc327ab78"><td class="memSeparator" colspan="2">&#160;</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>&#160;</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">&#160;</td><td class="mdescRight">Callback for message received. <br /></td></tr>
<tr class="separator:a2901fce2f2f3ecf4652069fdf97e99e3"><td class="memSeparator" colspan="2">&#160;</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 &amp; Destructor Documentation</h2>
<a id="a7b590e56d1635e2870a69e67b1e41a1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b590e56d1635e2870a69e67b1e41a1a">&#9670;&nbsp;</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 &amp;&#160;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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&#160;</td>
<td class="paramname"><em>msgClass</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>msgId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>payload</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>length</em>&#160;</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">&#9670;&nbsp;</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&#160;</td>
<td class="paramname"><em>msgClass</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>msgId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>payload</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>timeout_ms</em> = <code>500</code>&#160;</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">&#9670;&nbsp;</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>&#160;</td>
<td class="paramname"><em>portID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>checkAck</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>timeout_ms</em> = <code>500</code>&#160;</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">&#9670;&nbsp;</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>&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,87 @@
<!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=&amp;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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,460 @@
<!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> &#124;
<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 &lt;<a class="el" href="_adafruit___u_blox_d_d_c_8h_source.html">Adafruit_UBloxDDC.h</a>&gt;</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">&#160;</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=&amp;Wire)</td></tr>
<tr class="memdesc:a1d3186a12d82023995200b7509f2fdd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a1d3186a12d82023995200b7509f2fdd0">More...</a><br /></td></tr>
<tr class="separator:a1d3186a12d82023995200b7509f2fdd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d7e39448350ccbda11d425bfafd8e63"><td class="memItemLeft" align="right" valign="top"><a id="a0d7e39448350ccbda11d425bfafd8e63"></a>
&#160;</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">&#160;</td><td class="mdescRight">Destructor - frees allocated resources. <br /></td></tr>
<tr class="separator:a0d7e39448350ccbda11d425bfafd8e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e8de7b4a6fa0bf548b3a9e7d7a0bc47"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a3ab820207d549ae4f222c13d1f9b2bd7"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ab6740ffe9727f1ab0500f42e4e56b4f6"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ab80cf21423ef7a5471755ed777005d87"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a15c816aeabf456c901594b265cfa4c3f"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ac53068f3386d3e841ae88e6da1700ca2"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ac98cfaa49ddf5f2b4502cb406575d52b"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a405cc264938a0ecdc2f6d060e61da7e4"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a2a7b11759e0778d649e585092f663f4f"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</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">&#160;</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">&#160;</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 &amp; Destructor Documentation</h2>
<a id="a1d3186a12d82023995200b7509f2fdd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d3186a12d82023995200b7509f2fdd0">&#9670;&nbsp;</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&#160;</td>
<td class="paramname"><em>address</em> = <code>0x42</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TwoWire *&#160;</td>
<td class="paramname"><em>wire</em> = <code>&amp;Wire</code>&#160;</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 &amp;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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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 *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>length</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxLength</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

84
html/classes.html Normal file
View file

@ -0,0 +1,84 @@
<!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>&#160;|&#160;<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">&#160;&#160;a&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="class_adafruit___u_b_x.html">Adafruit_UBX</a>&#160;&#160;&#160;</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">&#160;&#160;u&#160;&#160;</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>&#160;&#160;&#160;</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>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<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 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
html/doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

1596
html/doxygen.css Normal file

File diff suppressed because it is too large Load diff

BIN
html/doxygen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

97
html/dynsections.js Normal file
View file

@ -0,0 +1,97 @@
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('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(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('&#9658;');
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('&#9660;');
// 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('&#9658;');
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');
}
}

83
html/files.html Normal file
View file

@ -0,0 +1,83 @@
<!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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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;">&#160;</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 &#160;<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/folderclosed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

BIN
html/folderopen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

213
html/functions.html Normal file
View file

@ -0,0 +1,213 @@
<!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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

120
html/functions_func.html Normal file
View file

@ -0,0 +1,120 @@
<!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">
&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

110
html/functions_vars.html Normal file
View file

@ -0,0 +1,110 @@
<!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">
&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

113
html/globals.html Normal file
View file

@ -0,0 +1,113 @@
<!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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

95
html/globals_defs.html Normal file
View file

@ -0,0 +1,95 @@
<!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">
&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

86
html/globals_enum.html Normal file
View file

@ -0,0 +1,86 @@
<!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">
&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

74
html/globals_type.html Normal file
View file

@ -0,0 +1,74 @@
<!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">
&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

81
html/hierarchy.html Normal file
View file

@ -0,0 +1,81 @@
<!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;">&#160;</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;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</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;">&#160;</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;">&#160;</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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

83
html/index.html Normal file
View file

@ -0,0 +1,83 @@
<!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 &#160;<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 Normal file

File diff suppressed because one or more lines are too long

26
html/menu.js Normal file
View file

@ -0,0 +1,26 @@
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();
}

31
html/menudata.js Normal file
View file

@ -0,0 +1,31 @@
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 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
html/nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
html/nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
html/open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

26
html/search/all_0.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

13
html/search/all_0.js Normal file
View file

@ -0,0 +1,13 @@
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,'']]]
];

26
html/search/all_1.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

5
html/search/all_1.js Normal file
View file

@ -0,0 +1,5 @@
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()']]]
];

26
html/search/all_2.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

4
html/search/all_2.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['checkmessages',['checkMessages',['../class_adafruit___u_b_x.html#a3febea7a538bf32960814b2d782f0f8b',1,'Adafruit_UBX']]]
];

26
html/search/all_3.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

5
html/search/all_3.js Normal file
View file

@ -0,0 +1,5 @@
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']]]
];

26
html/search/all_4.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

4
html/search/all_4.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['inprotomask',['inProtoMask',['../union_u_b_x___c_f_g___p_r_t__t.html#a5605d35661306375cb037078f2460f7f',1,'UBX_CFG_PRT_t']]]
];

26
html/search/all_5.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

4
html/search/all_5.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['mode',['mode',['../union_u_b_x___c_f_g___p_r_t__t.html#a62220062ed5f68284cdfb7f23cae77c2',1,'UBX_CFG_PRT_t']]]
];

26
html/search/all_6.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

5
html/search/all_6.js Normal file
View file

@ -0,0 +1,5 @@
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']]]
];

26
html/search/all_7.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

5
html/search/all_7.js Normal file
View file

@ -0,0 +1,5 @@
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']]]
];

26
html/search/all_8.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

9
html/search/all_8.js Normal file
View file

@ -0,0 +1,9 @@
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']]]
];

26
html/search/all_9.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

7
html/search/all_9.js Normal file
View file

@ -0,0 +1,7 @@
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']]]
];

26
html/search/all_a.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

4
html/search/all_a.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['txready',['txReady',['../union_u_b_x___c_f_g___p_r_t__t.html#aab821b1e10e95cb253d447ebe76c786c',1,'UBX_CFG_PRT_t']]]
];

26
html/search/all_b.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

18
html/search/all_b.js Normal file
View file

@ -0,0 +1,18 @@
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']]]
];

26
html/search/all_c.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

4
html/search/all_c.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['verbose_5fdebug',['verbose_debug',['../class_adafruit___u_b_x.html#a79cfeedae7b7ffc2b05b94cfc327ab78',1,'Adafruit_UBX']]]
];

26
html/search/all_d.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

4
html/search/all_d.js Normal file
View file

@ -0,0 +1,4 @@
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']]]
];

26
html/search/all_e.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

5
html/search/all_e.js Normal file
View file

@ -0,0 +1,5 @@
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']]]
];

View file

@ -0,0 +1,26 @@
<!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>

5
html/search/classes_0.js Normal file
View file

@ -0,0 +1,5 @@
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,'']]]
];

View file

@ -0,0 +1,26 @@
<!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>

4
html/search/classes_1.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['ubx_5fcfg_5fprt_5ft',['UBX_CFG_PRT_t',['../union_u_b_x___c_f_g___p_r_t__t.html',1,'']]]
];

BIN
html/search/close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

View file

@ -0,0 +1,26 @@
<!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>

11
html/search/defines_0.js Normal file
View file

@ -0,0 +1,11 @@
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']]]
];

26
html/search/enums_0.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

8
html/search/enums_0.js Normal file
View file

@ -0,0 +1,8 @@
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']]]
];

26
html/search/files_0.html Normal file
View file

@ -0,0 +1,26 @@
<!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>

9
html/search/files_0.js Normal file
View file

@ -0,0 +1,9 @@
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,'']]]
];

Some files were not shown because too many files have changed in this diff Show more