nmealib 0.0.4
NMEA 0183/NMEA 2000 parsing library
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
nmealib::nmea2000::PGN129025 Class Reference

Strongly-typed class representing PGN 129025 - Position, Rapid Update. More...

#include <PGN129025.h>

Inheritance diagram for nmealib::nmea2000::PGN129025:
Inheritance graph
[legend]
Collaboration diagram for nmealib::nmea2000::PGN129025:
Collaboration graph
[legend]

Public Member Functions

 PGN129025 (Latitude latitude, Longitude longitude) noexcept
 
 PGN129025 (const PGN129025 &)=default
 
PGN129025operator= (const PGN129025 &)=default
 
 PGN129025 (PGN129025 &&) noexcept=default
 
PGN129025operator= (PGN129025 &&) noexcept=default
 
 ~PGN129025 () override=default
 
std::unique_ptr< nmealib::Messageclone () const override
 Creates a polymorphic deep copy of this Message2000.
 
Latitude getLatitude () const noexcept
 
Longitude getLongitude () const noexcept
 
std::string getStringContent (bool verbose) const noexcept override
 Returns a human-readable string representation of the message.
 
bool operator== (const PGN129025 &other) const noexcept
 
virtual bool operator== (const Message2000 &other) const noexcept
 
- Public Member Functions inherited from nmealib::nmea2000::Message2000
 Message2000 (const Message2000 &)=default
 
Message2000operator= (const Message2000 &)=default
 
 Message2000 (Message2000 &&) noexcept=default
 
Message2000operator= (Message2000 &&)=default
 
 ~Message2000 () override=default
 
const std::vector< uint8_t > & getCanId () const noexcept
 Returns the 29-bit CAN identifier as 4 bytes (big-endian).
 
const std::vector< uint8_t > & getCanFrame () const noexcept
 Returns the raw CAN frame payload (0-223 bytes).
 
uint8_t getCanFrameLength () const noexcept
 Returns the number of bytes in the CAN frame payload.
 
uint8_t getPriority () const noexcept
 Returns the 3-bit message priority (0 = highest, 7 = lowest).
 
bool getPriority3 () const noexcept
 Returns individual priority bits (P3 is the MSB).
 
bool getPriority2 () const noexcept
 Bit 3 of canId_[0].
 
bool getPriority1 () const noexcept
 Bit 2 of canId_[0].
 
bool getHeaderReserved () const noexcept
 Returns the Reserved bit (R1).
 
bool getDataPage () const noexcept
 Returns the Data Page bit (DP).
 
uint8_t getPDUFormat () const noexcept
 Returns the PDU Format byte (PF).
 
uint8_t getPDUSpecific () const noexcept
 Returns the PDU Specific byte (PS).
 
uint8_t getSourceAddress () const noexcept
 Returns the source address of the transmitting device.
 
uint8_t getDestinationAddress () const noexcept
 Returns the destination address.
 
uint32_t getPgn () const noexcept
 Returns the PGN (Parameter Group Number) extracted from the CAN Id.
 
std::string serialize () const override
 Serializes the message to "CANID:data" hex format.
 
bool validate () const override
 Returns true if the PGN fits in 18 bits and the frame is 0-223 bytes.
 
- Public Member Functions inherited from nmealib::Message
 Message ()
 
 Message (std::string raw, Type type=Type::Unknown, TimePoint ts=std::chrono::system_clock::now()) noexcept
 
virtual ~Message ()
 
 Message (const Message &)=default
 
Messageoperator= (const Message &)=default
 
 Message (Message &&) noexcept=default
 
Messageoperator= (Message &&) noexcept=default
 
Type getType () const noexcept
 Returns the message type.
 
const std::string & getRawData () const noexcept
 Returns the raw, unmodified data string as received.
 
TimePoint getTimestamp () const noexcept
 Returns the timestamp associated with this message.
 
bool operator== (const Message &other) const noexcept
 Compares two Message objects for equality based on their content.
 

Friends

class Nmea2000Factory
 
class MessageRegistry
 

Additional Inherited Members

- Public Types inherited from nmealib::Message
enum class  Type { Unknown , NMEA0183 , NMEA2000 }
 Defines the type of NMEA message, allowing for differentiation between various standards. More...
 
using TimePoint = std::chrono::system_clock::time_point
 
- Static Public Member Functions inherited from nmealib::Message
static std::string typeToString (Type t)
 Converts a Message::Type enum value to its string representation.
 
- Protected Member Functions inherited from nmealib::nmea2000::Message2000
std::string toString (bool verbose) const noexcept
 Returns the base string common to all PGNs (used by getStringContent).
 
- Protected Member Functions inherited from nmealib::Message
void setType (Type t) noexcept
 Sets the message type.
 
void setRaw (std::string r) noexcept
 Sets the raw data string.
 
void setTimestamp (TimePoint ts) noexcept
 Sets the message timestamp.
 
- Static Protected Member Functions inherited from nmealib::nmea2000::Message2000
static std::unique_ptr< Message2000create (std::string raw, TimePoint ts=std::chrono::system_clock::now())
 Protected factory — parses "CANID:data" (and variant formats) into a Message2000.
 
- Protected Attributes inherited from nmealib::nmea2000::Message2000
std::vector< uint8_t > canId_
 29-bit CAN Id stored as 4 bytes (big-endian)
 
std::vector< uint8_t > canFrame_
 CAN frame payload (0-223 bytes)
 
- Protected Attributes inherited from nmealib::Message
std::string rawData_
 
Type type_ {Type::Unknown}
 
TimePoint timestamp_ {}
 

Detailed Description

Strongly-typed class representing PGN 129025 - Position, Rapid Update.

PGN 129025 is used to report rapid position updates The message contains the following fields:

Definition at line 20 of file PGN129025.h.

Constructor & Destructor Documentation

◆ PGN129025() [1/3]

nmealib::nmea2000::PGN129025::PGN129025 ( Latitude  latitude,
Longitude  longitude 
)
noexcept

Definition at line 39 of file PGN129025.cpp.

◆ PGN129025() [2/3]

nmealib::nmea2000::PGN129025::PGN129025 ( const PGN129025 )
default

◆ PGN129025() [3/3]

nmealib::nmea2000::PGN129025::PGN129025 ( PGN129025 &&  )
defaultnoexcept

◆ ~PGN129025()

nmealib::nmea2000::PGN129025::~PGN129025 ( )
overridedefault

Member Function Documentation

◆ clone()

std::unique_ptr< Message > nmealib::nmea2000::PGN129025::clone ( ) const
overridevirtual

Creates a polymorphic deep copy of this Message2000.

Reimplemented from nmealib::nmea2000::Message2000.

Definition at line 45 of file PGN129025.cpp.

◆ getLatitude()

Latitude nmealib::nmea2000::PGN129025::getLatitude ( ) const
noexcept
Returns
the latitude.

Definition at line 93 of file PGN129025.cpp.

◆ getLongitude()

Longitude nmealib::nmea2000::PGN129025::getLongitude ( ) const
noexcept
Returns
the longitude.

Definition at line 97 of file PGN129025.cpp.

◆ getStringContent()

std::string nmealib::nmea2000::PGN129025::getStringContent ( bool  verbose) const
overridevirtualnoexcept

Returns a human-readable string representation of the message.

Verbose: multi-line dump of all fields. Non-verbose: single-line summary.

Reimplemented from nmealib::nmea2000::Message2000.

Definition at line 49 of file PGN129025.cpp.

◆ operator=() [1/2]

PGN129025 & nmealib::nmea2000::PGN129025::operator= ( const PGN129025 )
default

◆ operator=() [2/2]

PGN129025 & nmealib::nmea2000::PGN129025::operator= ( PGN129025 &&  )
defaultnoexcept

◆ operator==() [1/2]

bool nmealib::nmea2000::Message2000::operator== ( const Message2000 other) const
virtualnoexcept

Reimplemented from nmealib::nmea2000::Message2000.

Definition at line 192 of file nmea2000.cpp.

◆ operator==() [2/2]

bool nmealib::nmea2000::PGN129025::operator== ( const PGN129025 other) const
noexcept

Definition at line 101 of file PGN129025.cpp.

Friends And Related Symbol Documentation

◆ MessageRegistry

friend class MessageRegistry
friend

Definition at line 66 of file PGN129025.h.

◆ Nmea2000Factory

friend class Nmea2000Factory
friend

Definition at line 65 of file PGN129025.h.


The documentation for this class was generated from the following files: