Optimize/Nisetro: Fix issue with bad reconnection
Some checks are pending
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) Waiting to run
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) Waiting to run
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) Waiting to run
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) Waiting to run
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) Waiting to run
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) Waiting to run
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) Waiting to run
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) Waiting to run
CD / Create Pi Mono Setup (push) Blocked by required conditions
CD / Publishing (push) Blocked by required conditions

This commit is contained in:
Lorenzooone
2025-11-04 03:59:47 +01:00
parent 7ad566928a
commit 0b343a0f8e
2 changed files with 20 additions and 10 deletions

View File

@@ -84,6 +84,13 @@ static cy_device_device_handlers* usb_reconnect(const cyni_device_usb_device* us
return final_handlers;
}
static std::string process_serial_string(const cyni_device_usb_device* usb_device_desc, std::string out_serial) {
std::string preamble = "";
if((usb_device_desc != NULL) && usb_device_desc->has_bcd_device_serial)
preamble = "USB ";
return preamble + out_serial;
}
static std::string _cypress_nisetro_get_serial(const cyni_device_usb_device* usb_device_desc, std::string serial, uint16_t bcd_device, int& curr_serial_extra_id) {
if((!usb_device_desc->has_bcd_device_serial) && (serial != ""))
return serial;
@@ -96,10 +103,7 @@ std::string cypress_nisetro_get_serial(const void* usb_device_desc, std::string
if(usb_device_desc == NULL)
return "";
const cyni_device_usb_device* in_usb_device_desc = (const cyni_device_usb_device*)usb_device_desc;
std::string preamble = "";
if(in_usb_device_desc->has_bcd_device_serial)
preamble = "USB ";
return preamble + _cypress_nisetro_get_serial(in_usb_device_desc, serial, bcd_device, curr_serial_extra_id);
return process_serial_string(in_usb_device_desc, _cypress_nisetro_get_serial(in_usb_device_desc, serial, bcd_device, curr_serial_extra_id));
}
static CaptureDevice _cypress_nisetro_create_device(const cyni_device_usb_device* usb_device_desc, std::string serial, std::string path) {
@@ -168,7 +172,7 @@ bool cyni_device_connect_usb(bool print_failed, CaptureData* capture_data, Captu
return false;
}
cypress_nisetro_connection_end(handlers, usb_device_info);
std::string new_serial_number = std::to_string(free_fw_id);
std::string new_serial_number = process_serial_string(next_usb_device_info, std::to_string(free_fw_id));
CaptureDevice new_device;
for(int i = 0; i < 20; i++) {
default_sleep(500);

View File

@@ -98,6 +98,13 @@ static cy_device_device_handlers* usb_reconnect(const cyop_device_usb_device* us
return final_handlers;
}
static std::string process_serial_string(const cyop_device_usb_device* usb_device_desc, std::string out_serial) {
std::string preamble = "";
if((usb_device_desc != NULL) && usb_device_desc->has_bcd_device_serial)
preamble = "USB ";
return preamble + out_serial;
}
static std::string _cypress_optimize_3ds_get_serial(const cyop_device_usb_device* usb_device_desc, std::string serial, uint16_t bcd_device, int& curr_serial_extra_id) {
if((!usb_device_desc->has_bcd_device_serial) && (serial != ""))
return serial;
@@ -110,10 +117,7 @@ std::string cypress_optimize_3ds_get_serial(const void* usb_device_desc, std::st
if(usb_device_desc == NULL)
return "";
const cyop_device_usb_device* in_usb_device_desc = (const cyop_device_usb_device*)usb_device_desc;
std::string preamble = "";
if(in_usb_device_desc->has_bcd_device_serial)
preamble = "USB ";
return preamble + _cypress_optimize_3ds_get_serial(in_usb_device_desc, serial, bcd_device, curr_serial_extra_id);
return process_serial_string(in_usb_device_desc, _cypress_optimize_3ds_get_serial(in_usb_device_desc, serial, bcd_device, curr_serial_extra_id));
}
static CaptureDevice _cypress_optimize_3ds_create_device(const cyop_device_usb_device* usb_device_desc, std::string serial, std::string path) {
@@ -182,7 +186,7 @@ bool cyop_device_connect_usb(bool print_failed, CaptureData* capture_data, Captu
return false;
}
cypress_optimize_3ds_connection_end(handlers, usb_device_info);
std::string new_serial_number = std::to_string(free_fw_id);
std::string new_serial_number = process_serial_string(next_usb_device_info, std::to_string(free_fw_id));
CaptureDevice new_device;
for(int i = 0; i < 20; i++) {
default_sleep(500);
@@ -915,6 +919,8 @@ static std::string read_key_for_device_id_from_file(uint64_t device_id, const cy
}
static void add_key_for_device_id_to_file(uint64_t device_id, std::string key, const cyop_device_usb_device* usb_device_desc) {
// This is fine for a limited amount of keys.
// It should be optimized if many keys need to be stored...
if(usb_device_desc == NULL)
return;
if(key == "")