From 67fe10b128ffeefac44c3c5eb04f98ab17036533 Mon Sep 17 00:00:00 2001 From: "Peter D. Gray" Date: Tue, 15 Aug 2023 12:57:04 -0400 Subject: [PATCH] bugfix: backlight control --- stm32/COLDCARD_Q1/modckcc.c | 8 ++++++++ stm32/COLDCARD_Q1/mpconfigboard.h | 6 ++++++ stm32/COLDCARD_Q1/mpconfigboard.mk | 8 +++++++- stm32/COLDCARD_Q1/stm32l4xx_hal_tsc. | 1 - 4 files changed, 21 insertions(+), 2 deletions(-) delete mode 120000 stm32/COLDCARD_Q1/stm32l4xx_hal_tsc. diff --git a/stm32/COLDCARD_Q1/modckcc.c b/stm32/COLDCARD_Q1/modckcc.c index 1c4469d5..214b8999 100644 --- a/stm32/COLDCARD_Q1/modckcc.c +++ b/stm32/COLDCARD_Q1/modckcc.c @@ -357,4 +357,12 @@ void *realloc(void *ptr, size_t size) return m_realloc(ptr, size); } +void led_state_OMIT(int led, int state) +{ + // A number of files in ports/stm32 include leds.h and then + // call led_state() directly. This prevents us from using that LED + // for LCD backlight control, which we want because they've figured out + // the PWM nicely... so see mpconfigboard.mk where we hack in this no-op. +} + // EOF diff --git a/stm32/COLDCARD_Q1/mpconfigboard.h b/stm32/COLDCARD_Q1/mpconfigboard.h index c051ea4f..4fd0fb8e 100644 --- a/stm32/COLDCARD_Q1/mpconfigboard.h +++ b/stm32/COLDCARD_Q1/mpconfigboard.h @@ -125,4 +125,10 @@ extern void psramdisk_USBD_MSC_RegisterStorage(int num_lun, struct _usbd_cdc_msc // enable some code inside oofatfs that we need #define FF_USE_FASTSEEK (1) +// LEDs -- used for LCD backlight +#define MICROPY_HW_LED1 (pin_E3) +#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) +#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) +#define MICROPY_HW_LED1_PWM { TIM3, 3, TIM_CHANNEL_1, GPIO_AF2_TIM3 } + // EOF diff --git a/stm32/COLDCARD_Q1/mpconfigboard.mk b/stm32/COLDCARD_Q1/mpconfigboard.mk index b7e81164..cbf973fb 100644 --- a/stm32/COLDCARD_Q1/mpconfigboard.mk +++ b/stm32/COLDCARD_Q1/mpconfigboard.mk @@ -86,7 +86,13 @@ build-COLDCARD_Q1/lib/stm32lib/CMSIS/STM32L4xx/Source/Templates/system_stm32l4xx # bugfix: replace keyboard interrupt handling build-COLDCARD_Q1/lib/utils/interrupt_char.o: \ CFLAGS += -Dmp_hal_set_interrupt_char=mp_hal_set_interrupt_char_OMIT - + +# bugfix: leave my LED's alone +build-COLDCARD_Q1/flashbdev.o: CFLAGS += -Dled_state=led_state_OMIT +build-COLDCARD_Q1/spibdev.o: CFLAGS += -Dled_state=led_state_OMIT +build-COLDCARD_Q1/factoryreset.o: CFLAGS += -Dled_state=led_state_OMIT +build-COLDCARD_Q1/boardctrl.o: CFLAGS += -Dled_state=led_state_OMIT + files: # SRC_C: $(SRC_C) diff --git a/stm32/COLDCARD_Q1/stm32l4xx_hal_tsc. b/stm32/COLDCARD_Q1/stm32l4xx_hal_tsc. deleted file mode 120000 index 23043ddb..00000000 --- a/stm32/COLDCARD_Q1/stm32l4xx_hal_tsc. +++ /dev/null @@ -1 +0,0 @@ -../../external/micropython/lib/stm32lib/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tsc. \ No newline at end of file