Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::comms::canJ1939 Namespace Reference

Classes

struct  CanJ1939ChannelBinding
 
class  CanJ1939CommunicationController
 
class  CanJ1939CommunicationControllerFrame
 
struct  CanJ1939Dm1ChannelBinding
 
struct  CanJ1939Filter
 
struct  onGoingCanJ1939MultiPacketCommunication
 
struct  PgnInfo
 
struct  SpnInfo
 

Enumerations

enum class  ePacketTypes { SinglePacket , ConnectionManagement , DataTransfer , DM1Packet }
 
enum class  eControlByteValues {
  RequestToSend = 0x10 , ClearToSend = 0x11 , EndOfMessage = 0x13 , ConnectionAbort = 0x14 ,
  BAM = 0x20
}
 
enum class  eJ1939SubProtocol { SinglePacket , DM1 }
 
enum class  eJ1939TransportProtocol { BAM , RTSCTS }
 

Functions

std::optional< iv::types::channelValueprocessValue (const iv::eDataType &dataType, const uint64_t channelValue)
 
ePacketTypes getPacketType (iv::types::comms::pgn pgn)
 
std::shared_ptr< std::map< iv::types::comms::pgn, PgnInfo > > getPgnDatabase ()
 
std::map< iv::types::comms::spn, std::string > getSpnsForPgn (iv::types::comms::pgn pgn)
 
void loadPgnDataBase ()
 
uint32_t extractPgn (uint32_t canId)
 extract the PGN from a can id, used in J1939 and NMEA2k
 
uint64_t getChannelValue (const std::vector< std::byte > &data, uint32_t startBit, uint32_t length, iv::eEndianType endianness)
 

Variables

static constexpr uint64_t MAX_J1939_FRAME_TIME = 5000
 
static std::shared_ptr< std::map< iv::types::comms::pgn, PgnInfo > > PgnDatabase {nullptr}
 

Enumeration Type Documentation

◆ eControlByteValues

Enumerator
RequestToSend 
ClearToSend 
EndOfMessage 
ConnectionAbort 
BAM 

◆ eJ1939SubProtocol

Enumerator
SinglePacket 
DM1 

◆ eJ1939TransportProtocol

Enumerator
BAM 
RTSCTS 

◆ ePacketTypes

Enumerator
SinglePacket 
ConnectionManagement 
DataTransfer 
DM1Packet 

Function Documentation

◆ extractPgn()

uint32_t iv::comms::canJ1939::extractPgn ( uint32_t canId)

extract the PGN from a can id, used in J1939 and NMEA2k

Parameters
canId
Returns

◆ getChannelValue()

uint64_t iv::comms::canJ1939::getChannelValue ( const std::vector< std::byte > & data,
uint32_t startBit,
uint32_t length,
iv::eEndianType endianness )

◆ getPacketType()

ePacketTypes iv::comms::canJ1939::getPacketType ( iv::types::comms::pgn pgn)
inline

◆ getPgnDatabase()

std::shared_ptr< std::map< iv::types::comms::pgn, PgnInfo > > iv::comms::canJ1939::getPgnDatabase ( )

◆ getSpnsForPgn()

std::map< iv::types::comms::spn, std::string > iv::comms::canJ1939::getSpnsForPgn ( iv::types::comms::pgn pgn)

◆ loadPgnDataBase()

void iv::comms::canJ1939::loadPgnDataBase ( )

◆ processValue()

std::optional< iv::types::channelValue > iv::comms::canJ1939::processValue ( const iv::eDataType & dataType,
const uint64_t channelValue )
inline

Variable Documentation

◆ MAX_J1939_FRAME_TIME

uint64_t iv::comms::canJ1939::MAX_J1939_FRAME_TIME = 5000
staticconstexpr

◆ PgnDatabase

std::shared_ptr<std::map<iv::types::comms::pgn, PgnInfo> > iv::comms::canJ1939::PgnDatabase {nullptr}
static