STM32Cube Expansion Pack CAN Stack
Todo List
Member bxCan_canRxBuffer
bring the buffers to save class
Member bxCan_RxMessageType::HAL_Header
it will be at the end of the struct, maybe we hide this with a casted type
Class bxCan_TxMessageType

ich muss mich noch entscheiden wie ich den notwendigen CAN Controller auswähle

  • entweder zwei Buffer
  • oder die Message weiß wohin sie muss
  • was ist wenn eine Nachricht auf beide Controller muss

nur das CAN Module (aka HAL) darf CAN Message bedienen, aber mein State gehört in das Interface

Class CanControllerBaudrateConfigType
we should add a picture to explain the bit segments
Member CanDrv_bxCAN::canTxBuffer [CAN_TX_SW_BUFFER_SIZE]
bring the buffers to save class
Member CanDrv_bxCAN::FindFreeFilter (const uint8_t *ptr2FilterBankNumber, const uint8_t *ptr2FilterNumber, const uint8_t *ptr2FilterMode)

we need to clean up the filter number CAN1_USED_RX_HW_FILTER

we need a readable implementation for the "second identifier filter bit" inside ptr2FilterMode

Member CanDrv_bxCAN::Init (const CanConfigType *ptr2Config=NULL_PTR, const ComIf *ptr2ComIfObject=NULL_PTR)
we need a generic mode for IRQ activation
Member CanDrv_bxCAN::SetControllerMode (ECU_CanController Controller, CanControllerStates Transition)
maybe we add the possibility to call the function with Controller == ECU_CanController::NBROF_CanController
Member CanDrv_bxCAN::SetFilterByBitmask (ECU_CanController Controller, ComStack_CanIdType FilterId, ComStack_CanIdType FilterMask)
we need a handling to select different Rx Fifo
Member CanDrv_bxCAN::SetFilterByCanId (ECU_CanController Controller, ComStack_CanIdType FilterId)
we need a handling to select different Rx Fifo
Member CanDrv_bxCAN::TxTask (void)
the Tx Task need handling to transmit to other CAN controller then the bxCanMaster
Member CanFT2p0::GetRxPduName (void)
we should add a virtual function to the CanIfUpperLayer class
Member CanFT2p0_DataName
we need a way to do this)
Module CanFT2p0_ID_Types

we should change this defines to a union struct handling

Class CanIf
es braucht eine Absicherung auf nur ein Objekt
Member CanIf::Init (void)
MyTest_RxPduConfig[InitPdu].N_PDU_Name -->> muss noch zu geordnet werden !!!
Member CanIf::Receive (REF2VAR(ComStack_CanMsgHeader, AUTOMATIC) msgHeader, const uint8_t *ptr2Data)

this is a fix not save implementation

we need some work here -> CanIf::Receive( REF2VAR(ComStack_CanMsgHeader, AUTOMATIC ) msgHeader, P2VAR(uint8_t, AUTOMATIC, AUTOMATIC) ptr2Data )

Member CanIf::Receive (CanIf_RxPduIdType rxPduId, const CanIf_PduInfoType *ptr2PduInfo)

this is a fix not save implementation

we need some work here -> CanIf::Receive( CONST(CanIf_RxPduIdType,AUTOMATIC) rxPduId, P2VAR(CanIf_PduInfoType, AUTOMATIC, AUTOMATIC) ptr2PduInfo)

Member CanIf::Transmit (ComStack_PduType txPduId, const ComStack_PduInfoType *ptr2PduInfo)
we should rework to select the CAN Channel by using PDU IDs
Member CanIf::Transmit (CanIf_TxPduIdType txPduId, const CanIf_PduInfoType *ptr2PduInfo)
we should rework to select the CAN Channel by using PDU IDs
Member CanIf::txHeaderList [CANIF_TXPDU_COUNT]
there are STM controller with three CAN controller too!!!
Member CANIF_EXTID
need refactor from CANIF_xx to CAN_xx
Member CANIF_NO_RTR
need refactor from CANIF_xx to CAN_xx
Member CANIF_STDID
need refactor from CANIF_xx to CAN_xx
Member CANIF_USE_RTR
need refactor from CANIF_xx to CAN_xx
Class CanIfUpperLayer
maybe we should bring this to a template
Member ComIf::Transmit (ComStack_PduType txPduId, const ComStack_PduInfoType *ptr2PduInfo)=0
we should rework to select the CAN Channel by using PDU IDs
Member EXTERN_CONST (std::vector< ECU_CanController >, AUTOMATIC) controllerList
das sollte auch extern sein: extern const ECU_CanController controllerList[];
Member IsoTp::GetRxPduName (void)

we should add a virtual function to the CanIfUpperLayer class

we should add a virtual function to the CanIfUpperLayer class

Member IsoTp::GetTxPduName (void)

we should add a virtual function to the CanIfUpperLayer class

we should add a virtual function to the CanIfUpperLayer class

Member IsoTP_StatesType
maybe we bring a standard type to Std_types.h
Member NULL_PTR
check NULL_PTR definition
Member ptr2ComIf
we should bring this inside the CanDrv object, we need it outside because of use in ISR
Member RS601_Fueltech_DB []
the specification of the ECU (today the FT500) is not ready to use
Member tm_boolean
there is a boolean definition, AUTOSAR need pointer access
Page Tutorial 01: CanIf_AppDemo
Vielleicht kennt jemand ja einen Weg diese Konfiguration in Tabellenform ähnlich der FreeRTOS Konfiguration in der STM32CubeIDE umzusetzen.