Skip to content

Commit 2e4e03e

Browse files
First spin fixups (#195)
Co-authored-by: Caio DaSilva <dasilva.cai@northeastern.edu> Co-authored-by: Caio DaSilva <145620095+caiodasilva2005@users.noreply.github.com>
1 parent 1bce507 commit 2e4e03e

12 files changed

Lines changed: 108 additions & 118 deletions

.mxproject

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Cerberus-2.0.ioc

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,13 @@ ETH.IPParameters=MediaInterface
9494
ETH.MediaInterface=HAL_ETH_RMII_MODE
9595
FDCAN2.CalculateBaudRateNominal=500000
9696
FDCAN2.CalculateTimeBitNominal=2000
97-
FDCAN2.CalculateTimeQuantumNominal=200.0
97+
FDCAN2.CalculateTimeQuantumNominal=125.0
9898
FDCAN2.ExtFiltersNbr=8
9999
FDCAN2.IPParameters=CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal,NominalPrescaler,NominalTimeSeg1,NominalTimeSeg2,Mode,StdFiltersNbr,ExtFiltersNbr
100100
FDCAN2.Mode=FDCAN_MODE_NORMAL
101-
FDCAN2.NominalPrescaler=5
102-
FDCAN2.NominalTimeSeg1=1
103-
FDCAN2.NominalTimeSeg2=8
101+
FDCAN2.NominalPrescaler=8
102+
FDCAN2.NominalTimeSeg1=11
103+
FDCAN2.NominalTimeSeg2=4
104104
FDCAN2.StdFiltersNbr=12
105105
File.Version=6
106106
GPDMA1.CIRCULARMODE_GPDMACH4=ENABLE
@@ -752,7 +752,7 @@ ProjectManager.RegisterCallBack=
752752
ProjectManager.StackSize=0x400
753753
ProjectManager.TargetToolchain=CMake
754754
ProjectManager.ToolChainLocation=
755-
ProjectManager.UAScriptAfterPath=
755+
ProjectManager.UAScriptAfterPath=post_cubemx.sh
756756
ProjectManager.UAScriptBeforePath=
757757
ProjectManager.UnderRoot=false
758758
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPDMA1_Init-GPDMA1-false-HAL-true,3-MX_GPIO_Init-GPIO-false-HAL-true,4-MX_ICACHE_Init-ICACHE-false-HAL-true,5-MX_NetXDuo_Init-NETXDUO-false-HAL-false,6-MX_ADC1_Init-ADC1-false-HAL-true,7-MX_ADC2_Init-ADC2-false-HAL-true,8-MX_FDCAN2_Init-FDCAN2-false-HAL-true,9-MX_ETH_Init-ETH-false-HAL-true,10-MX_I2C2_Init-I2C2-false-HAL-true,11-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,12-MX_SPI2_Init-SPI2-false-HAL-true,13-MX_UART7_Init-UART7-false-HAL-true,14-MX_DCACHE1_Init-DCACHE1-false-HAL-true,15-MX_IWDG_Init-IWDG-false-HAL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true
@@ -773,7 +773,8 @@ RCC.DACFreq_Value=32768
773773
RCC.EPOD_VALUE=25000000
774774
RCC.ETHFreq_Value=175000000
775775
RCC.FCLKCortexFreq_Value=175000000
776-
RCC.FDCANFreq_Value=25000000
776+
RCC.FDCANClockSelection=RCC_FDCANCLKSOURCE_PLL2Q
777+
RCC.FDCANFreq_Value=64000000
777778
RCC.FamilyName=M
778779
RCC.HCLKFreq_Value=175000000
779780
RCC.HSE_VALUE=25000000
@@ -784,7 +785,7 @@ RCC.I2C2Freq_Value=175000000
784785
RCC.I2C3Freq_Value=175000000
785786
RCC.I2C4Freq_Value=175000000
786787
RCC.I3C1Freq_Value=175000000
787-
RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CECFreq_Value,CKPERFreq_Value,CRSFreq_Value,CSI_VALUE,CortexFreq_Value,DACFreq_Value,EPOD_VALUE,ETHFreq_Value,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I3C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM3Freq_Value,LPTIM4Freq_Value,LPTIM5Freq_Value,LPTIM6Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSIRC_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,OCTOSPIMFreq_Value,PLL2FRACN,PLL2M,PLL2N,PLL2P,PLL2PoutputFreq_Value,PLL2Q,PLL2QoutputFreq_Value,PLL2RoutputFreq_Value,PLL2Source,PLL3PoutputFreq_Value,PLL3QoutputFreq_Value,PLL3RoutputFreq_Value,PLLFRACN,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMC1Freq_Value,SDMMC2Freq_Value,SPI1Freq_Value,SPI2CLockSelection,SPI2Freq_Value,SPI3Freq_Value,SPI4Freq_Value,SPI5Freq_Value,SPI6Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART12Freq_Value,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,UART9Freq_Value,UCPD1outputFreq_Value,USART10Freq_Value,USART11Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOPLL2OutputFreq_Value,VCOPLL3OutputFreq_Value
788+
RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CECFreq_Value,CKPERFreq_Value,CRSFreq_Value,CSI_VALUE,CortexFreq_Value,DACFreq_Value,EPOD_VALUE,ETHFreq_Value,FCLKCortexFreq_Value,FDCANClockSelection,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I3C1Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM3Freq_Value,LPTIM4Freq_Value,LPTIM5Freq_Value,LPTIM6Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSIRC_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,OCTOSPIMFreq_Value,PLL2FRACN,PLL2M,PLL2N,PLL2P,PLL2PoutputFreq_Value,PLL2Q,PLL2QoutputFreq_Value,PLL2RoutputFreq_Value,PLL2Source,PLL3PoutputFreq_Value,PLL3QoutputFreq_Value,PLL3RoutputFreq_Value,PLLFRACN,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMC1Freq_Value,SDMMC2Freq_Value,SPI1Freq_Value,SPI2CLockSelection,SPI2Freq_Value,SPI3Freq_Value,SPI4Freq_Value,SPI5Freq_Value,SPI6Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART12Freq_Value,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,UART9Freq_Value,UCPD1outputFreq_Value,USART10Freq_Value,USART11Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOPLL2OutputFreq_Value,VCOPLL3OutputFreq_Value
788789
RCC.LPTIM1Freq_Value=175000000
789790
RCC.LPTIM2Freq_Value=175000000
790791
RCC.LPTIM3Freq_Value=175000000

Core/Src/main.c

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "u_queues.h"
3333
#include "u_debug.h"
3434
#include "u_lightning.h"
35+
#include "u_tx_debug.h"
3536
/* USER CODE END Includes */
3637

3738
/* Private typedef -----------------------------------------------------------*/
@@ -85,6 +86,7 @@ SPI_HandleTypeDef hspi2;
8586

8687
/* Private function prototypes -----------------------------------------------*/
8788
void SystemClock_Config(void);
89+
void PeriphCommonClock_Config(void);
8890
static void MX_GPDMA1_Init(void);
8991
static void MX_GPIO_Init(void);
9092
static void MX_ICACHE_Init(void);
@@ -158,7 +160,36 @@ void HAL_FDCAN_ErrorStatusCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t ErrorSt
158160

159161
if (protocol_status.BusOff != 0) // If Bus-Off error occurred
160162
{
163+
PRINTLN_ERROR("CAN ENCOUNTERED BUS OFF STATE");
161164
CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT); // Clear INIT bit to recover from Bus-Off
165+
/* get the FDCAN hal errors. */
166+
uint8_t status = HAL_FDCAN_GetError(can1.hcan);
167+
printf("can - HAL_FDCAN_GetError() status: %d\n", status);
168+
169+
FDCAN_ProtocolStatusTypeDef statt = { 0 };
170+
status = HAL_FDCAN_GetProtocolStatus(can1.hcan, &statt);
171+
printf("can - HAL_FDCAN_GetProtocolStatus() status: %d\n", status);
172+
173+
/* Big statt */
174+
printf("can - HAL_FDCAN_GetProtocolStatus() - LastErrorCode=%ld\n", statt.LastErrorCode);
175+
printf("can - HAL_FDCAN_GetProtocolStatus() - DataLastErrorCode=%ld\n", statt.DataLastErrorCode);
176+
printf("can - HAL_FDCAN_GetProtocolStatus() - Activity=%ld\n", statt.Activity);
177+
printf("can - HAL_FDCAN_GetProtocolStatus() - ErrorPassive=%ld\n", statt.ErrorPassive);
178+
printf("can - HAL_FDCAN_GetProtocolStatus() - Warning=%ld\n", statt.Warning);
179+
printf("can - HAL_FDCAN_GetProtocolStatus() - BusOff=%ld\n", statt.BusOff);
180+
printf("can - HAL_FDCAN_GetProtocolStatus() - RxESIflag=%ld\n", statt.RxESIflag);
181+
printf("can - HAL_FDCAN_GetProtocolStatus() - RxBRSflag=%ld\n", statt.RxBRSflag);
182+
printf("can - HAL_FDCAN_GetProtocolStatus() - RxFDFflag=%ld\n", statt.RxFDFflag);
183+
printf("can - HAL_FDCAN_GetProtocolStatus() - ProtocolException=%ld\n", statt.ProtocolException);
184+
printf("can - HAL_FDCAN_GetProtocolStatus() - TDCvalue=%ld\n", statt.TDCvalue);
185+
186+
FDCAN_ErrorCountersTypeDef statt2 = { 0 };
187+
status = HAL_FDCAN_GetErrorCounters(can1.hcan, &statt2);
188+
printf("can - HAL_FDCAN_GetErrorCounters() status: %d\n", status);
189+
printf("can - HAL_FDCAN_GetErrorCounters() - TxErrorCnt: %ld\n", statt2.TxErrorCnt);
190+
printf("can - HAL_FDCAN_GetErrorCounters() - RxErrorCnt: %ld\n", statt2.RxErrorCnt);
191+
printf("can - HAL_FDCAN_GetErrorCounters() - RxErrorPassive: %ld\n", statt2.RxErrorPassive);
192+
printf("can - HAL_FDCAN_GetErrorCounters() - ErrorLogging: %ld\n", statt2.ErrorLogging);
162193
}
163194
}
164195

@@ -187,6 +218,9 @@ int main(void)
187218
/* Configure the system clock */
188219
SystemClock_Config();
189220

221+
/* Configure the peripherals common clocks */
222+
PeriphCommonClock_Config();
223+
190224
/* USER CODE BEGIN SysInit */
191225
//HAL_Delay(10000);
192226
/* USER CODE END SysInit */
@@ -285,6 +319,36 @@ void SystemClock_Config(void)
285319
__HAL_FLASH_SET_PROGRAM_DELAY(FLASH_PROGRAMMING_DELAY_2);
286320
}
287321

322+
/**
323+
* @brief Peripherals Common Clock Configuration
324+
* @retval None
325+
*/
326+
void PeriphCommonClock_Config(void)
327+
{
328+
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
329+
330+
/** Initializes the peripherals clock
331+
*/
332+
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADCDAC|RCC_PERIPHCLK_FDCAN
333+
|RCC_PERIPHCLK_SPI2;
334+
PeriphClkInitStruct.PLL2.PLL2Source = RCC_PLL2_SOURCE_HSE;
335+
PeriphClkInitStruct.PLL2.PLL2M = 5;
336+
PeriphClkInitStruct.PLL2.PLL2N = 64;
337+
PeriphClkInitStruct.PLL2.PLL2P = 5;
338+
PeriphClkInitStruct.PLL2.PLL2Q = 5;
339+
PeriphClkInitStruct.PLL2.PLL2R = 2;
340+
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2_VCIRANGE_2;
341+
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2_VCORANGE_WIDE;
342+
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
343+
PeriphClkInitStruct.PLL2.PLL2ClockOut = RCC_PLL2_DIVP|RCC_PLL2_DIVQ;
344+
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_PLL2Q;
345+
PeriphClkInitStruct.Spi2ClockSelection = RCC_SPI2CLKSOURCE_PLL2P;
346+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
347+
{
348+
Error_Handler();
349+
}
350+
}
351+
288352
/**
289353
* @brief ADC1 Initialization Function
290354
* @param None
@@ -596,10 +660,10 @@ static void MX_FDCAN2_Init(void)
596660
hfdcan2.Init.AutoRetransmission = DISABLE;
597661
hfdcan2.Init.TransmitPause = DISABLE;
598662
hfdcan2.Init.ProtocolException = DISABLE;
599-
hfdcan2.Init.NominalPrescaler = 5;
663+
hfdcan2.Init.NominalPrescaler = 8;
600664
hfdcan2.Init.NominalSyncJumpWidth = 1;
601-
hfdcan2.Init.NominalTimeSeg1 = 1;
602-
hfdcan2.Init.NominalTimeSeg2 = 8;
665+
hfdcan2.Init.NominalTimeSeg1 = 11;
666+
hfdcan2.Init.NominalTimeSeg2 = 4;
603667
hfdcan2.Init.DataPrescaler = 1;
604668
hfdcan2.Init.DataSyncJumpWidth = 1;
605669
hfdcan2.Init.DataTimeSeg1 = 1;

Core/Src/stm32h5xx_hal_msp.c

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -592,22 +592,11 @@ void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
592592
void HAL_FDCAN_MspInit(FDCAN_HandleTypeDef* hfdcan)
593593
{
594594
GPIO_InitTypeDef GPIO_InitStruct = {0};
595-
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
596595
if(hfdcan->Instance==FDCAN2)
597596
{
598597
/* USER CODE BEGIN FDCAN2_MspInit 0 */
599598

600599
/* USER CODE END FDCAN2_MspInit 0 */
601-
602-
/** Initializes the peripherals clock
603-
*/
604-
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_FDCAN;
605-
PeriphClkInitStruct.FdcanClockSelection = RCC_FDCANCLKSOURCE_HSE;
606-
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
607-
{
608-
Error_Handler();
609-
}
610-
611600
/* Peripheral clock enable */
612601
__HAL_RCC_FDCAN_CLK_ENABLE();
613602

@@ -919,32 +908,11 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
919908
void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
920909
{
921910
GPIO_InitTypeDef GPIO_InitStruct = {0};
922-
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
923911
if(hspi->Instance==SPI2)
924912
{
925913
/* USER CODE BEGIN SPI2_MspInit 0 */
926914

927915
/* USER CODE END SPI2_MspInit 0 */
928-
929-
/** Initializes the peripherals clock
930-
*/
931-
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI2;
932-
PeriphClkInitStruct.PLL2.PLL2Source = RCC_PLL2_SOURCE_HSE;
933-
PeriphClkInitStruct.PLL2.PLL2M = 5;
934-
PeriphClkInitStruct.PLL2.PLL2N = 64;
935-
PeriphClkInitStruct.PLL2.PLL2P = 5;
936-
PeriphClkInitStruct.PLL2.PLL2Q = 5;
937-
PeriphClkInitStruct.PLL2.PLL2R = 2;
938-
PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2_VCIRANGE_2;
939-
PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2_VCORANGE_WIDE;
940-
PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
941-
PeriphClkInitStruct.PLL2.PLL2ClockOut = RCC_PLL2_DIVP;
942-
PeriphClkInitStruct.Spi2ClockSelection = RCC_SPI2CLKSOURCE_PLL2P;
943-
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
944-
{
945-
Error_Handler();
946-
}
947-
948916
/* Peripheral clock enable */
949917
__HAL_RCC_SPI2_CLK_ENABLE();
950918

Core/Src/u_adc.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,12 @@ lfiu_adc_t adc_getLfiuData(void) {
204204
sensors.raw[LFIU_1] = _mux_buffer[SEL2_HIGH];
205205
sensors.raw[LFIU_2] = _mux_buffer[SEL2_LOW];
206206

207-
serial_monitor("lfiu", "adc1_inp15", "%d", _adc1_buffer[ADC1_CHANNEL15]);
208-
serial_monitor("lfiu", "_mux_buffer[SEL2_HIGH]", "%d", _mux_buffer[SEL2_HIGH]);
209-
serial_monitor("lfiu", "_mux_buffer[SEL2_LOW]", "%d", _mux_buffer[SEL2_LOW]);
210-
serial_monitor("lfiu", "sensors.raw[LFIU_1]", "%d", sensors.raw[LFIU_1]);
211-
serial_monitor("lfiu", "sensors.raw[LFIU_2]", "%d", sensors.raw[LFIU_2]);
212-
serial_monitor("lfiu", "mux_state (0=HIGH, 1=LOW)", "%d", mux_state_debug);
207+
// serial_monitor("lfiu", "adc1_inp15", "%d", _adc1_buffer[ADC1_CHANNEL15]);
208+
// serial_monitor("lfiu", "_mux_buffer[SEL2_HIGH]", "%d", _mux_buffer[SEL2_HIGH]);
209+
// serial_monitor("lfiu", "_mux_buffer[SEL2_LOW]", "%d", _mux_buffer[SEL2_LOW]);
210+
// serial_monitor("lfiu", "sensors.raw[LFIU_1]", "%d", sensors.raw[LFIU_1]);
211+
// serial_monitor("lfiu", "sensors.raw[LFIU_2]", "%d", sensors.raw[LFIU_2]);
212+
// serial_monitor("lfiu", "mux_state (0=HIGH, 1=LOW)", "%d", mux_state_debug);
213213

214214
/* Calculate the ADC voltage. */
215215
const float V_REF = 3.3f;
@@ -270,6 +270,6 @@ lvread_adc_t adc_getLVData_2(void) {
270270
/* Convert the raw ADC reading directly to the full LV Voltage. */
271271
// Based on a linear fit computed via experimental data from VCU 001, we have: f(x) = 0.008988x - 0.89151 V, where f(x) is the full LV Voltage and x is the raw ADC reading.
272272
data.voltage = (data.raw*0.008988) - 0.89151;
273-
273+
274274
return data;
275275
}

Core/Src/u_lightning.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ int lightning_init(void) {
4444

4545
/* Restarts the lightning fault timer. */
4646
int lightning_handleIMUMessage(void) {
47-
47+
4848
int status = timer_restart(&lightning_fault_timer);
4949
if (status != U_SUCCESS) {
5050
PRINTLN_ERROR("Failed to restart lightning Fault timer (Status: %d).", status);
@@ -68,8 +68,7 @@ void update_lightning_board_status(bool bms_gpio, bool imd_gpio) {
6868
}
6969
else
7070
{
71-
status = LIGHT_GREEN;
71+
status = LIGHT_GREEN;
7272
}
7373
send_lightning_board_status(status);
7474
}
75-

Core/Src/u_pedals.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,9 @@ static void _calculate_accel_faults(float voltage_accel1, float voltage_accel2,
236236
_drive_lock_unset(ACCEL_SC);
237237
}
238238

239-
serial_monitor("sc", "voltage_accel1", "%f", voltage_accel1);
240-
serial_monitor("sc", "voltage_accel2", "%f", voltage_accel2);
241-
serial_monitor("sc", "drive lock sc state", "%d", _get_drive_lock_state(ACCEL_SC));
239+
// serial_monitor("sc", "voltage_accel1", "%f", voltage_accel1);
240+
// serial_monitor("sc", "voltage_accel2", "%f", voltage_accel2);
241+
// serial_monitor("sc", "drive lock sc state", "%d", _get_drive_lock_state(ACCEL_SC));
242242

243243
/* Pedal Difference Fault */
244244
/* Detects if the two accelerator pedal sensors give readings that differ by more than PEDAL_DIFF_THRESH. */

Core/Src/u_queues.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ queue_t state_transition_queue = {
4747
.capacity = 10 /* Number of messages the queue can hold. */
4848
};
4949

50-
/* Initializes all ThreadX queues.
50+
/* Initializes all ThreadX queues.
5151
* Calls to _create_queue() should go in here
5252
*/
5353
uint8_t queues_init(TX_BYTE_POOL *byte_pool) {
5454

5555
/* Create Queues */
56-
CATCH_ERROR(create_queue(byte_pool, &eth_incoming), U_SUCCESS); // Create Incoming Ethernet Queue
57-
CATCH_ERROR(create_queue(byte_pool, &eth_outgoing), U_SUCCESS); // Create Outgoing Ethernet Queue
56+
// CATCH_ERROR(create_queue(byte_pool, &eth_incoming), U_SUCCESS); // Create Incoming Ethernet Queue
57+
// CATCH_ERROR(create_queue(byte_pool, &eth_outgoing), U_SUCCESS); // Create Outgoing Ethernet Queue
5858
CATCH_ERROR(create_queue(byte_pool, &can_incoming), U_SUCCESS); // Create Incoming CAN Queue
5959
CATCH_ERROR(create_queue(byte_pool, &can_outgoing), U_SUCCESS); // Create Outgoing CAN Queue
6060
CATCH_ERROR(create_queue(byte_pool, &faults), U_SUCCESS); // Create Faults Queue
6161
CATCH_ERROR(create_queue(byte_pool, &state_transition_queue), U_SUCCESS); // Create state transition queue.
6262

6363
PRINTLN_INFO("Ran queues_init().");
6464
return U_SUCCESS;
65-
}
65+
}

Core/Src/u_rtds.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ static timer_t reverse_sound_timer = {
3333
/* Sets (i.e. turns on) the RTDS pin. */
3434
static void _set_rtds_pin(void) {
3535
/* If shutdown is active, make it impossible to sound RTDS. */
36-
if(is_shutdown_active() == true) {
37-
return; // Return early. Never ever have RTDS be high when shutdown is active.
36+
if(!is_shutdown_active()) {
37+
return; // Return early. Never ever have RTDS be high when shutdown is open.
3838
}
3939

4040
HAL_GPIO_WritePin(RTDS_GPIO_GPIO_Port, RTDS_GPIO_Pin, GPIO_PIN_SET); // Turn on RTDS pin.
@@ -135,15 +135,15 @@ int rtds_cancelRTDS(void) {
135135
int rtds_startReverseSound(void) {
136136
/* Stop the Reverse Sound if it's already active. */
137137
rtds_stopReverseSound();
138-
138+
139139
/* Activate the reverse sound timer to start periodic beeping */
140140
int status = timer_start(&reverse_sound_timer);
141141
if(status != U_SUCCESS) {
142142
PRINTLN_ERROR("Failed to activate reverse sound timer (Status: %d).", status);
143143
queue_send(&faults, &(fault_t){RTDS_FAULT}, TX_NO_WAIT);
144144
return U_ERROR;
145145
}
146-
146+
147147
PRINTLN_INFO("Started reverse sound.");
148148
return U_SUCCESS;
149149
}
@@ -152,15 +152,15 @@ int rtds_startReverseSound(void) {
152152
int rtds_stopReverseSound(void) {
153153
/* Turn off the RTDS sound */
154154
_clear_rtds_pin();
155-
155+
156156
/* Deactivate the reverse sound timer */
157157
int status = timer_stop(&reverse_sound_timer);
158158
if(status != U_SUCCESS) {
159159
PRINTLN_ERROR("Failed to deactivate reverse sound timer (Status: %d).", status);
160160
queue_send(&faults, &(fault_t){RTDS_FAULT}, TX_NO_WAIT);
161161
return U_ERROR;
162162
}
163-
163+
164164
PRINTLN_INFO("Stopped reverse sound.");
165165
return U_SUCCESS;
166166
}
@@ -211,4 +211,4 @@ int rtds_isInSounding(bool* state) {
211211
}
212212

213213
return U_SUCCESS;
214-
}
214+
}

Core/Src/u_shutdown.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
#include "can_messages_tx.h"
1111

1212
/* Bool to track the BMS shutdown state. */
13-
static _Atomic bool bms_shutdown = true; // We should assume that we are shut down until BMS confirms that we aren't shut down.
13+
static _Atomic bool bms_shutdown = false; // We should assume that we are shutdown is open until BMS confirms that shutdown is active.
1414
// BMS periodically sends out a CAN message reporting the shutdown state. That state is tracked here.
15-
// When this bool is `false`, BMS is indicating that shutdown is NOT active, meaning that we are in normal operation and everything is good.
16-
// When this bool is `true`, BMS is indicating that shutdown IS active, which is bad.get_shutdown
15+
// When this bool is `false`, BMS is indicating that shutdown is open, which is bad.
16+
// When this bool is `true`, BMS is indicating that shutdown is closed, meaning that we are in normal operation and everything is good
1717

1818
// callback for when either bms or imd indicates a fault - sets flag via arg
1919
static void _lightning_board_status_callback(void *arg) {

0 commit comments

Comments
 (0)