@@ -37,6 +37,7 @@ struct BarCodeScript {
3737 uint8_t file_buf [FILE_BUFFER_LEN ];
3838 uint8_t buf_len ;
3939 bool is_file_end ;
40+ FuriHalSerialHandle * serial_handle ;
4041};
4142
4243/**
@@ -57,26 +58,29 @@ static void scan_sound() {
5758/**
5859 *
5960 */
60- static void usb_uart_serial_init () {
61+ static void usb_uart_serial_init (BarCodeScript * bc_script ) {
6162 furi_hal_usb_unlock ();
6263 Cli * cli = furi_record_open (RECORD_CLI );
6364 cli_session_close (cli );
6465 furi_record_close (RECORD_CLI );
6566 furi_check (furi_hal_usb_set_config (& usb_cdc_single , NULL ) == true);
66- furi_hal_console_disable ();
67- furi_hal_uart_set_br (FuriHalUartIdUSART1 , UART_BAUD );
67+
68+ bc_script -> serial_handle = furi_hal_serial_control_acquire (FuriHalSerialIdUsart );
69+
70+ furi_hal_serial_init (bc_script -> serial_handle , UART_BAUD );
6871}
6972
7073/**
7174 *
7275 */
73- static void usb_uart_serial_deinit () {
76+ static void usb_uart_serial_deinit (BarCodeScript * bc_script ) {
7477 furi_hal_usb_unlock ();
7578 furi_check (furi_hal_usb_set_config (& usb_cdc_single , NULL ) == true);
7679 Cli * cli = furi_record_open (RECORD_CLI );
7780 cli_session_open (cli , & cli_vcp );
7881 furi_record_close (RECORD_CLI );
79- furi_hal_console_enable ();
82+ furi_hal_serial_deinit (bc_script -> serial_handle );
83+ furi_hal_serial_control_release (bc_script -> serial_handle );
8084}
8185/**
8286 *
@@ -121,7 +125,7 @@ static int32_t bc_scanner_worker(void* context) {
121125 //uint8_t buff[5] = {'p', 'r', 'i', 'v', 'k'};
122126 //uint8_t state = 99;
123127
124- usb_uart_serial_init ();
128+ usb_uart_serial_init (bc_script );
125129
126130 while (1 ) {
127131 //state = furi_hal_cdc_get_ctrl_line_state(FuriHalUartIdUSART1);
@@ -192,7 +196,7 @@ static int32_t bc_scanner_worker(void* context) {
192196 }
193197 }
194198
195- usb_uart_serial_deinit ();
199+ usb_uart_serial_deinit (bc_script );
196200 storage_file_close (script_file );
197201 storage_file_free (script_file );
198202 FURI_LOG_I (WORKER_TAG , "End" );
0 commit comments