/home/runner/work/_temp/app/code/uart.c:10:5: error: unknown type name 'FuriHalSerialHandle' 10 | FuriHalSerialHandle* serial_handle; | ^~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c:11:5: error: unknown type name 'FuriHalSerialId' 11 | FuriHalSerialId channel; | ^~~~~~~~~~~~~~~ In file included from /home/runner/work/_temp/app/code/gb_cartridge_app.c:1: /home/runner/work/_temp/app/code/gb_cartridge_app.h:9:10: fatal error: expansion/expansion.h: No such file or directory 9 | #include | ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. scons: *** [/home/runner/.ufbt/build/malveke_gb_cartridge/gb_cartridge_app.o] Error 1 /home/runner/work/_temp/app/code/uart.c:33:5: error: unknown type name 'FuriHalSerialHandle'; did you mean 'FuriHalSpiBusHandle'? 33 | FuriHalSerialHandle* handle, | ^~~~~~~~~~~~~~~~~~~ | FuriHalSpiBusHandle /home/runner/work/_temp/app/code/uart.c:34:5: error: unknown type name 'FuriHalSerialRxEvent'; did you mean 'FuriHalSpiBusEvent'? 34 | FuriHalSerialRxEvent event, | ^~~~~~~~~~~~~~~~~~~~ | FuriHalSpiBusEvent /home/runner/work/_temp/app/code/uart.c:46:20: error: unknown type name 'FuriHalSerialHandle'; did you mean 'FuriHalSpiBusHandle'? 46 | uart_on_irq_cb(FuriHalSerialHandle* handle, FuriHalSerialRxEvent event, void* context) { | ^~~~~~~~~~~~~~~~~~~ | FuriHalSpiBusHandle /home/runner/work/_temp/app/code/uart.c:46:49: error: unknown type name 'FuriHalSerialRxEvent'; did you mean 'FuriHalSpiBusEvent'? 46 | uart_on_irq_cb(FuriHalSerialHandle* handle, FuriHalSerialRxEvent event, void* context) { | ^~~~~~~~~~~~~~~~~~~~ | FuriHalSpiBusEvent /home/runner/work/_temp/app/code/uart.c: In function 'uart_worker': /home/runner/work/_temp/app/code/uart.c:3:18: error: 'FuriHalSerialIdUsart' undeclared (first use in this function) 3 | #define UART_CH (FuriHalSerialIdUsart) | ^~~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c:117:33: note: in expansion of macro 'UART_CH' 117 | if(uart->channel == UART_CH) { | ^~~~~~~ /home/runner/work/_temp/app/code/uart.c:3:18: note: each undeclared identifier is reported only once for each function it appears in 3 | #define UART_CH (FuriHalSerialIdUsart) | ^~~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c:117:33: note: in expansion of macro 'UART_CH' 117 | if(uart->channel == UART_CH) { | ^~~~~~~ /home/runner/work/_temp/app/code/uart.c:4:21: error: 'FuriHalSerialIdLpuart' undeclared (first use in this function) 4 | #define LP_UART_CH (FuriHalSerialIdLpuart) | ^~~~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c:130:40: note: in expansion of macro 'LP_UART_CH' 130 | } else if(uart->channel == LP_UART_CH) { | ^~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c: In function 'uart_tx': /home/runner/work/_temp/app/code/uart.c:146:5: error: implicit declaration of function 'furi_hal_serial_tx'; did you mean 'furi_hal_bt_serial_tx'? [-Werror=implicit-function-declaration] 146 | furi_hal_serial_tx(uart->serial_handle, data, len); | ^~~~~~~~~~~~~~~~~~ | furi_hal_bt_serial_tx /home/runner/work/_temp/app/code/uart.c: At top level: /home/runner/work/_temp/app/code/uart.c:149:29: error: unknown type name 'FuriHalSerialId'; did you mean 'FuriHalUartId'? 149 | Uart* _uart_init(void* app, FuriHalSerialId channel, const char* thread_name) { | ^~~~~~~~~~~~~~~ | FuriHalUartId /home/runner/work/_temp/app/code/uart.c: In function 'usart_init': /home/runner/work/_temp/app/code/uart.c:176:12: error: implicit declaration of function '_uart_init'; did you mean 'lp_uart_init'? [-Werror=implicit-function-declaration] 176 | return _uart_init(app, UART_CH, "UartRxThread"); | ^~~~~~~~~~ | lp_uart_init /home/runner/work/_temp/app/code/uart.c:3:18: error: 'FuriHalSerialIdUsart' undeclared (first use in this function) 3 | #define UART_CH (FuriHalSerialIdUsart) | ^~~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c:176:28: note: in expansion of macro 'UART_CH' 176 | return _uart_init(app, UART_CH, "UartRxThread"); | ^~~~~~~ /home/runner/work/_temp/app/code/uart.c: In function 'lp_uart_init': /home/runner/work/_temp/app/code/uart.c:4:21: error: 'FuriHalSerialIdLpuart' undeclared (first use in this function) 4 | #define LP_UART_CH (FuriHalSerialIdLpuart) | ^~~~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c:180:28: note: in expansion of macro 'LP_UART_CH' 180 | return _uart_init(app, LP_UART_CH, "LPUartRxThread"); | ^~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c: In function 'uart_free': /home/runner/work/_temp/app/code/uart.c:190:5: error: implicit declaration of function 'furi_hal_serial_deinit'; did you mean 'furi_hal_uart_deinit'? [-Werror=implicit-function-declaration] 190 | furi_hal_serial_deinit(uart->serial_handle); | ^~~~~~~~~~~~~~~~~~~~~~ | furi_hal_uart_deinit /home/runner/work/_temp/app/code/uart.c:191:5: error: implicit declaration of function 'furi_hal_serial_control_release' [-Werror=implicit-function-declaration] 191 | furi_hal_serial_control_release(uart->serial_handle); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/runner/work/_temp/app/code/uart.c: In function 'usart_init': /home/runner/work/_temp/app/code/uart.c:177:1: error: control reaches end of non-void function [-Werror=return-type] 177 | } | ^ /home/runner/work/_temp/app/code/uart.c: In function 'lp_uart_init': /home/runner/work/_temp/app/code/uart.c:181:1: error: control reaches end of non-void function [-Werror=return-type] 181 | } | ^ At top level: /home/runner/work/_temp/app/code/uart.c:106:16: error: 'uart_worker' defined but not used [-Werror=unused-function] 106 | static int32_t uart_worker(void* context) { | ^~~~~~~~~~~ cc1: all warnings being treated as errors scons: *** [/home/runner/.ufbt/build/malveke_gb_cartridge/uart.o] Error 1 More logs: https://github.com/flipperdevices/flipper-application-catalog/actions/runs/8277338411