123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- //##############################################################################
- //
- // FILE: BMS_CANx_Tools.h
- //
- // TITLE: Header for BMS_CANx_Tools.c
- //
- //Modified for Use in RCT Project
- //##############################################################################
- //
- //==============================================================================
- // Change History:
- //==============================================================================
- // Datum: | Name | Version:| Change / Cause: | No
- //------------------------------------------------------------------------------
- // | | | | 002
- //------------------------------------------------------------------------------
- // 01.08.13 | VR | 1.1 | IAA Project | 001
- //------------------------------------------------------------------------------
- // 20.04.12 | TM | 1.0 | New Build | 000
- //==============================================================================
- //==============================================================================
- // Comment Change / Cause:
- //==============================================================================
- // Change: 003 // 003
- //----------------------
- //
- //
- //==============================================================================
- // Change: 002 // 002
- //----------------------
- //
- //
- //==============================================================================
- // Change: 001 // 001
- //----------------------
- //
- //
- //==============================================================================
- #ifndef __CAN_MASTER_H__
- #define __CAN_MASTER_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- // ***** External **************************************************************
- //extern CAN_MAILBOX CAN_TxMB_BalancingCtrl_100;
- //
- //extern CAN_MAILBOX CAN_TxMB_NLG5_CTL_618;
- //
- //extern CAN_MAILBOX CAN_TxMB_BMU_DICO_18FF9F1E;
- //extern CAN_MAILBOX CAN_TxMB_BMU1_EVCU1_18FF9E1E;
- //extern CAN_MAILBOX CAN_RxMB_DICO1_EVCU_18FF8F03;
- //extern CAN_MAILBOX CAN_RxMB_DICO2_EVCU_18FF8D03;
- //extern CAN_MAILBOX CAN_RxMB_EVCU1_BMU_0CFF3D27;
-
- extern MASTER_X_BMS_TELEGRAM TelegramTxContainer[16];
- extern CAN_MAILBOX* MB_Container[16];
- // Mailboxes for Automatic CAN Id Initialization
- extern CAN_MAILBOX CAN_TxMB_System300;
- extern CAN_MAILBOX CAN_TxMB_System30A;
- extern CAN_MAILBOX CAN_TxMB_Master0A;
- // ***** Funktion Prototypes ***************************************************
- uint16_t CAN_Tx_Balance ( uint16_t i);
- void check_and_save_Voltage ( CAN_MAILBOX *p_MBox, uint16_t SlaveNr, uint16_t SlaveOffset );
- void check_and_save_Status ( CAN_MAILBOX *p_MBox, uint16_t SlaveNr );
- void check_and_save_UI ( CAN_MAILBOX *p_MBox );
- void check_and_save_Temperature ( CAN_MAILBOX *p_MBox, uint16_t SlaveNr, uint16_t SlaveOffset );
- int16_t check_Voltage_Border ( uint16_t Row, uint16_t Index );
- int16_t check_Status_Border ( uint16_t Row, uint16_t Index );
- int16_t check_UI_Border ( uint16_t Row );
- int16_t check_Temperature_Border ( uint16_t Row, uint16_t Index );
- uint16_t Sum_Cell_Voltage ( uint16_t Row );
- uint16_t Test_MAX_LOAD_CELL_VOLTAGE ( uint16_t Row );
- uint16_t Search_MIN_CELL_VOLTAGE ( uint16_t Row );
- uint16_t CAN_Tx_NLG5_CTL_618 ( void );
- void check_and_save_NLG5_ST ( CAN_MAILBOX *p_MBox );
- uint16_t CAN_Tx_BMU_DICO ( void );
- uint16_t CAN_Tx_BMU1_EVCU1 ( void );
- uint16_t check_and_save_DICO1_EVCU ( CAN_MAILBOX *p_MBox );
- uint16_t check_and_save_DICO2_EVCU ( CAN_MAILBOX *p_MBox );
- uint16_t check_and_save_EVCU1_BMU ( CAN_MAILBOX *p_MBox );
- uint16_t CAN_Rx_readout_Mailbox(CAN_MAILBOX *p_MBox,uint8_t *eight_byte_field);
- // ***** Global Prototypes *****************************************************
- uint16_t CAN0_init (void);
- uint16_t CAN0_rx_test (void);
- uint16_t CAN0_tx_test (uint8_t slave_nr,uint8_t *four_byte_field);
- //uint16_t CAN0_tx_send_request_telegram (uint8_t slaveNr);
- uint16_t CAN0_tx_send_request_telegram (BMS_CAN0_SLAVE_t* Slave,uint8_t MasterAlive);
- uint16_t CAN0_init_telegrams (MASTER_X_BMS_TELEGRAM* telegram_ptr,uint8_t nrOfSlaves);
- uint16_t CAN0_is_state_active (uint8_t* activeSlaves,uint8_t nrOfActiveSlaves,uint8_t nrOfCurrentSlave);
- uint8_t CAN0_check_if_UI_Board_rec(BMS_CAN0_SLAVE_t* Slave,BMS_CAN0_UI_t* UI_Board);
- uint16_t CAN0_check_if_slave_rec (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX0_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX1_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX2_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX3_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX4_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX5_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveX6_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t saveSlaveUI_Master_telegram(BMS_CAN0_SLAVE_t* Slave,BMS_CAN0_UI_t* UI_Board);
- uint16_t saveSlaveX7_Master_telegram (BMS_CAN0_SLAVE_t* Slave);
- uint16_t CAN0_DEBUG_data_check_if_slave_rec(BMS_CAN0_SLAVE_t* Slave,BMS_CAN0_SLAVE_t* DummySlave);
- uint8_t CAN0_DEBUG_data_check_if_UI_Board_rec(BMS_CAN0_SLAVE_t* Slave,BMS_CAN0_SLAVE_t* DummySlave,BMS_CAN0_UI_t* UI_Board,BMS_CAN0_UI_t* Dummy_UI_Board);
- uint16_t CAN0_DEBUG_slave_check_if_slave_rec(BMS_CAN0_SLAVE_t* Slave,BMS_CAN0_SLAVE_t* DummySlave);
- uint8_t CAN0_DEBUG_slave_check_if_UI_Board_rec(BMS_CAN0_SLAVE_t* Slave,BMS_CAN0_SLAVE_t* DummySlave,BMS_CAN0_UI_t* UI_Board,BMS_CAN0_UI_t* Dummy_UI_Board);
- uint16_t CAN0_update (void);
- uint16_t CAN1_init (void);
- uint16_t CAN1_update (void);
- int16_t CAN1_tx_Data_to_Inverter (uint32_t timestamp,BMS_CAN1_INVERTER_TX* data);
- uint16_t CAN1_init_tx_structure (BMS_CAN1_INVERTER_TX* tx_struct);
- int16_t CAN1_send_request_telegram(uint32_t requestId) ;
- uint16_t CAN1_wait_for_response(float* value);
- uint32_t delay_CAN1_ms(uint32_t timestamp,uint32_t delay_ms);
- uint16_t CAN_Tx_MasterX_BMS(MASTER_CAN0_STRUCT_t* s, uint8_t SlaveNummer, uint8_t MasterAlive, uint8_t SetMode, uint32_t Balancer );
- uint16_t CAN_Tx_System300( uint16_t IDSEARCH );
- uint16_t CAN_Tx_MasterXA();
- uint32_t CAN0_check_serial_nr_rec_Can_init(MASTER_CAN0_STRUCT_t*s ,uint8_t SlaveNr);
- uint16_t CAN_Tx_System30A( uint8_t *pSERNr );
- #ifdef __cplusplus
- }
- #endif
-
-
- #endif /* ifndef*/
-
-
- // ***** End BMS_CANx_Tools.h **************************************************
-
|