feat: Added relays for Fan 1 and Fan 2
- Introduced two new relays for controlling Fan 1 and Fan 2. - Updated the 9-bit status word to accommodate the new relays, expanding to 11 bits. - Adjusted GPIO pin mapping to include the new relays in the control logic.stable
parent
ff2fd2288a
commit
067c61f9cc
|
|
@ -317,8 +317,8 @@ static xCoreStatus_t uart_init(McalUartHandle_s* pxUartHandle, McalUartBaudRate_
|
||||||
#elif UART_PIN_SELECTION == 3
|
#elif UART_PIN_SELECTION == 3
|
||||||
DL_GPIO_initPeripheralOutputFunction(IOMUX_PINCM19, IOMUX_PINCM19_PF_UART1_TX);
|
DL_GPIO_initPeripheralOutputFunction(IOMUX_PINCM19, IOMUX_PINCM19_PF_UART1_TX);
|
||||||
DL_GPIO_initPeripheralInputFunction(IOMUX_PINCM20, IOMUX_PINCM20_PF_UART1_RX);
|
DL_GPIO_initPeripheralInputFunction(IOMUX_PINCM20, IOMUX_PINCM20_PF_UART1_RX);
|
||||||
DL_GPIO_initPeripheralOutputFunction(IOMUX_PINCM32, IOMUX_PINCM32_PF_UART2_TX);
|
// DL_GPIO_initPeripheralOutputFunction(IOMUX_PINCM32, IOMUX_PINCM32_PF_UART2_TX);
|
||||||
DL_GPIO_initPeripheralInputFunction(IOMUX_PINCM33, IOMUX_PINCM33_PF_UART2_RX);
|
// DL_GPIO_initPeripheralInputFunction(IOMUX_PINCM33, IOMUX_PINCM33_PF_UART2_RX);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// Get the UART instance based on the port number in the handle
|
// Get the UART instance based on the port number in the handle
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ SYSCONFIG_WEAK void SYSCFG_DL_init(void)
|
||||||
SYSCFG_DL_CAPTURE_0_init();
|
SYSCFG_DL_CAPTURE_0_init();
|
||||||
SYSCFG_DL_TIMER_0_init();
|
SYSCFG_DL_TIMER_0_init();
|
||||||
SYSCFG_DL_TIMER_1_init();
|
SYSCFG_DL_TIMER_1_init();
|
||||||
SYSCFG_DL_UART_0_init();
|
//SYSCFG_DL_UART_0_init();
|
||||||
SYSCFG_DL_MCAN0_init();
|
SYSCFG_DL_MCAN0_init();
|
||||||
SYSCFG_DL_SYSCTL_CLK_init();
|
SYSCFG_DL_SYSCTL_CLK_init();
|
||||||
/* Ensure backup structures have no valid state */
|
/* Ensure backup structures have no valid state */
|
||||||
|
|
@ -110,6 +110,9 @@ SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
|
||||||
|
|
||||||
DL_MCAN_reset(MCAN0_INST);
|
DL_MCAN_reset(MCAN0_INST);
|
||||||
|
|
||||||
|
DL_GPIO_enablePower(GPIOA);
|
||||||
|
DL_GPIO_enablePower(GPIOB);
|
||||||
|
|
||||||
#if UART_PIN_SELECTION == 1
|
#if UART_PIN_SELECTION == 1
|
||||||
DL_UART_Main_reset(UART2);
|
DL_UART_Main_reset(UART2);
|
||||||
DL_UART_Main_enablePower(UART2);
|
DL_UART_Main_enablePower(UART2);
|
||||||
|
|
@ -122,8 +125,8 @@ SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
|
||||||
// UART1 pins
|
// UART1 pins
|
||||||
DL_UART_Main_reset(UART1);
|
DL_UART_Main_reset(UART1);
|
||||||
DL_UART_Main_enablePower(UART1);
|
DL_UART_Main_enablePower(UART1);
|
||||||
DL_UART_Main_reset(UART2);
|
// DL_UART_Main_reset(UART2);
|
||||||
DL_UART_Main_enablePower(UART2);
|
// DL_UART_Main_enablePower(UART2);
|
||||||
|
|
||||||
DL_GPIO_initDigitalOutput(IOMUX_PINCM48);
|
DL_GPIO_initDigitalOutput(IOMUX_PINCM48);
|
||||||
|
|
||||||
|
|
@ -143,6 +146,15 @@ SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
|
||||||
|
|
||||||
DL_GPIO_initDigitalOutput(IOMUX_PINCM25);
|
DL_GPIO_initDigitalOutput(IOMUX_PINCM25);
|
||||||
|
|
||||||
|
DL_GPIO_initDigitalOutput(IOMUX_PINCM54);
|
||||||
|
|
||||||
|
DL_GPIO_initDigitalOutput(IOMUX_PINCM52);
|
||||||
|
|
||||||
|
DL_GPIO_clearPins(GPIOA, GPIO_relay_pin_fan_2_relay_PIN);
|
||||||
|
//
|
||||||
|
DL_GPIO_enableOutput(GPIOA, GPIO_relay_pin_fan_2_relay_PIN);
|
||||||
|
|
||||||
|
|
||||||
DL_GPIO_clearPins(GPIOB, GPIO_relay_pin_relay_1_PIN |
|
DL_GPIO_clearPins(GPIOB, GPIO_relay_pin_relay_1_PIN |
|
||||||
GPIO_relay_pin_relay_2_PIN |
|
GPIO_relay_pin_relay_2_PIN |
|
||||||
GPIO_relay_pin_relay_3_PIN |
|
GPIO_relay_pin_relay_3_PIN |
|
||||||
|
|
@ -151,7 +163,9 @@ SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
|
||||||
GPIO_relay_pin_relay_6_PIN |
|
GPIO_relay_pin_relay_6_PIN |
|
||||||
GPIO_relay_pin_relay_7_PIN |
|
GPIO_relay_pin_relay_7_PIN |
|
||||||
GPIO_relay_pin_relay_8_PIN |
|
GPIO_relay_pin_relay_8_PIN |
|
||||||
GPIO_relay_pin_relay_9_PIN);
|
GPIO_relay_pin_relay_9_PIN |
|
||||||
|
GPIO_relay_pin_fan_1_relay_PIN);
|
||||||
|
|
||||||
DL_GPIO_enableOutput(GPIOB, GPIO_relay_pin_relay_1_PIN |
|
DL_GPIO_enableOutput(GPIOB, GPIO_relay_pin_relay_1_PIN |
|
||||||
GPIO_relay_pin_relay_2_PIN |
|
GPIO_relay_pin_relay_2_PIN |
|
||||||
GPIO_relay_pin_relay_3_PIN |
|
GPIO_relay_pin_relay_3_PIN |
|
||||||
|
|
@ -160,13 +174,13 @@ SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
|
||||||
GPIO_relay_pin_relay_6_PIN |
|
GPIO_relay_pin_relay_6_PIN |
|
||||||
GPIO_relay_pin_relay_7_PIN |
|
GPIO_relay_pin_relay_7_PIN |
|
||||||
GPIO_relay_pin_relay_8_PIN |
|
GPIO_relay_pin_relay_8_PIN |
|
||||||
GPIO_relay_pin_relay_9_PIN);
|
GPIO_relay_pin_relay_9_PIN |
|
||||||
|
GPIO_relay_pin_fan_1_relay_PIN);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DL_GPIO_enablePower(GPIOA);
|
// DL_GPIO_enablePower(GPIOA);
|
||||||
DL_GPIO_enablePower(GPIOB);
|
// DL_GPIO_enablePower(GPIOB);
|
||||||
DL_TimerA_enablePower(CAPTURE_0_INST);
|
DL_TimerA_enablePower(CAPTURE_0_INST);
|
||||||
DL_TimerG_enablePower(TIMER_0_INST);
|
DL_TimerG_enablePower(TIMER_0_INST);
|
||||||
DL_TimerA_enablePower(TIMER_1_INST);
|
DL_TimerA_enablePower(TIMER_1_INST);
|
||||||
|
|
@ -183,10 +197,10 @@ SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)
|
||||||
|
|
||||||
DL_GPIO_initPeripheralInputFunction(GPIO_CAPTURE_0_C0_IOMUX,GPIO_CAPTURE_0_C0_IOMUX_FUNC);
|
DL_GPIO_initPeripheralInputFunction(GPIO_CAPTURE_0_C0_IOMUX,GPIO_CAPTURE_0_C0_IOMUX_FUNC);
|
||||||
|
|
||||||
DL_GPIO_initPeripheralOutputFunction(
|
// DL_GPIO_initPeripheralOutputFunction(
|
||||||
GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC);
|
// GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC);
|
||||||
DL_GPIO_initPeripheralInputFunction(
|
// DL_GPIO_initPeripheralInputFunction(
|
||||||
GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC);
|
// GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC);
|
||||||
|
|
||||||
DL_GPIO_initDigitalInputFeatures(GPIO_GRP_0_PIN_0_IOMUX,
|
DL_GPIO_initDigitalInputFeatures(GPIO_GRP_0_PIN_0_IOMUX,
|
||||||
DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE,
|
DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE,
|
||||||
|
|
@ -384,23 +398,23 @@ static const DL_UART_Main_Config gUART_0Config = {
|
||||||
.stopBits = DL_UART_MAIN_STOP_BITS_ONE
|
.stopBits = DL_UART_MAIN_STOP_BITS_ONE
|
||||||
};
|
};
|
||||||
|
|
||||||
SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void)
|
//SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void)
|
||||||
{
|
//{
|
||||||
DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig);
|
// DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig);
|
||||||
|
//
|
||||||
DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config);
|
// DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config);
|
||||||
/*
|
// /*
|
||||||
* Configure baud rate by setting oversampling and baud rate divisors.
|
// * Configure baud rate by setting oversampling and baud rate divisors.
|
||||||
* Target baud rate: 115200
|
// * Target baud rate: 115200
|
||||||
* Actual baud rate: 115246.1
|
// * Actual baud rate: 115246.1
|
||||||
*/
|
// */
|
||||||
DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X);
|
// DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X);
|
||||||
DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_24_MHZ_115200_BAUD, UART_0_FBRD_24_MHZ_115200_BAUD);
|
// DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_24_MHZ_115200_BAUD, UART_0_FBRD_24_MHZ_115200_BAUD);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
DL_UART_Main_enable(UART_0_INST);
|
// DL_UART_Main_enable(UART_0_INST);
|
||||||
}
|
//}
|
||||||
|
|
||||||
static const DL_MCAN_ClockConfig gMCAN0ClockConf = {
|
static const DL_MCAN_ClockConfig gMCAN0ClockConf = {
|
||||||
.clockSel = DL_MCAN_FCLK_HFCLK,
|
.clockSel = DL_MCAN_FCLK_HFCLK,
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,10 @@ extern "C" {
|
||||||
#define GPIO_relay_pin_relay_8_PIN (DL_GPIO_PIN_9)
|
#define GPIO_relay_pin_relay_8_PIN (DL_GPIO_PIN_9)
|
||||||
/* Defines for relay_9: GPIOB.8 with pinCMx 25 on package pin 60 */
|
/* Defines for relay_9: GPIOB.8 with pinCMx 25 on package pin 60 */
|
||||||
#define GPIO_relay_pin_relay_9_PIN (DL_GPIO_PIN_8)
|
#define GPIO_relay_pin_relay_9_PIN (DL_GPIO_PIN_8)
|
||||||
|
/* Defines for fan_1_relay: GPIOB.24 with pinCMx 52 on package pin 23 */
|
||||||
|
#define GPIO_relay_pin_fan_1_relay_PIN (DL_GPIO_PIN_24)
|
||||||
|
/* Defines for fan_2_relay: GPIOA.24 with pinCMx 54 on package pin 25 */
|
||||||
|
#define GPIO_relay_pin_fan_2_relay_PIN (DL_GPIO_PIN_24)
|
||||||
|
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
|
|
||||||
|
|
@ -128,22 +132,22 @@ extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Defines for UART_0 */
|
///* Defines for UART_0 */
|
||||||
#define UART_0_INST UART2
|
//#define UART_0_INST UART2
|
||||||
#define UART_0_INST_FREQUENCY 24000000
|
//#define UART_0_INST_FREQUENCY 24000000
|
||||||
#define UART_0_INST_IRQHandler UART2_IRQHandler
|
//#define UART_0_INST_IRQHandler UART2_IRQHandler
|
||||||
#define UART_0_INST_INT_IRQN UART2_INT_IRQn
|
//#define UART_0_INST_INT_IRQN UART2_INT_IRQn
|
||||||
#define GPIO_UART_0_RX_PORT GPIOB
|
//#define GPIO_UART_0_RX_PORT GPIOB
|
||||||
#define GPIO_UART_0_TX_PORT GPIOB
|
//#define GPIO_UART_0_TX_PORT GPIOB
|
||||||
#define GPIO_UART_0_RX_PIN DL_GPIO_PIN_16
|
//#define GPIO_UART_0_RX_PIN DL_GPIO_PIN_16
|
||||||
#define GPIO_UART_0_TX_PIN DL_GPIO_PIN_15
|
//#define GPIO_UART_0_TX_PIN DL_GPIO_PIN_15
|
||||||
#define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM33)
|
//#define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM33)
|
||||||
#define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM32)
|
//#define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM32)
|
||||||
#define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM33_PF_UART2_RX
|
//#define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM33_PF_UART2_RX
|
||||||
#define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM32_PF_UART2_TX
|
//#define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM32_PF_UART2_TX
|
||||||
#define UART_0_BAUD_RATE (115200)
|
//#define UART_0_BAUD_RATE (115200)
|
||||||
#define UART_0_IBRD_24_MHZ_115200_BAUD (13)
|
//#define UART_0_IBRD_24_MHZ_115200_BAUD (13)
|
||||||
#define UART_0_FBRD_24_MHZ_115200_BAUD (1)
|
//#define UART_0_FBRD_24_MHZ_115200_BAUD (1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,13 +57,23 @@ IVEC_EcuCommonErr_e xECU_UARTInit(McalUartHandle_s* prvUartHandle, uint32_t spee
|
||||||
}
|
}
|
||||||
|
|
||||||
IVEC_ECU_LOG(LOG_STRING, "Initilising UART");
|
IVEC_ECU_LOG(LOG_STRING, "Initilising UART");
|
||||||
#if (UART_PIN_SELECTION == 1 || ((uartCount == 2) && (UART_PIN_SELECTION == 3)))
|
#if (UART_PIN_SELECTION == 1)
|
||||||
prvUartHandle->eUartPortNumber = mcalUART_PORT3;
|
prvUartHandle->eUartPortNumber = mcalUART_PORT3;
|
||||||
uartCount = 1;
|
|
||||||
|
|
||||||
#elif (UART_PIN_SELECTION == 2 || ((uartCount == 1) && (UART_PIN_SELECTION == 3)))
|
#elif (UART_PIN_SELECTION == 2 )
|
||||||
prvUartHandle->eUartPortNumber = mcalUART_PORT2;
|
prvUartHandle->eUartPortNumber = mcalUART_PORT2;
|
||||||
uartCount = 2;
|
#elif (UART_PIN_SELECTION == 3)
|
||||||
|
if(uartCount == 1)
|
||||||
|
{
|
||||||
|
prvUartHandle->eUartPortNumber = mcalUART_PORT2;
|
||||||
|
uartCount = 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
prvUartHandle->eUartPortNumber = mcalUART_PORT3;
|
||||||
|
uartCount = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -233,9 +233,9 @@ void vRTE_InitUARTCANEcho(void)
|
||||||
g_u16CanSpeed = BAUD_500;
|
g_u16CanSpeed = BAUD_500;
|
||||||
xECU_UARTInit(&g_xUartHandle, g_u32UartSpeed);
|
xECU_UARTInit(&g_xUartHandle, g_u32UartSpeed);
|
||||||
|
|
||||||
#if UART_PIN_SELECTION == 3
|
// #if UART_PIN_SELECTION == 3
|
||||||
xECU_UARTInit(&g_xUart2Handle, g_u32UartSpeed);
|
// xECU_UARTInit(&g_xUart2Handle, g_u32UartSpeed);
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
xECU_CANInit(CANFD0,g_u16CanSpeed);
|
xECU_CANInit(CANFD0,g_u16CanSpeed);
|
||||||
}
|
}
|
||||||
|
|
@ -443,7 +443,7 @@ void vRTE_CANDataProcess(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
#if UART_PIN_SELECTION == 3
|
#if UART_PIN_SELECTION == 3
|
||||||
if(xBuff.id == 0x6ff69)
|
if(xBuff.id == 0x6fe69)
|
||||||
{
|
{
|
||||||
uint16_t relay_status = (xBuff.data[0] << 8) |xBuff.data[1];
|
uint16_t relay_status = (xBuff.data[0] << 8) |xBuff.data[1];
|
||||||
control_relays(relay_status); // Control relays based on the relay_status
|
control_relays(relay_status); // Control relays based on the relay_status
|
||||||
|
|
@ -485,7 +485,10 @@ void control_relays(uint16_t relay_status)
|
||||||
GPIO_relay_pin_relay_6_PIN |
|
GPIO_relay_pin_relay_6_PIN |
|
||||||
GPIO_relay_pin_relay_7_PIN |
|
GPIO_relay_pin_relay_7_PIN |
|
||||||
GPIO_relay_pin_relay_8_PIN |
|
GPIO_relay_pin_relay_8_PIN |
|
||||||
GPIO_relay_pin_relay_9_PIN);
|
GPIO_relay_pin_relay_9_PIN |
|
||||||
|
GPIO_relay_pin_fan_1_relay_PIN);
|
||||||
|
|
||||||
|
DL_GPIO_clearPins(GPIOA, GPIO_relay_pin_fan_2_relay_PIN);
|
||||||
|
|
||||||
// Check each bit of relay_status and set the corresponding relay pin
|
// Check each bit of relay_status and set the corresponding relay pin
|
||||||
if ((relay_status & 0x01) != 0) { // Bit 0: Relay 1
|
if ((relay_status & 0x01) != 0) { // Bit 0: Relay 1
|
||||||
|
|
@ -515,6 +518,12 @@ void control_relays(uint16_t relay_status)
|
||||||
if ((relay_status & 0x100) != 0) { // Bit 8: Relay 9
|
if ((relay_status & 0x100) != 0) { // Bit 8: Relay 9
|
||||||
DL_GPIO_setPins(GPIOB, GPIO_relay_pin_relay_1_PIN);
|
DL_GPIO_setPins(GPIOB, GPIO_relay_pin_relay_1_PIN);
|
||||||
}
|
}
|
||||||
|
if ((relay_status & 0x200) != 0) { // Bit 9: fan 1 Relay 10
|
||||||
|
DL_GPIO_setPins(GPIOB, GPIO_relay_pin_fan_1_relay_PIN);
|
||||||
|
}
|
||||||
|
if ((relay_status & 0x400) != 0) { // Bit 10: fan 2 Relay 11
|
||||||
|
DL_GPIO_setPins(GPIOA, GPIO_relay_pin_fan_2_relay_PIN);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ typedef enum
|
||||||
// 1 - Basil Battery Smart
|
// 1 - Basil Battery Smart
|
||||||
// 2 - Basil
|
// 2 - Basil
|
||||||
// 3 - Battery Swapping Station
|
// 3 - Battery Swapping Station
|
||||||
#define UART_PIN_SELECTION 2 // Set the desired UART configuration here
|
#define UART_PIN_SELECTION 3 // Set the desired UART configuration here
|
||||||
|
|
||||||
|
|
||||||
volatile int i32TickCnt;
|
volatile int i32TickCnt;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue