Fix locking up while reconnecting - Version bump
Some checks failed
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux32 flags:32 name:Linux GCC 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux64 flags:64 name:Linux GCC x64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm32 flags:arm32 name:Linux GCC ARM 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm64 flags:arm64 name:Linux GCC ARM 64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:macos name:macOS Apple Silicon os:macos-14]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win32 flags:-A Win32 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 Win32 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win64 flags:-A x64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 x64 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:winarm64 flags:-A ARM64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 ARM os:windows-2022]) (push) Has been cancelled
CD / Create Pi Mono Setup (push) Has been cancelled
CD / Publishing (push) Has been cancelled

This commit is contained in:
Lorenzooone
2025-12-07 02:52:02 +01:00
parent dc21e1babe
commit b93c1507aa
15 changed files with 167 additions and 29 deletions

View File

@@ -54,6 +54,35 @@ static int choose_device(std::vector<CaptureDevice> *devices_list, FrontendData*
return chosen_index;
}
void setup_reconnection_device(void* info) {
FrontendData* frontend_data = static_cast<FrontendData*>(info);
frontend_data->top_screen->setup_reconnection_menu();
frontend_data->bot_screen->setup_reconnection_menu();
frontend_data->joint_screen->setup_reconnection_menu();
}
bool wait_reconnection_device(void* info) {
FrontendData* frontend_data = static_cast<FrontendData*>(info);
update_output(frontend_data);
frontend_data->top_screen->poll();
frontend_data->bot_screen->poll();
frontend_data->joint_screen->poll();
if(frontend_data->top_screen->close_capture())
return false;
if(frontend_data->bot_screen->close_capture())
return false;
if(frontend_data->joint_screen->close_capture())
return false;
return true;
}
void end_reconnection_device(void* info) {
FrontendData* frontend_data = static_cast<FrontendData*>(info);
frontend_data->top_screen->end_reconnection_menu();
frontend_data->bot_screen->end_reconnection_menu();
frontend_data->joint_screen->end_reconnection_menu();
}
void capture_error_print(bool print_failed, CaptureData* capture_data, std::string error_string) {
capture_error_print(print_failed, capture_data, error_string, error_string);
}
@@ -144,11 +173,11 @@ bool connect(bool print_failed, CaptureData* capture_data, FrontendData* fronten
// Actual connection
#ifdef USE_CYNI_USB
if((devices_list[chosen_device].cc_type == CAPTURE_CONN_CYPRESS_NISETRO) && (!cyni_device_connect_usb(print_failed, capture_data, &devices_list[chosen_device])))
if((devices_list[chosen_device].cc_type == CAPTURE_CONN_CYPRESS_NISETRO) && (!cyni_device_connect_usb(print_failed, capture_data, &devices_list[chosen_device], frontend_data)))
return false;
#endif
#ifdef USE_CYPRESS_OPTIMIZE
if((devices_list[chosen_device].cc_type == CAPTURE_CONN_CYPRESS_OPTIMIZE) && (!cyop_device_connect_usb(print_failed, capture_data, &devices_list[chosen_device])))
if((devices_list[chosen_device].cc_type == CAPTURE_CONN_CYPRESS_OPTIMIZE) && (!cyop_device_connect_usb(print_failed, capture_data, &devices_list[chosen_device], frontend_data)))
return false;
#endif
#ifdef USE_FTD3