ADM/GW/src/define.h
3minbe a848e02179 ver 25.08.29-1
- 1채널(ACU) RX ID 수정(150 → 151)
- ACU ARC 적용
- [!] Message buffer(MB) 오류 수정
  = define.h 내 MAX_RX_MB_1ch 수정 (4U → 32U)
  = board.c 내 LN.1244 RXID setting for문 수정(RX_MB_IDX → RX_MB_IDX_1ch)
- Simulink 로직 수정
  = ACU CAN Fault Flag 적용
  = ACU 모드일때만 적용
2025-08-29 19:29:09 +09:00

344 lines
10 KiB
C
Raw Blame History

#ifndef __define__
#define __define__
#include "math.h"
#define EVB_BOARD 1
#define Pllab_BOARD 2
#define BOARD_TYPE EVB_BOARD
// #define DEBUG_TEST
// #define EMC_TEST
/* ------------------------------------------------------------------------ */
typedef unsigned long u64;
typedef unsigned int u32;
typedef int s32;
typedef unsigned short u16;
typedef unsigned char u8;
typedef signed char s8;
/* ------------------------------------------------------------------------ */
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
/* ------------------------------------------------------------------------ */
#define APP_TRUE 0
#define APP_FALSE 1
#define APP_ERROR 2
#define APP_ON 1
#define APP_OFF 0
#define APP_HIGH 1
#define APP_LOW 0
/* ------------------------------------------------------------------------ */
#define MAX_COMMAND_BUF 256
/* ------------------------------------------------------------------------ */
//CAM FD MB 0~23 TX_MB 0~3 RX_MB 4~23
#define RX_MB_IDX MAX_TX_MB
#define TX_MB_IDX 0U
#define RX_MB_IDX_1ch MAX_TX_MB_1ch
#define MAX_RX_MB 32U
#define MAX_TX_MB 14U
#define MAX_RX_MB_1ch 32U
#define MAX_TX_MB_1ch 28U
#define MAX_TX_RING 200
#define MAX_RX_RING 100
#define MAX_CAN_BUFFER 32 //max can length
/* ------------------------------------------------------------------------ */
#define P_WR(ch) CAN_ch[ch].p_wr
#define P_RD(ch) CAN_ch[ch].p_rd
/* ------------------------------------------------------------------------ */
//<2F><EFBFBD><EFBFBD><EFBFBD>쓽 寃쎌슦 1~6梨꾨꼸, 肄붾뱶<EBB6BE><EFBFBD><EFBFBD><EFBFBD>뒗 0~5梨꾨꼸, 肄붾뱶湲곗<E6B9B2><EAB397>쑝濡<EC919D> <20><EFBFBD><EFBFBD><EFBFBD><EBB8AF><EFBFBD>
/*ECU3 CH0*/
/*tx id*/
#define ECU3_CH0_RWA_VCU_RC_Signal1 0x050
#define ECU3_CH0_RWA_VCU_RC_Signal2 0x051
#define ECU3_CH0_RWS_VCU_RC_Signal1 0x060
#define ECU3_CH0_RWS_VCU_RC_Signal2 0x061
#define ECU3_CH0_VCU_BCM_Signal_1 0x150
#define ECU3_CH0_VCU_MCU_Signals1 0x250
#define ECU3_CH0_VCU_RC_Signals1 0x010
#define ECU3_CH0_VCU_RC_Signals2 0x011
#define ECU3_VCU_EPAM 0x220
/*rx id*/
#define ECU3_CH0_BCM_VCU_Signal1 0x570
#define ECU3_CH0_BCM_VCU_Signal2 0x580
#define ECU3_CH0_BCM_VCU_Signal3 0x590
#define ECU3_CH0_BCM_VCU_Signal4 0x595
#define ECU3_CH0_BCM_VCU_Signal5 0x585
#define ECU3_CH0_MCU_VCU_Signals1 0x300
#define ECU3_CH0_MCU_VCU_Signals2 0x301
#define ECU3_CH0_RC_VCU_Signal1 0x040
#define ECU3_CH0_RC_VCU_Signal2 0x041
#define ECU3_CH0_RX_IMU_TX1 0x174
#define ECU3_CH0_RX_IMU_TX2 0x178
#define ECU3_CH0_RX_IMU_TX3 0x17C
#define ECU3_RC_VCU_BCM_Signal_1 0x155
#define ECU3_EPAM_VCU 0x221
#define ECU3_CAR_ARC 0x012
#define ECU3_Receive_Debugging 0x777
#define ECU3_RC_VCU_Fault_Flag 0x042
/*ECU3 CH1*/
/*tx id*/
#define ECU3_CH1_BCM_VCU_ACU_Signal1 0x570
#define ECU3_CH1_BCM_VCU_ACU_Signal2 0x580
#define ECU3_CH1_BCM_VCU_ACU_Signal3 0x590
#define ECU3_CH1_BCM_VCU_ACU_Signal4 0x595
#define ECU3_CH1_BCM_VCU_ACU_Signal5 0x585
#define ECU3_CH1_RWA_VCU_ACU_Signal1 0x050
#define ECU3_CH1_RWA_VCU_ACU_Signal2 0x051
#define ECU3_CH1_RWS_VCU_ACU_Signal1 0x060
#define ECU3_CH1_RWS_VCU_ACU_Signal2 0x061
#define ECU3_CH1_VCU_ACU_Signal1 0x013
#define ECU3_CH1_VCU_ACU_Signal2 0x014
/*rx id*/
#define ECU3_CH1_ACU_VCU_Signal1 0x091
#define ECU3_CH1_ACU_VCU_Signal2 0x092
#define ECU3_CH1_ACU_VCU_Signal3 0x093
#define ECU3_CH1_ACU_BCM_Signal_1 0x151
/*ECU3 CH2*/
/*tx id*/
#define ECU3_CH2_BSC_IDB_BrakeCommand 0x064
#define ECU3_CH2_BSC_IMU_ 0x070
#define ECU3_CH2_BSC_IDB_StartupCommand 0x032
#define ECU3_CH2_CH3_B_I_U_Message_1 0x797
#define ECU3_CH2_BSC_RegenCommand 0x06A
#define ECU3_CH2_BSC_RWA_RackCommand 0x040
#define ECU3_CH2_BSC_RWA_Sister 0x350
#define ECU3_CH2_BSC_RWA_StartupCommand 0x310
#define ECU3_CH2_BSC_VehicleEnvironment 0x384
#define ECU3_CH2_IDB_WheelSpeedStatus 0x088
/*rx id*/
#define ECU3_CH2_IDB_BrakeStatus1 0x09A
#define ECU3_CH2_IDB_BrakeStatus2 0x0C8
#define ECU3_CH2_IDB_PressureStatus 0x0A0
#define ECU3_CH2_IDB_RegenTcsRequest 0x082
#define ECU3_CH2_IDB_Status 0x092
#define ECU3_CH2_IDB_TireSlipStatus 0x096
#define ECU3_CH2_IDB_UdsResponse 0x798
#define ECU3_CH2_IDB_WheelStatus 0x08C
#define ECU3_CH2_RWA_Status1 0x072
#define ECU3_CH2_RWA_Status2 0x073
#define ECU3_CH2_RWA_Status3 0x0AA
/*ECU3 CH3*/
/*tx id*/
#define ECU3_CH3_TX_BSC_IMU 0x071
#define ECU3_CH3_TX_BSC_RCU_BrakeCommand 0x065
#define ECU3_CH3_TX_BSC_RWA_RackCommand 0x040
#define ECU3_CH3_TX_BSC_RWA_Sister 0x350
#define ECU3_CH3_TX_BSC_RWA_StartupCommand 0x310
#define ECU3_CH3_TX_BSC_RCU_StartupCommand 0x033
#define ECU3_CH3_TX_BSC_RCU_UdsRequest 0x797
#define ECU3_CH3_TX_BSC_VehicleEnvironment 0x385
#define ECU3_CH3_TX_RCU_WheelSpeedStatus 0x089
/*rx id*/
#define ECU3_CH3_RX_RCU_BrakeStatus1 0x09B
#define ECU3_CH3_RX_RCU_BrakeStatus2 0x0C9
#define ECU3_CH3_RX_RCU_PressureStatus 0x0A1
#define ECU3_CH3_RX_RWA_Status1 0x072
#define ECU3_CH3_RX_RWA_Status2 0x073
#define ECU3_CH3_RX_RWA_Status3 0x0AA
#define ECU3_CH3_RX_RCU_TireSlipStatus 0x097
#define ECU3_CH3_RX_RCU_WheelStatus 0x08D
#define ECU3_CH3_RX_RCU_Status 0x093
#define ECU3_CH3_RX_RCU_UdsResponse 0x799
/*ECU3 CH4*/
/*tx id*/
#define ECU3_CH4_VCU_RWS_Rack_Cmd 0x040
#define ECU3_CH4_VCU_RWS_StartupCommand 0x310
/*rx id*/
#define ECU3_CH4_RX_RWS_VCU_Rack_AngleFbk 0x073
#define ECU3_CH4_RX_RWS_VCU_stat_Signal 0x072
/*ECU3 CH5*/
/*tx id*/
#define ECU3_CH5_VCU_RWS_Rack_Cmd 0x040
#define ECU3_CH5_VCU_RWS_StartupCommand 0x310
/*rx id*/
#define ECU3_CH5_RWS_VCU_Rack_AngleFbk 0x073
#define ECU3_CH5_RWS_VCU_stat_Signal 0x072
/* ------------------------------------------------------------------------ */
typedef void (*user_callback)( int param );
/* ------------------------------------------------------------------------ */
#define PIT_INST_0 0U
#define CH_0 0U
//#define PIT_PERIOD 40000 // 1ms
#define PIT_PERIOD 20000 // 500Usec
/* ------------------------------------------------------------------------ */
#define ADC_INST_0 0U
#define ADC_INST_1 1U
#define ADC_INST_2 2U
#define MAX_ADC_RETRY 10
#define ADC_AN_6 6U
#define ADC_AN_2 2U
#define ADC_AN_3 3U
#define ADC_AN_4 4U
#define ADC_AN_5 5U
#define ADC_AN_43 43U
/* ------------------------------------------------------------------------ */
#define MAX_CAN_INST 6
#define CAN_INST_0 0U
#define CAN_INST_1 1U
#define CAN_INST_2 2U
#define CAN_INST_3 3U
#define CAN_INST_4 4U
#define CAN_INST_5 5U
/* ------------------------------------------------------------------------ */
#define DIN_0 0U
#define DIN_1 1U
#define DIN_2 2U
#define DIN_3 3U
#define DIN_4 4U
#define DIN_5 5U
#define DIN_6 6U
#define DIN_7 7U
#define DOUT_0 0U
#define DOUT_1 1U
#define DOUT_2 2U
#define DOUT_3 3U
#define DOUT_4 4U
#define DOUT_5 5U
#define DOUT_6 6U
#define DOUT_7 7U
#define ADC_0 0U
#define ADC_1 1U
#define ADC_2 2U
#define ADC_3 3U
#define ADC_4 4U
#define AIN_BAT 5U
/* ------------------------------------------------------------------------ */
#define MAX_PWM 8
#define PWM_EMIOS_0 0U
#define PWM_CH0 0U
#define PWM_CH1 1U
#define PWM_CH2 2U
#define PWM_CH3 3U
#define PWM_FREQ 50000 // 50KHz
#define PWM_INIT_MAX_TICK 160000000/PWM_FREQ
/* ------------------------------------------------------------------------ */
#define HW_LPI2C1 1 // Hardware I2C
#define I2C_SLAVE 1U
#define I2C_MASTER 0U
#define TRANSFER_SIZE 8U
/* ------------------------------------------------------------------------ */
/* --- software I2C --- */
//#define I2C_CROSS
#ifndef I2C_CROSS
#define I2C_DELAY 500
#define I2C_SDA(x) {if(x) Siul2_Dio_Ip_WritePin(I2C0_SDA_PORT, I2C0_SDA_PIN, 1U); else Siul2_Dio_Ip_WritePin(I2C0_SDA_PORT, I2C0_SDA_PIN, 0U);}
#define I2C_SCL(x) {if(x) Siul2_Dio_Ip_WritePin(I2C0_SCL_PORT, I2C0_SCL_PIN, 1U); else Siul2_Dio_Ip_WritePin(I2C0_SCL_PORT, I2C0_SCL_PIN, 0U);}
#define I2C_SDI ((Siul2_Dio_Ip_ReadPins(I2C0_SDA_PORT)&0x00000001)?1:0)
#else
#define I2C_DELAY 500
#define I2C_SDA(x) {if(x) Siul2_Dio_Ip_WritePin(I2C0_SCL_PORT, I2C0_SCL_PIN, 1U); else Siul2_Dio_Ip_WritePin(I2C0_SCL_PORT, I2C0_SCL_PIN, 0U);}
#define I2C_SCL(x) {if(x) Siul2_Dio_Ip_WritePin(I2C0_SDA_PORT, I2C0_SDA_PIN, 1U); else Siul2_Dio_Ip_WritePin(I2C0_SDA_PORT, I2C0_SDA_PIN, 0U);}
#define I2C_SDI ((Siul2_Dio_Ip_ReadPins(I2C0_SCL_PORT)&0x00000002)?1:0)
#endif
/* ------------------------------------------------------------------------ */
#define I2C_START { I2C_SDA(APP_HIGH); i2c_delay(I2C_DELAY); I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY);\
I2C_SDA(APP_LOW); i2c_delay(I2C_DELAY); I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY);}
#define I2C_STOP { I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY); I2C_SDA(APP_LOW); i2c_delay(I2C_DELAY);\
I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY); \
I2C_SDA(APP_HIGH); i2c_delay(I2C_DELAY); }
#define I2C_WDATA(a) { I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY); I2C_SDA(a); i2c_delay(I2C_DELAY);\
I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY); I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY);}
#define I2C_RDATA(a) { I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY); \
a<<=1; a|=I2C_SDI; i2c_delay(I2C_DELAY); \
I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY); }
#define I2C_GETACK(a) { i2c_delay(I2C_DELAY); I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY);\
a|=I2C_SDI; i2c_delay(I2C_DELAY); I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY);}
#define I2C_SETNACK { I2C_SDA(APP_HIGH); i2c_delay(I2C_DELAY); I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY);\
I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY); I2C_SDA(APP_HIGH); i2c_delay(I2C_DELAY);}
#define I2C_SETACK { I2C_SDA(APP_LOW); i2c_delay(I2C_DELAY); I2C_SCL(APP_HIGH); i2c_delay(I2C_DELAY);\
I2C_SCL(APP_LOW); i2c_delay(I2C_DELAY); I2C_SDA(APP_HIGH); i2c_delay(I2C_DELAY);}
/* ------------------------------------------------------------------------ */
#define LIN_INSTANCE_1 0
#define LIN_INSTANCE_2 1
#define ID_1 0x1A
#define ID_2 0x2A
#define BUFFER_SIZE 3U
#define T_LIN_TIME_OUT 400000
#endif