AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
can_network_configuration.hpp
Go to the documentation of this file.
1//================================================================================================
8//================================================================================================
9
10#ifndef CAN_NETWORK_CONFIGURATION_HPP
11#define CAN_NETWORK_CONFIGURATION_HPP
12
13#include <cstdint>
14
15namespace isobus
16{
17 //================================================================================================
22 //================================================================================================
24 {
25 public:
28
31
34 void set_max_number_transport_protocol_sessions(std::uint32_t value);
35
39
48
52
57 void set_number_of_packets_per_dpo_message(std::uint8_t numberFrames);
58
63 std::uint8_t get_number_of_packets_per_dpo_message() const;
64
70
76
81 void set_number_of_packets_per_cts_message(std::uint8_t numberPackets);
82
85 std::uint8_t get_number_of_packets_per_cts_message() const;
86
87 private:
88 static constexpr std::uint8_t DEFAULT_BAM_PACKET_DELAY_TIME_MS = 50;
89
93 std::uint8_t numberOfPacketsPerDPOMessage = 16;
94 std::uint8_t numberOfPacketsPerCTSMessage = 16;
95 };
96} // namespace isobus
97
98#endif // CAN_NETWORK_CONFIGURATION_HPP
A class that defines stack-wide configuration data. You can set the values in there to suit your spec...
~CANNetworkConfiguration()=default
The destructor for the configuration object.
void set_max_number_of_network_manager_protocol_frames_per_update(std::uint8_t numberFrames)
Sets the max number of data frames the stack will send from each transport layer protocol,...
void set_number_of_packets_per_dpo_message(std::uint8_t numberFrames)
Sets the max number of data frames the stack will use when in an ETP session, between EDPO phases....
std::uint8_t numberOfPacketsPerCTSMessage
The number of packets per CTS message for TP sessions.
void set_number_of_packets_per_cts_message(std::uint8_t numberPackets)
Set the the number of packets per CTS message for TP sessions. The default is 16. Note that the recei...
std::uint8_t numberOfPacketsPerDPOMessage
The number of packets per DPO message for ETP sessions.
static constexpr std::uint8_t DEFAULT_BAM_PACKET_DELAY_TIME_MS
The default time between BAM frames, as defined by J1939.
std::uint8_t get_max_number_of_network_manager_protocol_frames_per_update() const
Returns the max number of data frames the stack will send from each transport layer protocol,...
std::uint8_t get_number_of_packets_per_cts_message() const
Get the the number of packets per CTS packet for TP sessions.
std::uint32_t get_max_number_transport_protocol_sessions() const
Returns the max number of concurrent TP sessions.
CANNetworkConfiguration()=default
The constructor for the configuration object.
std::uint32_t maxNumberTransportProtocolSessions
The max number of TP sessions allowed.
std::uint32_t get_minimum_time_between_transport_protocol_bam_frames() const
Returns the minimum time to wait between sending BAM frames.
void set_max_number_transport_protocol_sessions(std::uint32_t value)
Configures the max number of concurrent TP sessions to provide a RAM limit for TP sessions.
void set_minimum_time_between_transport_protocol_bam_frames(std::uint32_t value)
Sets the minimum time to wait between sending BAM frames (default is 50 ms for maximum J1939 compatib...
std::uint8_t networkManagerMaxFramesToSendPerUpdate
Used to control the max number of transport layer frames added to the driver queue per network manage...
std::uint8_t get_number_of_packets_per_dpo_message() const
Returns the max number of data frames the stack will use when in an ETP session, between EDPO phases....
std::uint32_t minimumTimeBetweenTransportProtocolBAMFrames
The configurable time between BAM frames.
This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollu...