NMEA2000 Library  0.1
Library to handle NMEA 2000 Communication written in C++
tNMEA2000::tInternalDevice Class Reference

This class represents an internal device. More...

#include <NMEA2000.h>

Collaboration diagram for tNMEA2000::tInternalDevice:

Public Member Functions

 tInternalDevice ()
 Construct a new Internal Device object. More...
 
void ClearPendingConfigurationInformation ()
 Resets PendingConfigurationInformation to zero. More...
 
void ClearPendingIsoAddressClaim ()
 Resets PendingIsoAddressClaim to zero. More...
 
void ClearPendingProductInformation ()
 Resets PendingProductInformation to zero. More...
 
bool QueryPendingConfigurationInformation ()
 Check if enough time has passed. More...
 
bool QueryPendingIsoAddressClaim ()
 Check if enough time has passed. More...
 
bool QueryPendingProductInformation ()
 Check if enough time has passed. More...
 
void SetPendingConfigurationInformation ()
 Set the timestamp for Pending a ConfigurationInformation message. More...
 
void SetPendingIsoAddressClaim (unsigned long FromNow=2)
 Set the timestamp for Pending an ISO Address Claim message. More...
 
void SetPendingProductInformation ()
 Set the timestamp for Pending a ProductInformation message. More...
 
void UpdateAddressClaimEndSource ()
 Updates AddressClaimEndSource. More...
 
void UpdateHasPendingInformation ()
 

Public Attributes

uint8_t AddressClaimEndSource
 Holds the highest source address for Address Claim process. More...
 
tN2kScheduler AddressClaimTimer
 Timer value for AddressClaim. More...
 
tDeviceInformation DeviceInformation
 This holds all the Device Informations for this specific device. More...
 
bool HasPendingInformation
 internal device has pending information More...
 
tN2kSyncScheduler HeartbeatScheduler
 Scheduler for the heartbeat message. More...
 
uint8_t HeartbeatSequence
 Heartbeat Sequence. More...
 
tProductInformationLocalProductInformation
 This holds all the local (???) Product Informations for this specific device. More...
 
char * ManufacturerSerialCode
 This holds the Manufacturer Code for this specific device. More...
 
size_t MaxPGNSequenceCounters
 Fast packet PGNs sequence counters. More...
 
uint8_t N2kSource
 Source address of this device on the NMEA2000 bus. More...
 
tN2kScheduler NextDTSendTime
 Timestamp, when next data packet can be send on TP broadcast. More...
 
uint8_t NextDTSequence
 Next Sequence. More...
 
tN2kScheduler PendingConfigurationInformation
 Timestamp set while last tNMEA2000::SendConfigurationInformation was executed. More...
 
tN2kScheduler PendingIsoAddressClaim
 Timestamp set while last tNMEA2000::SendIsoAddressClaim was executed. More...
 
tN2kScheduler PendingProductInformation
 Timestamp set while last tNMEA2000::SendProductInformation was executed. More...
 
tN2kMsg PendingTPMsg
 Pending N2k message. More...
 
unsigned long * PGNSequenceCounters
 Fast packet PGNs sequence counters. More...
 
const tProductInformationProductInformation
 This holds all the Product Informations for this specific device. More...
 
const unsigned long * ReceiveMessages
 Pointer to a buffer that holds all supported receive PGNs for this device. More...
 
const unsigned long * TransmitMessages
 Pointer to a buffer that holds all supported transmit PGNs for this device. More...
 

Detailed Description

This class represents an internal device.

Definition at line 771 of file NMEA2000.h.

Constructor & Destructor Documentation

◆ tInternalDevice()

tNMEA2000::tInternalDevice::tInternalDevice ( )
inline

Construct a new Internal Device object.

Initialize all the attributes of this internal device.

Definition at line 837 of file NMEA2000.h.

Member Function Documentation

◆ ClearPendingConfigurationInformation()

void tNMEA2000::tInternalDevice::ClearPendingConfigurationInformation ( )
inline

Resets PendingConfigurationInformation to zero.

Definition at line 903 of file NMEA2000.h.

◆ ClearPendingIsoAddressClaim()

void tNMEA2000::tInternalDevice::ClearPendingIsoAddressClaim ( )
inline

Resets PendingIsoAddressClaim to zero.

Definition at line 870 of file NMEA2000.h.

◆ ClearPendingProductInformation()

void tNMEA2000::tInternalDevice::ClearPendingProductInformation ( )
inline

Resets PendingProductInformation to zero.

Definition at line 881 of file NMEA2000.h.

◆ QueryPendingConfigurationInformation()

bool tNMEA2000::tInternalDevice::QueryPendingConfigurationInformation ( )
inline

Check if enough time has passed.

Checks if enough time has passed since SetPendingConfigurationInformation, so that SendConfigurationInformation can be executed.

Return values
trueenough time has passed
false

Definition at line 914 of file NMEA2000.h.

◆ QueryPendingIsoAddressClaim()

bool tNMEA2000::tInternalDevice::QueryPendingIsoAddressClaim ( )
inline

Check if enough time has passed.

Checks if enough time has passed since SetPendingIsoAddressClaim, so that SendIsoAddressClaim can be executed.

Return values
trueenough time has passed
false

Definition at line 868 of file NMEA2000.h.

◆ QueryPendingProductInformation()

bool tNMEA2000::tInternalDevice::QueryPendingProductInformation ( )
inline

Check if enough time has passed.

Checks if enough time has passed since SetPendingProductInformation, so that SendProductInformation can be executed.

Return values
trueenough time has passed
false

Definition at line 892 of file NMEA2000.h.

◆ SetPendingConfigurationInformation()

void tNMEA2000::tInternalDevice::SetPendingConfigurationInformation ( )
inline

Set the timestamp for Pending a ConfigurationInformation message.

This function use strange delays to avoid synchronization of many messages.

See also
tNMEA2000::SendConfigurationInformation

Definition at line 901 of file NMEA2000.h.

◆ SetPendingIsoAddressClaim()

void tNMEA2000::tInternalDevice::SetPendingIsoAddressClaim ( unsigned long  FromNow = 2)
inline

Set the timestamp for Pending an ISO Address Claim message.

Parameters
FromNowVariable time delay in ms
See also
tNMEA2000::SendIsoAddressClaim

Definition at line 857 of file NMEA2000.h.

◆ SetPendingProductInformation()

void tNMEA2000::tInternalDevice::SetPendingProductInformation ( )
inline

Set the timestamp for Pending a ProductInformation message.

This function use strange delays to avoid synchronization of many messages.

See also
tNMEA2000::SendProductInformation

Definition at line 879 of file NMEA2000.h.

◆ UpdateAddressClaimEndSource()

void tNMEA2000::tInternalDevice::UpdateAddressClaimEndSource ( )
inline

Updates AddressClaimEndSource.

Definition at line 918 of file NMEA2000.h.

◆ UpdateHasPendingInformation()

void tNMEA2000::tInternalDevice::UpdateHasPendingInformation ( )
inline

Definition at line 922 of file NMEA2000.h.

Member Data Documentation

◆ AddressClaimEndSource

uint8_t tNMEA2000::tInternalDevice::AddressClaimEndSource

Holds the highest source address for Address Claim process.

Definition at line 810 of file NMEA2000.h.

◆ AddressClaimTimer

tN2kScheduler tNMEA2000::tInternalDevice::AddressClaimTimer

Timer value for AddressClaim.

Definition at line 798 of file NMEA2000.h.

◆ DeviceInformation

tDeviceInformation tNMEA2000::tInternalDevice::DeviceInformation

This holds all the Device Informations for this specific device.

Definition at line 776 of file NMEA2000.h.

◆ HasPendingInformation

bool tNMEA2000::tInternalDevice::HasPendingInformation

internal device has pending information

Definition at line 812 of file NMEA2000.h.

◆ HeartbeatScheduler

tN2kSyncScheduler tNMEA2000::tInternalDevice::HeartbeatScheduler

Scheduler for the heartbeat message.

Definition at line 826 of file NMEA2000.h.

◆ HeartbeatSequence

uint8_t tNMEA2000::tInternalDevice::HeartbeatSequence

Heartbeat Sequence.

Definition at line 828 of file NMEA2000.h.

◆ LocalProductInformation

tProductInformation* tNMEA2000::tInternalDevice::LocalProductInformation

This holds all the local (???) Product Informations for this specific device.

Definition at line 783 of file NMEA2000.h.

◆ ManufacturerSerialCode

char* tNMEA2000::tInternalDevice::ManufacturerSerialCode

This holds the Manufacturer Code for this specific device.

Definition at line 786 of file NMEA2000.h.

◆ MaxPGNSequenceCounters

size_t tNMEA2000::tInternalDevice::MaxPGNSequenceCounters

Fast packet PGNs sequence counters.

Definition at line 808 of file NMEA2000.h.

◆ N2kSource

uint8_t tNMEA2000::tInternalDevice::N2kSource

Source address of this device on the NMEA2000 bus.

Definition at line 774 of file NMEA2000.h.

◆ NextDTSendTime

tN2kScheduler tNMEA2000::tInternalDevice::NextDTSendTime

Timestamp, when next data packet can be send on TP broadcast.

Definition at line 818 of file NMEA2000.h.

◆ NextDTSequence

uint8_t tNMEA2000::tInternalDevice::NextDTSequence

Next Sequence.

Definition at line 820 of file NMEA2000.h.

◆ PendingConfigurationInformation

tN2kScheduler tNMEA2000::tInternalDevice::PendingConfigurationInformation

Timestamp set while last tNMEA2000::SendConfigurationInformation was executed.

Definition at line 795 of file NMEA2000.h.

◆ PendingIsoAddressClaim

tN2kScheduler tNMEA2000::tInternalDevice::PendingIsoAddressClaim

Timestamp set while last tNMEA2000::SendIsoAddressClaim was executed.

Definition at line 789 of file NMEA2000.h.

◆ PendingProductInformation

tN2kScheduler tNMEA2000::tInternalDevice::PendingProductInformation

Timestamp set while last tNMEA2000::SendProductInformation was executed.

Definition at line 792 of file NMEA2000.h.

◆ PendingTPMsg

tN2kMsg tNMEA2000::tInternalDevice::PendingTPMsg

Pending N2k message.

Definition at line 816 of file NMEA2000.h.

◆ PGNSequenceCounters

unsigned long* tNMEA2000::tInternalDevice::PGNSequenceCounters

Fast packet PGNs sequence counters.

Definition at line 806 of file NMEA2000.h.

◆ ProductInformation

const tProductInformation* tNMEA2000::tInternalDevice::ProductInformation

This holds all the Product Informations for this specific device.

Definition at line 780 of file NMEA2000.h.

◆ ReceiveMessages

const unsigned long* tNMEA2000::tInternalDevice::ReceiveMessages

Pointer to a buffer that holds all supported receive PGNs for this device.

Definition at line 804 of file NMEA2000.h.

◆ TransmitMessages

const unsigned long* tNMEA2000::tInternalDevice::TransmitMessages

Pointer to a buffer that holds all supported transmit PGNs for this device.

Definition at line 801 of file NMEA2000.h.


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