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

STM32F429 on-chip UART6 hardware abstraction layer class. More...

#include <UART6_STM32F429.h>

Inheritance diagram for TUART6_STM32F429:
Inheritance graph
Collaboration diagram for TUART6_STM32F429:
Collaboration graph

Classes

struct  TSend_Buffer
 Send buffer structure datatype definition. More...
 

Public Member Functions

VOID Init ()
 Object initialisation method. More...
 
VOID Done ()
 Object finalisation method. More...
 
VOID Start_RX_Operation ()
 Start RX operation. More...
 
VOID Stop_RX_Operation ()
 Stop RX operation. More...
 
VOID Start_TX_Operation ()
 Start TX operation. More...
 
VOID Stop_TX_Operation ()
 Stop TX operation. More...
 
VOID Interrupt_Enable (U32 u32_Priority)
 Enable interrupt method. More...
 
VOID Interrupt_Disable ()
 Disable interrupt method. More...
 
VOID Interrupt ()
 Interrupt service method. More...
 

Protected Member Functions

virtual VOID Communication_Data_Transmit (U8 u8_Transmit_Value)
 Transmit data method. More...
 

Private Attributes

BOOL bool_RX_Operation_Enabled
 RX operation enabled status flag. More...
 
BOOL bool_TX_Operation_Enabled
 TX operation enabled status flag. More...
 
volatile BOOL bool_Transmiting_Active
 Transmiting active status flag. More...
 
volatile TSend_Buffer struct_Send_Buffer [UART6_TX_BUFFER_SIZE]
 Buffer for data transmitting. More...
 
volatile U16 u16_Buffer_Count
 Count for struct_Send_Buffer. More...
 
volatile U16 u16_Transmission_Data_Index
 Count data index for transmiting. More...
 

Additional Inherited Members

Detailed Description

STM32F429 on-chip UART6 hardware abstraction layer class.

Member Function Documentation

◆ Communication_Data_Transmit()

VOID TUART6_STM32F429::Communication_Data_Transmit ( U8  u8_Transmit_Value)
protectedvirtual

Transmit data method.


Note
This method adds data to the internal queue.
Parameters
[in]u8_Transmit_Value- Value for transmitting
Returns
None
Override
Not allowed
Attention
None
Todo:
ANVILEX KM: Rework waiting for empying of the buffer.
Todo:
ANVILEX KM: Optimise this loop to prevent getting current timestamp if buffer is not full
Todo:
ANVILEX KM: Timeout must be based on actual transmition speed to prevent freeze background task execution.
Todo:
ANVILEX KM: Log error
Todo:
ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.
Todo:
ANVILEX KM: May be we need add waiting for emptying buffer hier
Todo:
ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

Reimplemented from TCommunication_Data_Link.

References TUART6_STM32F429::TSend_Buffer::bool_Data_Status, bool_Transmiting_Active, bool_TX_Operation_Enabled, TSystem_Timer_Base::Get_Actual_Time(), Increment_Overflowed(), Interrupt_Disable(), Interrupt_Enable(), TSystem_Timer_Base::Is_Timeout_ms(), object_System_Timer, TCommunication_Link::Set_Transmit_Mode(), struct_Send_Buffer, u16_Buffer_Count, TUART6_STM32F429::TSend_Buffer::u8_Data, and UART6_TX_BUFFER_SIZE.

Here is the call graph for this function:

◆ Done()

VOID TUART6_STM32F429::Done ( )

Object finalisation method.


Note
None
Returns
None
Override
Not allowed
Attention
None

References TCommunication_Link::PIO_Done(), Stop_RX_Operation(), and Stop_TX_Operation().

Here is the call graph for this function:

◆ Init()

VOID TUART6_STM32F429::Init ( )

◆ Interrupt()

VOID TUART6_STM32F429::Interrupt ( )

◆ Interrupt_Disable()

VOID TUART6_STM32F429::Interrupt_Disable ( )

Disable interrupt method.


Note
None
Returns
None
Override
Not allowed / Requered / Optional
Attention
None

Referenced by Communication_Data_Transmit(), Stop_RX_Operation(), and Stop_TX_Operation().

Here is the caller graph for this function:

◆ Interrupt_Enable()

VOID TUART6_STM32F429::Interrupt_Enable ( U32  u32_Priority)

Enable interrupt method.


Note
None
Parameters
[in]u32_Priority- Interrupt priority
Returns
None
Override
Not allowed / Requered / Optional
Attention
None

Referenced by Communication_Data_Transmit(), and Start_RX_Operation().

Here is the caller graph for this function:

◆ Start_RX_Operation()

VOID TUART6_STM32F429::Start_RX_Operation ( )

Start RX operation.


Note
Calling this method enables RX operation of the UART.
Returns
None
Override
Not allowed
Attention
None

References bool_RX_Operation_Enabled, and Interrupt_Enable().

Here is the call graph for this function:

◆ Start_TX_Operation()

VOID TUART6_STM32F429::Start_TX_Operation ( )

Start TX operation.


Note
Calling this method enables RX operation of the UART.
Returns
None
Override
Not allowed
Attention
None
Todo:
ANVILEX GG: If call Interrupt_Enable, app always in interrupt. Make investigaations

References bool_TX_Operation_Enabled.

◆ Stop_RX_Operation()

VOID TUART6_STM32F429::Stop_RX_Operation ( )

Stop RX operation.


Note
Calling this method enables RX operation of the UART.
Returns
None
Override
Not allowed
Attention
None

References bool_RX_Operation_Enabled, bool_TX_Operation_Enabled, Interrupt_Disable(), and true.

Referenced by Done().

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

◆ Stop_TX_Operation()

VOID TUART6_STM32F429::Stop_TX_Operation ( )

Stop TX operation.


Note
Calling this method enables RX operation of the UART.
Returns
None
Override
Not allowed
Attention
None

References bool_RX_Operation_Enabled, bool_TX_Operation_Enabled, Interrupt_Disable(), and true.

Referenced by Done().

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

Member Data Documentation

◆ bool_RX_Operation_Enabled

BOOL TUART6_STM32F429::bool_RX_Operation_Enabled
private

RX operation enabled status flag.

Referenced by Init(), Interrupt(), Start_RX_Operation(), Stop_RX_Operation(), and Stop_TX_Operation().

◆ bool_Transmiting_Active

volatile BOOL TUART6_STM32F429::bool_Transmiting_Active
private

Transmiting active status flag.

Referenced by Communication_Data_Transmit(), Init(), and Interrupt().

◆ bool_TX_Operation_Enabled

BOOL TUART6_STM32F429::bool_TX_Operation_Enabled
private

◆ struct_Send_Buffer

volatile TSend_Buffer TUART6_STM32F429::struct_Send_Buffer[UART6_TX_BUFFER_SIZE]
private

Buffer for data transmitting.

Referenced by Communication_Data_Transmit(), Init(), and Interrupt().

◆ u16_Buffer_Count

volatile U16 TUART6_STM32F429::u16_Buffer_Count
private

Count for struct_Send_Buffer.

Referenced by Communication_Data_Transmit(), and Init().

◆ u16_Transmission_Data_Index

volatile U16 TUART6_STM32F429::u16_Transmission_Data_Index
private

Count data index for transmiting.

Referenced by Init(), and Interrupt().


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