ConOpSys V2970  P004.07
ANVILEX control operating system
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TProtocol_IP_Over_ETHERNET Class Reference

Communication protocol IP over ETHERNET class. More...

#include <Protocol_IP_Over_ETHERNET.h>

Inheritance diagram for TProtocol_IP_Over_ETHERNET:
Inheritance graph
Collaboration diagram for TProtocol_IP_Over_ETHERNET:
Collaboration graph

Public Member Functions

 TProtocol_IP_Over_ETHERNET ()
 Class constructor method. More...
 
 ~TProtocol_IP_Over_ETHERNET ()
 Class destructor method. More...
 
VOID Init ()
 
VOID Done ()
 
virtual VOID Send_Information (TProtocol_Base *object_Protocol)
 Send information about protocol method. More...
 
virtual VOID Enter_Terminal_Mode ()
 Enter terminal mode method. More...
 
virtual VOID Enter_Protocol_Mode ()
 Enter protocol mode method. More...
 
virtual BOOL Is_Terminal_Mode ()
 Terminal mode operation status method. More...
 
virtual BOOL Is_Protocol_Mode ()
 Protocol mode operation status method. More...
 
virtual VOID Receive_String (C8 *c8_String)
 Receive string. More...
 
virtual VOID Receive_String (C8 *c8_String, U32 u32_Length)
 Receive string. More...
 
virtual VOID Execute ()
 Background cyclic execution method. More...
 
virtual VOID Execute_1ms ()
 System task 1ms cyclic execution method. More...
 
- Public Member Functions inherited from TProtocol_Base
 TProtocol_Base ()
 Class constructor method. More...
 
 ~TProtocol_Base ()
 Class destructor method. More...
 
VOID Init ()
 Initialisation method. More...
 
VOID Done ()
 Finalisation method. More...
 
VOID Clear_Communication_Statistic ()
 Clear communication statistic. More...
 
VOID Enable_Parameter_Mapping ()
 Enable parameter mapping method. More...
 
VOID Disable_Parameter_Mapping ()
 Disable parameter mapping method. More...
 
virtual VOID Show_System_Welcome_Message_Enable ()=0
 Enable show system welcome message method. More...
 
virtual VOID Show_System_Welcome_Message_Disable ()=0
 Disable show system welcome message method. More...
 
virtual VOID Show_System_Ready_Message_Enable ()=0
 Enable system ready message method. More...
 
virtual VOID Show_System_Ready_Message_Disable ()=0
 Disable system ready message method. More...
 
virtual VOID Transmit_Boot_Welcome_Message ()=0
 Transmit boot welcome message method. More...
 
virtual VOID Transmit_System_Ready_Message ()=0
 Transmit system ready message method. More...
 
VOID Transmit_Char (C8 c8_Character)
 Receive character. More...
 
VOID Transmit_String_Of_Char (C8 c8_Character, U32 u32_Count)
 
VOID Transmit_String_Of_Char (C8 c8_Character, U32 u32_Count, U32 u32_End_New_Line_Count)
 
VOID Transmit_String (C8 *c8_String)
 
VOID Transmit_String (U32 u32_Begin_New_Lines_Count, C8 *c8_String)
 
VOID Transmit_String (C8 *c8_String, U32 u32_End_New_Line_Count)
 
VOID Transmit_String (U32 u32_Begin_New_Lines_Count, C8 *c8_String, U32 u32_End_New_Line_Count)
 
VOID Transmit_New_Line ()
 Transmit new line. More...
 
VOID Transmit_New_Line (U32 u32_Count)
 Transmit new lines. More...
 
VOID Transmit_Connector_Value_As_Boolean (TBlock_Input_Connector *object_Connector)
 
VOID Transmit_Connector_Value_As_Boolean (TBlock_Input_Connector *object_Connector, U32 u32_End_New_Line_Count)
 
VOID Transmit_Connector_Value_As_Decimal (TBlock_Input_Connector *object_Connector)
 
VOID Transmit_Connector_Value_As_Decimal (TBlock_Input_Connector *object_Connector, U32 u32_End_New_Line_Count)
 
VOID Transmit_Connector_Value_As_Hex (TBlock_Input_Connector *object_Connector)
 
VOID Transmit_Connector_Value_As_Hex (TBlock_Input_Connector *object_Connector, U32 u32_End_New_Line_Count)
 
VOID Transmit_Connector_Value_As_Boolean (TBlock_Output_Connector *object_Connector)
 
VOID Transmit_Connector_Value_As_Boolean (TBlock_Output_Connector *object_Connector, U32 u32_End_New_Line_Count)
 
VOID Transmit_Connector_Value_As_Decimal (TBlock_Output_Connector *object_Connector)
 
VOID Transmit_Connector_Value_As_Decimal (TBlock_Output_Connector *object_Connector, U32 u32_End_New_Line_Count)
 
VOID Transmit_Connector_Value_As_Hex (TBlock_Output_Connector *object_Connector)
 
VOID Transmit_Connector_Value_As_Hex (TBlock_Output_Connector *object_Connector, U32 u32_End_New_Line_Count)
 
VOID Transmit_Variant_As_Hex (TConOpSys_Variant *object_Value)
 
VOID Transmit_Variant_As_Hex (TConOpSys_Variant *object_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_BOOL_Value_As_Decimal (BOOL bool_Value)
 
VOID Transmit_BOOL_Value_As_Decimal (BOOL bool_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_BOOL_Value_As_Hex (BOOL bool_Value)
 
VOID Transmit_BOOL_Value_As_Hex (BOOL bool_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_TRIL_Value_As_Decimal (TRIL tril_Value)
 
VOID Transmit_TRIL_Value_As_Decimal (TRIL tril_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U8_Value_As_Decimal (U8 u8_Value)
 
VOID Transmit_U8_Value_As_Decimal (U8 u8_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U8_Value_As_Hex (U8 u8_Value)
 
VOID Transmit_U8_Value_As_Hex (U8 u8_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U8_Buffer (U8 *u8_Data_Buffer, U32 u32_Length)
 
VOID Transmit_I8_Value_As_Decimal (I8 i8_Value)
 
VOID Transmit_I8_Value_As_Decimal (I8 i8_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I8_Value_As_Hex (I8 i8_Value)
 
VOID Transmit_I8_Value_As_Hex (I8 i8_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U16_Value_As_Decimal (U16 u16_Value)
 
VOID Transmit_U16_Value_As_Decimal (U16 u16_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U16_Value_As_Hex (U16 u16_Value)
 
VOID Transmit_U16_Value_As_Hex (U16 u16_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I16_Value_As_Decimal (I16 i16_Value)
 
VOID Transmit_I16_Value_As_Decimal (I16 i16_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I16_Value_As_Hex (I16 i16_Value)
 
VOID Transmit_I16_Value_As_Hex (I16 i16_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U32_Value_As_Decimal (U32 u32_Value)
 
VOID Transmit_U32_Value_As_Decimal (U32 u32_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U32_Value_As_Hex (U32 u32_Value)
 
VOID Transmit_U32_Value_As_Hex (U32 u32_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I32_Value_As_Decimal (I32 i32_Value)
 
VOID Transmit_I32_Value_As_Decimal (I32 i32_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I32_Value_As_Hex (I32 i32_Value)
 
VOID Transmit_I32_Value_As_Hex (I32 i32_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U64_Value_As_Decimal (U64 u64_Value)
 
VOID Transmit_U64_Value_As_Decimal (U64 u64_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_U64_Value_As_Hex (U64 u64_Value)
 
VOID Transmit_U64_Value_As_Hex (U64 u64_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I64_Value_As_Decimal (I64 i64_Value)
 
VOID Transmit_I64_Value_As_Decimal (I64 i64_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_I64_Value_As_Hex (I64 i64_Value)
 
VOID Transmit_I64_Value_As_Hex (I64 i64_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_F32_Value_As_Decimal (F32 f32_Value)
 
VOID Transmit_F32_Value_As_Decimal (F32 f32_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_F32_Value_As_Hex (F32 f32_Value)
 
VOID Transmit_F32_Value_As_Hex (F32 f32_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_F64_Value_As_Decimal (F64 f64_Value)
 
VOID Transmit_F64_Value_As_Decimal (F64 f64_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_F64_Value_As_Hex (F64 f64_Value)
 
VOID Transmit_F64_Value_As_Hex (F64 f64_Value, U32 u32_End_New_Line_Count)
 
VOID Transmit_DateTime_Structure_Value_As_String (TDate_Time::TDate_Time_Structure struct_DateTime_Structure)
 
VOID Transmit_DateTime_Structure_Value_As_String (TDate_Time::TDate_Time_Structure struct_DateTime_Structure, U32 u32_End_New_Line_Count)
 
VOID Transmit_Buffer_As_U8_Dump (U32 u32_Address, U32 u32_Size, U8 *u8_Buffer, BOOL bool_Align)
 
virtual BOOL Set_Address (U8 u8_Address)
 Set node address. More...
 
VOID Log_Bus_Message ()
 Log message event for statistics purpouses. More...
 
VOID Log_Bus_Communication_Error ()
 Log communication error event for statistics purpouses. More...
 
VOID Log_Bus_Character_Overrun ()
 Log character overrun error event for statistics purpouses. More...
 
VOID Log_Bus_Frame_Size_Error ()
 Log frame size error event for statistics purpouses. More...
 
VOID Log_Bus_CRC_Error ()
 Log CRC error event for statistics purpouses. More...
 
VOID Log_Slave_Exception_Error ()
 Log slave exception error event for statistics purpouses. More...
 
VOID Log_Slave_Message ()
 Log slave messege event for statistics purpouses. More...
 
VOID Log_Slave_Broadcast_Message ()
 Log slave broadcast messege event for statistics purpouses. More...
 
VOID Log_Slave_Unknown_Request_Error ()
 Log slave unknown request event for statistics purpouses. More...
 
VOID Log_Slave_No_Response ()
 Log slave no responce event for statistics purpouses. More...
 
VOID Log_Slave_No_Acknowledge ()
 Log slave no acknowledge event for statistics purpouses. More...
 
VOID Log_Slave_Busy ()
 Log slave busy event for statistics purpouses. More...
 
VOID Log_Parameter_Information_Request ()
 Log parameter information request event for statistics purpouses. More...
 
VOID Log_Parameter_Information_Request_Error ()
 Log parameter information request error event for statistics purpouses. More...
 
VOID Log_Parameter_Read_Request ()
 Log parameter read event for statistics purpouses. More...
 
VOID Log_Parameter_Read_Request_Error ()
 Log parameter read error event for statistics purpouses. More...
 
VOID Log_Parameter_Write_Request ()
 Log parameter write event for statistics purpouses. More...
 
VOID Log_Parameter_Write_Request_Error ()
 Log parameter write error event for statistics purpouses. More...
 
VOID Log_Event_Information_Request ()
 Log system event information request event for statistics purpouses. More...
 
VOID Log_Event_Information_Request_Error ()
 Log system event information request error event for statistics purpouses. More...
 

Private Member Functions

VOID Process_UDP ()
 

Private Attributes

struct netif gnetif
 Global network interface structure. More...
 
uint8_t IP_ADDRESS [4]
 IP address. More...
 
uint8_t NETMASK_ADDRESS [4]
 Netmask address. More...
 
uint8_t GATEWAY_ADDRESS [4]
 Gateway address. More...
 
ip4_addr_t ipaddr
 
ip4_addr_t netmask
 
ip4_addr_t gw
 
udp_pcb * pcb_UDP
 Pointer to PCB structure to use with UDP. More...
 

Additional Inherited Members

- Protected Member Functions inherited from TProtocol_Base
VOID New_Data_Arrived ()
 Indicate new data for processing arrived. More...
 
VOID New_Data_Processed ()
 Indicate new data processed. More...
 
BOOL Is_New_Data_Present ()
 Return new data presentse status. More...
 
BOOL Is_New_Data_Processed ()
 Return new data processed status. More...
 
- Protected Attributes inherited from TProtocol_Base
BOOL bool_Parameter_Mapping_Enable = (BOOL)false
 Parameter mapping enable flag. More...
 
U32 u32_Bus_Message_Counter = (U32)0
 Total communication bus message counter. More...
 
U32 u32_Bus_Communication_Error_Counter = (U32)0
 Communication bus error counter. More...
 
U32 u32_Bus_Character_Overrun_Counter = (U32)0
 Communication bus character overrun error counter. More...
 
U32 u32_Bus_CRC_Error_Counter = (U32)0
 Communication bus CRC error counter. More...
 
U32 u32_Bus_Frame_Size_Error_Counter = (U32)0
 Communication bus frame size error counter. More...
 
U32 u32_Slave_Exception_Error_Counter = (U32)0
 Slave exception error counter. More...
 
U32 u32_Slave_Message_Counter = (U32)0
 Total slave message counter. More...
 
U32 u32_Slave_Broadcast_Message_Counter = (U32)0
 Slave broadcast message counter. More...
 
U32 u32_Slave_Unknown_Request_Counter = (U32)0
 Slave unknown request counter. More...
 
U32 u32_Slave_No_Response_Counter = (U32)0
 Slave no responce counter. More...
 
U32 u32_Slave_No_Acknowledge_Counter = (U32)0
 Slave no acknowledge counter. More...
 
U32 u32_Slave_Busy_Counter = (U32)0
 Slave busy counter. More...
 
U32 u32_Parameter_Information_Request_Counter = (U32)0
 Parameter information request counter. More...
 
U32 u32_Parameter_Information_Request_Error_Counter = (U32)0
 Parameter information request error counter. More...
 
U32 u32_Parameter_Read_Request_Counter = (U32)0
 Parameter read request counter. More...
 
U32 u32_Parameter_Read_Request_Error_Counter = (U32)0
 Parameter read request error counter. More...
 
U32 u32_Parameter_Write_Request_Counter = (U32)0
 Parameter write request counter. More...
 
U32 u32_Parameter_Write_Request_Error_Counter = (U32)0
 Parameter write request error counter. More...
 
U32 u32_Event_Information_Request_Counter = (U32)0
 Event information request counter. More...
 
U32 u32_Event_Information_Request_Error_Counter = (U32)0
 Event information request error counter. More...
 
TExecution_Profile object_Execution_Profile
 Execution profile object. More...
 

Detailed Description

Communication protocol IP over ETHERNET class.

Constructor & Destructor Documentation

◆ TProtocol_IP_Over_ETHERNET()

TProtocol_IP_Over_ETHERNET::TProtocol_IP_Over_ETHERNET ( )

Class constructor method.


Note
None
Override
Not allowed
Attention
Don't call this method directly.

References GATEWAY_ADDRESS, IP_ADDRESS, NETMASK_ADDRESS, NULL, and pcb_UDP.

◆ ~TProtocol_IP_Over_ETHERNET()

TProtocol_IP_Over_ETHERNET::~TProtocol_IP_Over_ETHERNET ( )

Class destructor method.


Note
None
Override
Not allowed
Attention
Don't call this method directly.

Member Function Documentation

◆ Done()

VOID TProtocol_IP_Over_ETHERNET::Done ( )

◆ Enter_Protocol_Mode()

VOID TProtocol_IP_Over_ETHERNET::Enter_Protocol_Mode ( )
virtual

Enter protocol mode method.


Note
None
Returns
None
Override
Requered
Attention
None

Implements TProtocol_Base.

◆ Enter_Terminal_Mode()

VOID TProtocol_IP_Over_ETHERNET::Enter_Terminal_Mode ( )
virtual

Enter terminal mode method.


Note
None
Returns
None
Override
Requered
Attention
None

Implements TProtocol_Base.

◆ Execute()

VOID TProtocol_IP_Over_ETHERNET::Execute ( )
virtual

Background cyclic execution method.


Note
Override this method to implement protocol specific functionality.
Returns
None
Override
Optional
Attention
None

Reimplemented from TProtocol_Base.

References ethernetif_input(), and gnetif.

Here is the call graph for this function:

◆ Execute_1ms()

VOID TProtocol_IP_Over_ETHERNET::Execute_1ms ( )
virtual

System task 1ms cyclic execution method.


Note
Override this method to implement protocol specific functionality.
Returns
None
Override
Optional
Attention
None

Reimplemented from TProtocol_Base.

References TSystem_Timer_Base::Get_Actual_Time(), object_System_Timer, and set_sys_time().

Here is the call graph for this function:

◆ Init()

VOID TProtocol_IP_Over_ETHERNET::Init ( )

◆ Is_Protocol_Mode()

BOOL TProtocol_IP_Over_ETHERNET::Is_Protocol_Mode ( )
virtual

Protocol mode operation status method.


Note
None
Returns
BOOL - Protocol mode operation status
Return values
false- Communication protocol operates not in protocol mode
true- Communication protocol operates in protocol mode
Override
Requered
Attention
None

Implements TProtocol_Base.

◆ Is_Terminal_Mode()

BOOL TProtocol_IP_Over_ETHERNET::Is_Terminal_Mode ( )
virtual

Terminal mode operation status method.


Note
None
Returns
BOOL - Terminal mode operation status
Return values
false- Communication protocol operates not in terminal mode
true- Communication protocol operates in terminal mode
Override
Requered
Attention
None

Implements TProtocol_Base.

◆ Process_UDP()

VOID TProtocol_IP_Over_ETHERNET::Process_UDP ( )
private

◆ Receive_String() [1/2]

VOID TProtocol_IP_Over_ETHERNET::Receive_String ( C8 c8_String)
virtual

Receive string.


Note
None
Parameters
[in]*c8_String- Pointer to the null terminated string of characters
Returns
None
Override
Requered
Attention
None

Implements TProtocol_Base.

◆ Receive_String() [2/2]

VOID TProtocol_IP_Over_ETHERNET::Receive_String ( C8 c8_String,
U32  u32_Length 
)
virtual

Receive string.


Note
None
Parameters
[in]*c8_String- Pointer to the string of characters
[in]*u32_Length- Length of the string
Returns
None
Override
Requered
Attention
None

Implements TProtocol_Base.

◆ Send_Information()

VOID TProtocol_IP_Over_ETHERNET::Send_Information ( TProtocol_Base object_Protocol)
virtual

Send information about protocol method.


Note
None
Parameters
[in]*object_Protocol- Pointer to the communication protocol
Returns
None
Override
Requered
Attention
None

Implements TProtocol_Base.

References GATEWAY_ADDRESS, IP_ADDRESS, NETMASK_ADDRESS, TProtocol_Base::Transmit_String(), and TProtocol_Base::Transmit_U8_Value_As_Decimal().

Referenced by TCommand_ETHERNET::Execute().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ GATEWAY_ADDRESS

uint8_t TProtocol_IP_Over_ETHERNET::GATEWAY_ADDRESS[4]
private

Gateway address.

Referenced by Init(), Send_Information(), and TProtocol_IP_Over_ETHERNET().

◆ gnetif

struct netif TProtocol_IP_Over_ETHERNET::gnetif
private

Global network interface structure.

Referenced by Execute(), and Init().

◆ gw

ip4_addr_t TProtocol_IP_Over_ETHERNET::gw
private

Referenced by Init().

◆ IP_ADDRESS

uint8_t TProtocol_IP_Over_ETHERNET::IP_ADDRESS[4]
private

IP address.

Referenced by Init(), Send_Information(), and TProtocol_IP_Over_ETHERNET().

◆ ipaddr

ip4_addr_t TProtocol_IP_Over_ETHERNET::ipaddr
private

Referenced by Init().

◆ netmask

ip4_addr_t TProtocol_IP_Over_ETHERNET::netmask
private

Referenced by Init().

◆ NETMASK_ADDRESS

uint8_t TProtocol_IP_Over_ETHERNET::NETMASK_ADDRESS[4]
private

Netmask address.

Referenced by Init(), Send_Information(), and TProtocol_IP_Over_ETHERNET().

◆ pcb_UDP

udp_pcb* TProtocol_IP_Over_ETHERNET::pcb_UDP
private

Pointer to PCB structure to use with UDP.

Referenced by TProtocol_IP_Over_ETHERNET().


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