this fixes the fw on newer compilers. haven't figured out why it broke yet (#549)
parent
d7f7b14118
commit
a38925a0a4
|
@ -13,9 +13,10 @@ else
|
|||
DFU_UTIL = "tools/dfu-util-aarch64"
|
||||
endif
|
||||
|
||||
CC = arm-none-eabi-gcc
|
||||
OBJCOPY = arm-none-eabi-objcopy
|
||||
OBJDUMP = arm-none-eabi-objdump
|
||||
#COMPILER_PATH = /home/batman/Downloads/gcc-arm-none-eabi-9-2020-q2-update/bin/
|
||||
CC = $(COMPILER_PATH)arm-none-eabi-gcc
|
||||
OBJCOPY = $(COMPILER_PATH)arm-none-eabi-objcopy
|
||||
OBJDUMP = $(COMPILER_PATH)arm-none-eabi-objdump
|
||||
|
||||
ifeq ($(RELEASE),1)
|
||||
CERT = ../../pandaextra/certs/release
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// **** libc ****
|
||||
|
||||
void delay(int a) {
|
||||
volatile int i;
|
||||
void delay(uint32_t a) {
|
||||
volatile uint32_t i;
|
||||
for (i = 0; i < a; i++);
|
||||
}
|
||||
|
||||
|
|
25
board/main.c
25
board/main.c
|
@ -755,6 +755,7 @@ void TIM1_BRK_TIM9_IRQ_Handler(void) {
|
|||
TIM9->SR = 0;
|
||||
}
|
||||
|
||||
#define MAX_FADE 8192U
|
||||
int main(void) {
|
||||
// Init interrupt table
|
||||
init_interrupts(true);
|
||||
|
@ -853,19 +854,23 @@ int main(void) {
|
|||
#ifdef DEBUG_FAULTS
|
||||
if(fault_status == FAULT_STATUS_NONE){
|
||||
#endif
|
||||
int div_mode = ((usb_power_mode == USB_POWER_DCP) ? 4 : 1);
|
||||
uint32_t div_mode = ((usb_power_mode == USB_POWER_DCP) ? 4U : 1U);
|
||||
|
||||
// useful for debugging, fade breaks = panda is overloaded
|
||||
for (int div_mode_loop = 0; div_mode_loop < div_mode; div_mode_loop++) {
|
||||
for (int fade = 0; fade < 1024; fade += 8) {
|
||||
for (int i = 0; i < (128/div_mode); i++) {
|
||||
current_board->set_led(LED_RED, 1);
|
||||
if (fade < 512) { delay(fade); } else { delay(1024-fade); }
|
||||
current_board->set_led(LED_RED, 0);
|
||||
if (fade < 512) { delay(512-fade); } else { delay(fade-512); }
|
||||
}
|
||||
}
|
||||
for(uint32_t fade = 0U; fade < MAX_FADE; fade += div_mode){
|
||||
current_board->set_led(LED_RED, true);
|
||||
delay(fade >> 4);
|
||||
current_board->set_led(LED_RED, false);
|
||||
delay((MAX_FADE - fade) >> 4);
|
||||
}
|
||||
|
||||
for(uint32_t fade = MAX_FADE; fade > 0U; fade -= div_mode){
|
||||
current_board->set_led(LED_RED, true);
|
||||
delay(fade >> 4);
|
||||
current_board->set_led(LED_RED, false);
|
||||
delay((MAX_FADE - fade) >> 4);
|
||||
}
|
||||
|
||||
#ifdef DEBUG_FAULTS
|
||||
} else {
|
||||
current_board->set_led(LED_RED, 1);
|
||||
|
|
Loading…
Reference in New Issue