From 0016c33e7e34c582bccf0a241eebf39cc3a8dda1 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Mon, 9 Dec 2024 17:33:36 -0800 Subject: [PATCH 1/4] cuatro: remove beeper (#2100) --- board/boards/cuatro.h | 10 +--------- board/drivers/beeper.h | 26 -------------------------- board/stm32h7/board.h | 1 - board/stm32h7/peripherals.h | 1 - 4 files changed, 1 insertion(+), 37 deletions(-) delete mode 100644 board/drivers/beeper.h diff --git a/board/boards/cuatro.h b/board/boards/cuatro.h index 90d0627517..5d4bdad43f 100644 --- a/board/boards/cuatro.h +++ b/board/boards/cuatro.h @@ -71,10 +71,6 @@ static void cuatro_set_bootkick(BootState state) { //set_gpio_output(GPIOC, 12, state != BOOT_RESET); } -static void cuatro_set_siren(bool enabled){ - beeper_enable(enabled); -} - static void cuatro_set_amp_enabled(bool enabled){ set_gpio_output(GPIOA, 5, enabled); } @@ -133,10 +129,6 @@ static void cuatro_init(void) { // Clock source clock_source_init(); - // Beeper - set_gpio_alternate(GPIOD, 14, GPIO_AF2_TIM4); - beeper_init(); - // Sound codec cuatro_set_amp_enabled(false); set_gpio_alternate(GPIOA, 2, GPIO_AF8_SAI4); // SAI4_SCK_B @@ -170,7 +162,7 @@ board board_cuatro = { .read_current_mA = cuatro_read_current_mA, .set_fan_enabled = cuatro_set_fan_enabled, .set_ir_power = unused_set_ir_power, - .set_siren = cuatro_set_siren, + .set_siren = unused_set_siren, .set_bootkick = cuatro_set_bootkick, .read_som_gpio = tres_read_som_gpio, .set_amp_enabled = cuatro_set_amp_enabled diff --git a/board/drivers/beeper.h b/board/drivers/beeper.h deleted file mode 100644 index 0ae02ff5e6..0000000000 --- a/board/drivers/beeper.h +++ /dev/null @@ -1,26 +0,0 @@ - -#define BEEPER_COUNTER_OVERFLOW 25000U // 4kHz - -void beeper_enable(bool enabled) { - if (enabled) { - register_set_bits(&(TIM4->CCER), TIM_CCER_CC3E); - } else { - register_clear_bits(&(TIM4->CCER), TIM_CCER_CC3E); - } -} - -void beeper_init(void) { - // Enable timer and auto-reload - register_set(&(TIM4->CR1), TIM_CR1_CEN | TIM_CR1_ARPE, 0x3FU); - - // Set channel as PWM mode 1 and disable output - register_set_bits(&(TIM4->CCMR2), (TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3PE)); - beeper_enable(false); - - // Set max counter value and compare to get 50% duty - register_set(&(TIM4->CCR3), BEEPER_COUNTER_OVERFLOW / 2U, 0xFFFFU); - register_set(&(TIM4->ARR), BEEPER_COUNTER_OVERFLOW, 0xFFFFU); - - // Update registers and clear counter - TIM4->EGR |= TIM_EGR_UG; -} diff --git a/board/stm32h7/board.h b/board/stm32h7/board.h index ea4812245e..6ab75f55d8 100644 --- a/board/stm32h7/board.h +++ b/board/stm32h7/board.h @@ -10,7 +10,6 @@ #include "drivers/fan.h" #include "stm32h7/llfan.h" #include "stm32h7/lldac.h" -#include "drivers/beeper.h" #include "drivers/fake_siren.h" #include "stm32h7/sound.h" #include "drivers/clock_source.h" diff --git a/board/stm32h7/peripherals.h b/board/stm32h7/peripherals.h index c6874b8ac3..db89a38ad3 100644 --- a/board/stm32h7/peripherals.h +++ b/board/stm32h7/peripherals.h @@ -130,7 +130,6 @@ void peripherals_init(void) { RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // clock source timer RCC->APB1LENR |= RCC_APB1LENR_TIM2EN; // main counter RCC->APB1LENR |= RCC_APB1LENR_TIM3EN; // fan pwm - RCC->APB1LENR |= RCC_APB1LENR_TIM4EN; // beeper source RCC->APB1LENR |= RCC_APB1LENR_TIM6EN; // interrupt timer RCC->APB1LENR |= RCC_APB1LENR_TIM7EN; // DMA trigger timer RCC->APB2ENR |= RCC_APB2ENR_TIM8EN; // tick timer From bedee405d69c781b34b9cb18564d1973b2a81294 Mon Sep 17 00:00:00 2001 From: DevTekVE Date: Tue, 10 Dec 2024 02:34:04 +0100 Subject: [PATCH 2/4] test: Allow running test_misra.sh easy on macos (#2096) Allow running test_misra.sh easy on macos --- tests/misra/test_misra.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/misra/test_misra.sh b/tests/misra/test_misra.sh index c35ed02a13..64a6bf27a8 100755 --- a/tests/misra/test_misra.sh +++ b/tests/misra/test_misra.sh @@ -50,7 +50,7 @@ cppcheck() { --suppressions-list=$DIR/suppressions.txt --suppress=*:*inc/* \ --suppress=*:*include/* --error-exitcode=2 --check-level=exhaustive --safety \ --platform=arm32-wchar_t4 $COMMON_DEFINES --checkers-report=$CHECKLIST.tmp \ - --std=c11 "$@" |& tee $OUTPUT + --std=c11 "$@" 2>&1 | tee $OUTPUT cat $CHECKLIST.tmp >> $CHECKLIST rm $CHECKLIST.tmp From dfa033d807489b7219321d9705264e9d7563de1b Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Wed, 11 Dec 2024 17:35:55 -0500 Subject: [PATCH 3/4] Dockerfile: opendbc: symlink fix and use the latest ref (#2103) --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 68362f8cfd..750cb07ff8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,13 +37,13 @@ RUN pip3 install --break-system-packages --no-cache-dir $PYTHONPATH/panda/[dev] # TODO: this should be a "pip install" or not even in this repo at all RUN git config --global --add safe.directory $PYTHONPATH/panda -ENV OPENDBC_REF="e1ce3619a5db661ef2b406ccf258a253baf6eebc" +ENV OPENDBC_REF="b89fe79950121ca93d8a1f0d3fd17df31703be2a" RUN cd /tmp/ && \ git clone --depth 1 https://github.com/commaai/opendbc opendbc_repo && \ cd opendbc_repo && git fetch origin $OPENDBC_REF && git checkout FETCH_HEAD && rm -rf .git/ && \ pip3 install --break-system-packages --no-cache-dir Cython numpy && \ - scons -j8 --minimal opendbc/ && \ - ln -s $PWD/opendbc $PYTHONPATH/opendbc + ln -s $PWD/opendbc $PYTHONPATH/opendbc && \ + scons -j8 --minimal opendbc/ # for Jenkins COPY README.md panda.tar.* /tmp/ From c60941ca9801cf889b5b0a5622d465119992a885 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Wed, 11 Dec 2024 18:11:03 -0500 Subject: [PATCH 4/4] Hyundai CAN: Refactor forward hooks for blocked messages (#2046) --- board/safety/safety_hyundai.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/board/safety/safety_hyundai.h b/board/safety/safety_hyundai.h index 3e9d23216c..cf73afee62 100644 --- a/board/safety/safety_hyundai.h +++ b/board/safety/safety_hyundai.h @@ -250,8 +250,17 @@ static int hyundai_fwd_hook(int bus_num, int addr) { if (bus_num == 0) { bus_fwd = 2; } - if ((bus_num == 2) && (addr != 0x340) && (addr != 0x485)) { - bus_fwd = 0; + + if (bus_num == 2) { + // Stock LKAS11 messages + bool is_lkas_11 = (addr == 0x340); + // LFA and HDA cluster icons + bool is_lfahda_mfc = (addr == 0x485); + + bool block_msg = is_lkas_11 || is_lfahda_mfc; + if (!block_msg) { + bus_fwd = 0; + } } return bus_fwd;