ConOpSys V2970  P004.07
ANVILEX control operating system
Todo List
Member Bin2HexTable [16]
ANVILEX KM: Fix warning [bcc32 Warnung] Defines.h(500): W8058 Vorcompilierter Header initialisierte Daten im Header kann nicht erzeugt werden
Module bridgeif
:
  • compact static FDB entries (instead of walking the whole array)
  • add FDB query/read access
  • add FDB change callback (when learning or dropping auto-learned entries)
  • prefill FDB with MAC classes that should never be forwarded
  • multicast snooping? (and only forward group addresses to interested ports)
  • support removing ports
  • check SNMP integration
  • VLAN handling / trunk ports
  • priority handling? (although that largely depends on TX queue limitations and lwIP doesn't provide tx-done handling)
Module dhcp4
:
  • Support for interfaces other than Ethernet (SLIP, PPP, ...)
Module httpc
:
  • persistent connections
  • select outgoing http version
  • optionally follow redirect
  • check request uri for invalid characters? (e.g. encode spaces)
  • IPv6 support
File lowpan6.c
: RFC 6775.
File lowpan6_common.c
: RFC 6775.
Module rfc7668if
:
  • further testing
  • support compression contexts
  • support multiple addresses
  • support multicast
  • support neighbor discovery
Member RUNTIME_ENGINE_P015_27
ANVILEX KM: Deprecated ==> To remove
Member SNTP_CHECK_RESPONSE

: discard reply if any of the VN, Stratum, or Transmit Timestamp fields is 0 or the Mode field is not 4 (unicast) or 5 (broadcast).

  • >= 4

: to check that the Root Delay and Root Dispersion fields are each greater than or equal to 0 and less than infinity, where infinity is currently a cozy number like one second. This check avoids using a server whose synchronization source has expired for a very long time.

Member TBlock_Input_Connector::Connect (F32 *f32_Variable)
ANVILEX KM: Check for possible deprecation.
Member TBlock_Input_Connector::Connect (BOOL *bool_Variable)
ANVILEX KM: Check for possible deprecation.
Member TBlock_Input_Connector::object_Pointer
ANVILEX KM: Make property not accessable ==> Mode to private
Member TBlock_Input_Connector::operator= (TParameter_Base &object_Parameter)
ANVILEX KM: Remove after the test
Class TBlock_Input_Connector::TInput_Connector_Status
ANVILEX KM: Potentioal optimisation
Member TBlock_Parameter_Connector::Connect (BOOL *bool_Variable)
ANVILEX KM: Remove after the tests
Member TBlock_Parameter_Connector::Connect (F32 *f32_Variable)
ANVILEX KM: Remove after the tests
Member TCircularList::Delete (VOID *Pointer)

ANVILEX KM: Check for data exists

ANVILEX KM: Reassign pointer

Member TCircularList::Delete ()

ANVILEX KM: Reassign pointer

ANVILEX KM: Reassig pointers

Member TCommunication_Data_Link::Communication_Data_Transmit (U8 u8_Transmit_Value)
Anvilex GG: Remove after tests
Member TCommunication_Data_Link::Execute_1ms ()
Anvilex GG: Remove after tests
Member TCommunication_Link::Set_Receive_Mode ()
ANVILEX KM: WARNING!!! If UART not overrides this method, calling this method caused endless loop.
Member TConOpSys_Variant::Get_Type_As_UCS ()
ANVILEX KM: Move this method to ConOpSys_variant_Data_Type
Member TConOpSys_Variant::Is_Storage_Type ()
AANVILEX KM: Optimise this method
Member TConOpSys_Variant::Precheck_Value_As_Decimal_String (C8 *s8_Value)

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Implement

ANVILEX KM: Finish implementation of the method

ANVILEX KM: Implement

ANVILEX KM: Implement

Member TConOpSys_Variant::Set_Type (UnicodeString ucs_Type_Name)
ANVILEX KM: Check for correct usage on arrays
Member TConOpSys_Variant::Set_Type (TConOpSys_Variant_Data_Type enum_New_Type)

ANVILEX KM: Change datatype to *VMC64

ANVILEX KM: Change datatype to *VMC64

Member TConOpSys_Variant::Set_Value_As_Decimal_String (C8 *s8_Value)

ANVILEX KM: Optimise assignment

ANVILEX KM: Optimise assignment

ANVILEX KM: Optimise assignment

ANVILEX: Can be not correct work for overflowed signed values

ANVILEX: Split signed and unsigned values to different variables.

ANVILEX KM: Optimise assignment

ANVILEX KM: Optimise assignment

Member TCPU_STM32F410CBU6::Get_CPU_Flash_Size ()
Fix get FLASH size method
Member TCPU_STM32F410CBU6::Get_CPU_Unique_Device_ID (U32 u32_Index)
Fix get COU ID method
Class TCPU_STM32F429
ANVILEX KM: Cleanup code.
Member TCPU_STM32F429::Get_Image_End ()
ANVILEX KM: Cleanup code.
Member TCPU_STM32F429::Get_Image_Size ()

ANVILEX KM: Cleanup code.

ANVILEX KM: Cleanup code.

Member TCPU_STM32F429::Get_Reset_Source ()
ANVILEX KM: Implement get reset source functionality
Member TFLASH_STM32F429::Erase_Block_By_Index (U32 u32_Block_Index)
ANVILEX GG: Add timeout
Member TFLASH_STM32F429::Write_Buffer (U32 u32_Address, U32 u32_Size, U8 *u8_Data_Buffer)
ANVILEX GG: Add timeout
Member TFunction_Block_Base::Create_Event (U32 u32_Event_ID)
ANVILEX KM ==> Deprecated, to remove
Member TFunction_Block_Base::Send_Information (TProtocol_Base *object_Protocol)
ANVILEX KM: Implement sending status of the function block
Member TFunction_Block_Grid_Filter::Init ()
ANVILEX: ToDo: Determinate constant
Member TFunction_Block_Liquid_Cooling_System::Haet_Exchanger ()
ANVILEX KM: Implement hysteresis hier. Flacker occurd near on temperature. The best way add additional states for operation in standby mode.
Member TFunction_Block_Liquid_Cooling_System_T2::Haet_Exchanger ()
ANVILEX KM: Implement hysteresis hier. Flacker occurd near on temperature. The best way add additional states for operation in standby mode.
Member TFunction_Block_Liquid_Cooling_System_T3::Haet_Exchanger ()
ANVILEX KM: Implement hysteresis hier. Flacker occurd near on temperature. The best way add additional states for operation in standby mode.
Member TFunction_Block_RMS_Moving_Average_Filter_128_3C::TFunction_Block_RMS_Moving_Average_Filter_128_3C ()
ANVILEX KM: Remove local variables initialisation from constructor
Member TFunction_Block_SRF_PLL::TFunction_Block_SRF_PLL ()
ANVILEX KM: Move initialosation to class declaration
Member TMemoryManager::allocMemory (U32 Size, BOOL Clear)
ANVILEX KM: Mist be used segment size
Member TMemoryManager::dllocMemory (VOID *Pointer)
ANVILEX KM: May be not correct operation.
Member TMemoryManager::MergeSegments (TAllocatedSegment *Segment)
ANVILEX KM: Verify segment, must be valid and free
Member TMemoryManager::rllocMemory (VOID *Pointer, U32 Size)

ANVILEX KM: Try to decrease upper segment

ANVILEX KM: Try to increase upper segment

Member TMemoryManager::SplitSegment (TAllocatedSegment *Segment, U32 SegmentSizeToAllocation)
ANVILEX KM: Verify segment, must be valid and free
Member TMODBUS_Request_FIFO::Pop (U8 *u8_Value, F32 *f32_Interval)
ANVILEX KM: Use timeout method for more quick calculations
Member TMODBUS_Request_FIFO::TMODBUS_Request_FIFO ()
ANVILEX KM: To remove
Member TP017_66_KG3_FAN::TP017_66_KG3_FAN ()
1. Implement correct approximation for better calculation of the supply voltage.
Member TP018_39_KG3_BLA_T1_E::Execute ()
ANVILEX KM ==> ANVILEX GG: May be error, please recheck.
Member TParameter_Base::Check_And_Fix_Out_Of_Limit_Value ()

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

Member TParameter_Base::Check_Limits (TConOpSys_Variant *object_New_Value)

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX KM: ???

ANVILEX KM: ???

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

ANVILEX : changes requered during parameter manager optimisation. Comparation may be suspect.

Member TParameter_Base::Get_Value ()
ANVILEX KM: Implement array support
Member TParameter_Base::Get_Variant_Data (U32 u32_Element_Index)
ANVILEX KM: WARNING ==> Rewrite method. ==> Very urgent!!!
Member TParameter_Base::Get_Variant_Data ()
ANVILEX KM: Implement array support
Member TParameter_Base::Initialise_Array ()

ANVILEX KM: May be better to check boundary before assign

ANVILEX KM: Must be rewritten to support array

Set post-write processing error

ANVILEX KM: Set depending on initialisation result

Set pre-write processing error

ANVILEX KM: Processing error can be optimised using "bool_Return_Code" direct

Member TParameter_Base::Initialise_Element ()

ANVILEX KM: May be better to check boundary before assign

Set pre-write processing error

Set post-write processing error

ANVILEX KM: Set depending on initialisation result

Member TParameter_Base::Initialise_From_Media (TConOpSys_Variant_Data struct_Variant_Data_Pointer)
ANVILEX KM: Check for array support
Member TParameter_Base::Initialise_From_Media (TConOpSys_Variant_Data struct_Variant_Data_Pointer, U32 u32_Element_Index)
ANVILEX KM: To implement
Member TParameter_Base::Initialise_From_Media (TConOpSys_Variant_Data struct_Variant_Data_Pointer)
ANVILEX KM: Transfer pointer to variant data record for speed up parameter initialisation
Member TParameter_Base::Is_Element_Exists (U32 u32_Element_Index)
ANVILEX KM: Verify relation operator. Is index 0 or 1 based
Member TParameter_Base::Is_Store_To_Media_Database ()
ANVILEX: Add processing of the quasivolatile parameters
Member TParameter_Base::Read_Value_As_Raw_Data (U8 *u8_Raw_Data)

ANVILEX: This data type not supported now

ANVILEX: This data type not supported now

ANVILEX: This data types not supported now

ANVILEX: This data type not supported now

ANVILEX: This data type not supported now

Member TParameter_Base::Read_Value_As_Variant (TConOpSys_Variant *object_Read_Value, U32 u32_Element_Index)
ANVILEX KM: Test element index
Member TParameter_Base::Send_Information (TProtocol_Base *object_Protocol)

ANVILEX : ToDo : Compare to NULL is not requered

ANVILEX : ToDo : Compare to NULL is not requered

ANVILEX : ToDo : Compare to NULL is not requered

Member TParameter_Base::struct_Value
Make struct_Value variable protected or private.
Member TParameter_Base::Write_Value_As_Hex_String (C8 *s8_New_Value)

ANVILEX KM: Implement array support.

ANVILEX KM: Implement array support.

ANVILEX KM: Implement array support.

Member TParameter_Base::Write_Value_As_String (C8 *s8_New_Value)

ANVILEX KM: Investigate why boundary checking disabled.

ANVILEX KM: Implement array support.

ANVILEX KM: Implement array support.

Member TParameter_Base::Write_Value_As_U64 (U64 u64_New_Value, U32 u32_Element_Index)
ANVILEX KM: Check index
Member TParameter_Base::Write_Value_As_Variant (TConOpSys_Variant *object_New_Value, U32 u32_Element_Index)
ANVILEX: Enter cricical cection. Disable all interrupts
Member TParameter_Base::Write_Value_As_Variant (TConOpSys_Variant *object_New_Value)

ANVILEX: Enter cricical cection. Disable all interrupts

ANVILEX: Exit critical section. Enable all interrupts

Member TParameter_Base::Write_Value_As_Variant (TConOpSys_Variant *object_New_Value, U32 u32_Element_Index)
ANVILEX: Exit critical section. Enable all interrupts
Member TProtocol_ANVILEX_Over_UART::Execute ()
ANVILEX KM : Code has no action
Member TProtocol_ANVILEX_Over_UART_V2::Get_Request_Data_Length ()
ANVILEX KM: Move this method to anvilex library and add string verification
Member TProtocol_MODBUS_Over_UART::Execute ()
ANVILEX KM: Log error
Member TProtocol_MODBUS_Over_UART::Execute_1ms ()

ANVILEX KM: Use timeout method for more quick calculations

ANVILEX KM: Use timeout method for more quick calculations

Member TProtocol_MODBUS_Over_UART::Write_Multiple_Coils ()
ANVILEX KM: Stack may be overflowed!!!
Member TS25FL512::Execute ()
Eliminate magic number as parameter in method invocation
Member TS25FL512::u8_Test_Buffer [2048]
ANVILEX KM: Investigate of this buffer purpoise
Member TSPI1_STM32F410CBU6::Send_Byte (U8 u8_Byte_To_Send)
ANVILEX KM: This method is not allowed for unidirectional mode
Member TSPI2_STM32F429::Receive_Byte (U8 *u8_Byte_To_Receive)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI2_STM32F429::Send_Byte (U8 u8_Byte_To_Send)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI2_STM32F429::Transfer_Byte (U8 u8_Byte_To_Send, U8 *u8_Byte_To_Receive)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI2_STM32F429::Verify_Byte (U8 u8_Byte_To_Verify)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI4_STM32F429::Receive_Byte (U8 *u8_Byte_To_Receive)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI4_STM32F429::Send_Byte (U8 u8_Byte_To_Send)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI4_STM32F429::Transfer_Byte (U8 u8_Byte_To_Send, U8 *u8_Byte_To_Receive)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI4_STM32F429::Verify_Byte (U8 u8_Byte_To_Verify)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI5_STM32F429::Receive_Byte (U8 *u8_Byte_To_Receive)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI5_STM32F429::Send_Byte (U8 u8_Byte_To_Send)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI5_STM32F429::Transfer_Byte (U8 u8_Byte_To_Send, U8 *u8_Byte_To_Receive)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSPI5_STM32F429::Verify_Byte (U8 u8_Byte_To_Verify)

ANVILEX KM: Implement correct handling of the timeout.

ANVILEX KM: Implement correct handling of the timeout.

Member TSystem_Timer_Base::Is_Timeout_ms (U32 u32_Start_Timestamp, U32 u32_Timeout)
ANVILEX : Check for possible optimisation using overflow issue
Member TTimer_Base::Set_Interrupt_Frequency (F32 f32_Frequency)
ANVILEX KM: May be need add 1 to the value
Member TUART1_STM32F410CBU6::Communication_Data_Transmit (U8 u8_Transmit_Value)

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

ANVILEX KM: May be we need add waiting for emptying buffer hier

ANVILEX KM: Timeout must be based on actual transmition speed to prevent freeze background task execution.

ANVILEX KM: Rework waiting for empying of the buffer.

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

ANVILEX KM: Optimise this loop to prevent getting current timestamp if buffer is not full

ANVILEX KM: Log error

Member TUART1_STM32F429::Communication_Data_Transmit (U8 u8_Transmit_Value)

ANVILEX KM: Rework waiting for empying of the buffer.

ANVILEX KM: Optimise this loop to prevent getting current timestamp if buffer is not full

ANVILEX KM: Timeout must be based on actual transmition speed to prevent freeze background task execution.

ANVILEX KM: Log error

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

ANVILEX KM: May be we need add waiting for emptying buffer hier

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

Member TUART6_STM32F410CBU6::Communication_Data_Transmit (U8 u8_Transmit_Value)

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

ANVILEX KM: Log error

ANVILEX KM: Timeout must be based on actual transmition speed to prevent freeze background task execution.

ANVILEX KM: Rework waiting for empying of the buffer.

ANVILEX KM: May be we need add waiting for emptying buffer hier

ANVILEX KM: Optimise this loop to prevent getting current timestamp if buffer is not full

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

Member TUART6_STM32F410CBU6::Start_TX_Operation ()
ANVILEX GG: If call Interrupt_Enable, app always in interrupt. Make investigaations
Member TUART6_STM32F429::Communication_Data_Transmit (U8 u8_Transmit_Value)

ANVILEX KM: Rework waiting for empying of the buffer.

ANVILEX KM: Optimise this loop to prevent getting current timestamp if buffer is not full

ANVILEX KM: Timeout must be based on actual transmition speed to prevent freeze background task execution.

ANVILEX KM: Log error

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

ANVILEX KM: May be we need add waiting for emptying buffer hier

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

Member TUART6_STM32F429::Start_TX_Operation ()
ANVILEX GG: If call Interrupt_Enable, app always in interrupt. Make investigaations
Member TUART7_STM32F429::Communication_Data_Transmit (U8 u8_Transmit_Value)

ANVILEX KM: Rework waiting for empying of the buffer.

ANVILEX KM: Optimise this loop to prevent getting current timestamp if buffer is not full

ANVILEX KM: Timeout must be based on actual transmition speed to prevent freeze background task execution.

ANVILEX KM: Log error

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

ANVILEX KM: May be we need add waiting for emptying buffer hier

ANVILEX KM: This code is not requered, UART interrupt can not be entered twice. Candidat to remove.

Member TUART7_STM32F429::Init ()
ANVILEX KM: May be correct value (U32)0x0000246C to prevent unpredicated interrupts
Member TUART7_STM32F429::Start_TX_Operation ()
ANVILEX GG: If call Interrupt_Enable, app always in interrupt
Member TWDT_STM32F410CBU6::Set_Period (F32 f32_New_Period)

ANVILEX ToDo : Implement prescaler settings

ANVILEX ToDo : Implement prescaler adjustment

Member TWDT_STM32F429::Set_Period (F32 f32_New_Period)

ANVILEX ToDo : Implement prescaler adjustment

ANVILEX ToDo : Implement prescaler settings