Improve DualSense Edge support; v2.5

This commit is contained in:
dualshock-tools
2025-05-17 17:38:56 +02:00
parent 0212e3baaa
commit 901b93ee5d
22 changed files with 410 additions and 71 deletions

253
core.js
View File

@@ -205,10 +205,10 @@ async function ds5_flash() {
async function ds5_edge_flash() {
la("ds5_edge_flash");
try {
await ds5_edge_flash_modules();
await ds5_reset();
show_popup("<b>" + l("Changes saved successfully") + "</b>.<br><br>" + l("If the calibration is not stored permanently, please double-check the wirings of the hardware mod.") + "<br>" + l("Please disconnect and reconnect the controller."), true);
await disconnect();
ret = await ds5_edge_flash_modules();
if(ret) {
show_popup("<b>" + l("Changes saved successfully") + "</b>.<br><br>" + l("If the calibration is not stored permanently, please double-check the wirings of the hardware mod."), true);
}
} catch(error) {
show_popup(l("Error while saving changes: ") + toString(error));
}
@@ -492,6 +492,22 @@ async function ds4_getbdaddr() {
}
}
async function ds5_edge_get_barcode() {
try {
await device.sendFeatureReport(0x80, alloc_req(0x80, [21,34]));
await new Promise(r => setTimeout(r, 100));
data = lf("ds5_edge_get_barcode", await device.receiveFeatureReport(0x81));
td = new TextDecoder()
r_bc = td.decode(data.buffer.slice(21, 21+17));
l_bc = td.decode(data.buffer.slice(40, 40+17));
return [r_bc, l_bc];
} catch(e) {
return "error";
}
}
async function ds5_getbdaddr() {
try {
await device.sendFeatureReport(0x80, alloc_req(0x80, [9,2]));
@@ -531,7 +547,30 @@ async function ds5_system_info(base, num, length, decode = true) {
return l("Unknown");
}
async function ds5_info() {
function ds5_edge_color(x) {
const colorMap = {
'00' : 'White',
'01' : 'Black',
'02' : 'Cosmic Red',
'03' : 'Nova Pink',
'04' : 'Galactic Purple',
'05' : 'Starlight Blue',
'06' : 'Gray Camo',
'07' : 'Volcanic Red',
'08' : 'Sterling Silver',
'09' : 'Chroma Indigo',
'30' : '30Th Anniversary',
'Z1' : 'God of War Ragnarok',
'Z3' : 'Astro Bot'
};
const colorCode = x.slice(4, 6);
const colorName = colorMap[colorCode] || 'Unknown';
return colorName;
}
async function ds5_info(is_edge) {
try {
const view = lf("ds5_info", await device.receiveFeatureReport(0x20));
@@ -559,14 +598,23 @@ async function ds5_info() {
b_info = '&nbsp;<a class="link-body-emphasis" href="#" onclick="board_model_info()">' +
'<svg class="bi" width="1.3em" height="1.3em"><use xlink:href="#info"/></svg></a>';
c_info = '&nbsp;<a class="link-body-emphasis" href="#" onclick="edge_color_info()">' +
'<svg class="bi" width="1.3em" height="1.3em"><use xlink:href="#info"/></svg></a>';
append_info(l("Serial Number"), await ds5_system_info(1, 19, 17), "hw");
serial_number = await ds5_system_info(1, 19, 17);
append_info(l("Serial Number"), serial_number, "hw");
append_info_extra(l("MCU Unique ID"), await ds5_system_info(1, 9, 9, false), "hw");
append_info_extra(l("PCBA ID"), await ds5_system_info(1, 17, 14), "hw");
append_info_extra(l("Battery Barcode"), await ds5_system_info(1, 24, 23), "hw");
append_info_extra(l("VCM Left Barcode"), await ds5_system_info(1, 26, 16), "hw");
append_info_extra(l("VCM Right Barcode"), await ds5_system_info(1, 28, 16), "hw");
append_info(l("Board Model"), ds5_hw_to_bm(hwinfo) + b_info, "hw");
if(is_edge) {
color = ds5_edge_color(serial_number);
append_info(l("Color"), color + c_info, "hw");
} else {
append_info(l("Board Model"), ds5_hw_to_bm(hwinfo) + b_info, "hw");
}
append_info(l("FW Build Date"), build_date + " " + build_time, "fw");
append_info_extra(l("FW Type"), "0x" + dec2hex(fwtype), "fw");
@@ -592,6 +640,7 @@ async function ds5_info() {
nvstatus = await ds5_nvstatus();
if(nvstatus == 0)
await ds5_nvlock();
bd_addr = await ds5_getbdaddr();
append_info(l("Bluetooth Address"), bd_addr, "hw");
} catch(e) {
@@ -602,6 +651,18 @@ async function ds5_info() {
return true;
}
async function ds5_load_modules_info() {
empty = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
// DS Edge
sticks_barcode = await ds5_edge_get_barcode();
for(i=0;i<2;i++) {
if(sticks_barcode[i] == empty)
sticks_barcode[i] = l("Unknown")
}
append_info(l("Left Module Barcode"), sticks_barcode[1], "fw");
append_info(l("Right Module Barcode"), sticks_barcode[0], "fw");
}
async function ds5_calibrate_sticks_begin() {
la("ds5_calibrate_sticks_begin");
var err = l("Range calibration failed: ");
@@ -863,36 +924,124 @@ async function ds5_nvlock() {
}
}
async function wait_until_written(expected) {
for(it=0;it<10;it++) {
data = await device.receiveFeatureReport(0x81)
again = false
for(i=0;i<expected.length;i++)
if(data.getUint8(1+i, true) != expected[i]) {
again = true;
break;
}
if(!again) {
return true;
}
await new Promise(r => setTimeout(r, 50));
}
return false;
}
function set_edge_progress(score) {
$("#dsedge-progress").css({ "width": score + "%" })
}
async function ds5_edge_flash_modules() {
la("ds5_edge_flash_modules");
var modal = null;
if (device == null)
return;
try {
modal = new bootstrap.Modal(document.getElementById('edgeProgressModal'), {})
modal.show();
set_edge_progress(0);
if(device != null) {
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 6, 0, 11]))
await new Promise(r => setTimeout(r, 200));
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 5, 0]))
await new Promise(r => setTimeout(r, 200));
// Reload data, this ensures correctly writing data in the controller
await ds5_nvunlock()
await new Promise(r => setTimeout(r, 50));
set_edge_progress(5);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 6, 1, 11]))
await new Promise(r => setTimeout(r, 200));
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 5, 1]))
await new Promise(r => setTimeout(r, 200));
data = await ds5_get_inmemory_module_data()
await new Promise(r => setTimeout(r, 50));
set_edge_progress(10);
await write_finetune_data(data)
await new Promise(r => setTimeout(r, 100));
set_edge_progress(15);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 6, 0]))
await new Promise(r => setTimeout(r, 200));
ret = await wait_until_written([21, 6, 2])
if(!ret) {
throw new Error(l("Cannot unlock") + " " + l("left module"));
}
await new Promise(r => setTimeout(r, 500));
if(device != null) {
data = await device.receiveFeatureReport(0x81)
await new Promise(r => setTimeout(r, 100));
set_edge_progress(30);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 5, 0]))
await new Promise(r => setTimeout(r, 200));
ret = await wait_until_written([21, 5, 2])
if(!ret) {
throw new Error(l("Cannot store data into") + " " + l("left module"));
}
await new Promise(r => setTimeout(r, 1000));
await new Promise(r => setTimeout(r, 100));
set_edge_progress(45);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 6, 1]))
await new Promise(r => setTimeout(r, 200));
ret = await wait_until_written([21, 6, 2])
if(!ret) {
throw new Error(l("Cannot unlock") + " " + l("right module"));
}
await new Promise(r => setTimeout(r, 100));
set_edge_progress(60);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 5, 1]))
await new Promise(r => setTimeout(r, 200));
ret = await wait_until_written([21, 5, 2])
if(!ret) {
throw new Error(l("Cannot store data into") + " " + l("right module"));
}
set_edge_progress(75);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 4, 0, 0]))
await new Promise(r => setTimeout(r, 200));
ret = await wait_until_written([21, 4, 2])
if(!ret) {
throw new Error(l("Cannot lock") + " " + l("left module"));
}
set_edge_progress(90);
await device.sendFeatureReport(0x80, alloc_req(0x80, [21, 4, 1, 0]))
await new Promise(r => setTimeout(r, 200));
ret = await wait_until_written([21, 4, 2])
if(!ret) {
throw new Error(l("Cannot lock") + " " + l("right module"));
}
set_edge_progress(100);
await new Promise(r => setTimeout(r, 100));
await ds5_nvlock()
await new Promise(r => setTimeout(r, 250));
modal.hide();
await ds5_reset();
modal = null;
await new Promise(r => setTimeout(r, 300));
return true;
} catch(e) {
modal.hide();
modal = null;
await new Promise(r => setTimeout(r, 500));
return show_popup(l("NVS Unlock failed: ") + e);
show_popup("Error: " + e);
return false;
}
}
@@ -1058,30 +1207,46 @@ async function ds5_finetune() {
refresh_finetune()
}
async function read_finetune_data() {
await device.sendFeatureReport(0x80, alloc_req(0x80, [12,2]))
async function ds5_get_inmemory_module_data() {
if (mode == 2) {
// DualSense
await device.sendFeatureReport(0x80, alloc_req(0x80, [12, 2]))
} else if(mode == 3) {
// DualSense Edge
await device.sendFeatureReport(0x80, alloc_req(0x80, [12, 4]))
}
var data = await device.receiveFeatureReport(0x81)
var cmd = data.getUint8(0, true);
var p1 = data.getUint8(1, true);
var p2 = data.getUint8(2, true);
var p3 = data.getUint8(3, true);
if(cmd != 129 || p1 != 12 || p2 != 2 || p3 != 2)
{
if(cmd != 129 || p1 != 12 || (p2 != 2 && p2 != 4) || p3 != 2)
return null;
var out = []
for(i=0;i<12;i++)
out.push(data.getUint16(4+i*2, true))
return out;
}
async function read_finetune_data() {
data = ds5_get_inmemory_module_data();
if(data == null) {
finetune_close();
show_popup("ERROR: Cannot read calibration data");
return null;
}
var out = []
for(i=0;i<12;i++)
out.push(data.getUint16(4+i*2, true))
last_written_finetune_data = out
return out;
last_written_finetune_data = data;
return data;
}
async function write_finetune_data(data) {
if (data.length != 12) {
return;
}
if (data == last_written_finetune_data) {
return;
}
@@ -1614,21 +1779,24 @@ async function continue_connection(report) {
} else if(device.productId == 0x0ce6) {
$("#infoshowall").show()
$("#ds5finetune").show()
if(await ds5_info()) {
if(await ds5_info(false)) {
connected = true;
mode = 2;
devname = l("Sony DualSense");
device.oninputreport = process_ds_input;
}
} else if(device.productId == 0x0df2) {
$("#infoshowall").hide()
$("#ds5finetune").hide()
if(await ds5_info()) {
$("#infoshowall").show()
$("#ds5finetune").show()
if(await ds5_info(true)) {
connected = true;
mode = 3;
devname = l("Sony DualSense Edge");
device.oninputreport = process_ds_input;
await ds5_load_modules_info();
}
n = await ds5_nvstatus();
if(n == 4) {
// dualsense edge with pending reboot
@@ -1638,8 +1806,6 @@ async function continue_connection(report) {
show_popup(l("A reboot is needed to continue using this DualSense Edge. Please disconnect and reconnect your controller."));
return;
}
device.oninputreport = process_ds_input;
} else {
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
@@ -1664,8 +1830,9 @@ async function continue_connection(report) {
return;
}
if(mode == 3)
if(mode == 3) {
show_edge_modal();
}
if(disable_btn != 0)
update_disable_btn();
@@ -1797,7 +1964,7 @@ async function multi_nvslock() {
if(mode == 1) {
await ds4_nvlock();
await ds4_nvstatus();
} else {
} else if (mode == 2) {
await ds5_nvlock();
await ds5_nvstatus();
}
@@ -1935,6 +2102,12 @@ function discord_popup() {
show_popup(l("My handle on discord is: the_al"));
}
function edge_color_info() {
la("cm_info");
text = l("Color detection thanks to") + ' romek77 from Poland.';
show_popup(text, true);
}
function board_model_info() {
la("bm_info");
l1 = l("This feature is experimental.");

View File

@@ -564,6 +564,12 @@ dl.row dd { font-family: monospace; }
<div class="modal-body">
<p class="ds-i18n">Calibration is being stored in the stick modules.</p>
<p class="ds-i18n">Please do not close this window and do not disconnect your controller. </p>
<div class="progress" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
<div id="dsedge-progress" class="progress-bar progress-bar-striped progress-bar-animated" style="width: 0%"></div>
</div>
</div>
</div>
</div>
@@ -824,7 +830,7 @@ dl.row dd { font-family: monospace; }
<div class="container">
<footer>
<div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top" id="footbody">
<p><a target="_blank" href="https://github.com/dualshock-tools/dualshock-tools.github.io/commits/main/"><span class="ds-i18n">Version</span> 2.4</a> (2025-05-02) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a>&nbsp;<span id="authorMsg"></span></p>
<p><a target="_blank" href="https://github.com/dualshock-tools/dualshock-tools.github.io/commits/main/"><span class="ds-i18n">Version</span> 2.5</a> (2025-05-17) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a>&nbsp;<span id="authorMsg"></span></p>
<ul class="list-unstyled d-flex">
<li class="ms-3"><a class="link-body-emphasis" href="mailto:ds4@the.al" target="_blank"><svg class="bi" width="24" height="24"><use xlink:href="#mail"/></svg></a></li>

View File

@@ -191,19 +191,25 @@
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
"Calibration is being stored in the stick modules.": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Color": "",
"Color detection thanks to": "",
"DualSense Edge Calibration": "",
"Finetune stick calibration": "",
"For more info or help, feel free to reach out on Discord.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"More details and images": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Right stick": "",
"Save": "",
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "",
@@ -215,5 +221,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -167,8 +167,13 @@
"Bluetooth Address": "",
"Calibration is being stored in the stick modules.": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -186,13 +191,14 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"More details and images": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -152,9 +152,14 @@
"Can I reset a permanent calibration to previous calibration?": "",
"Can you overwrite a permanent calibration?": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Changes saved successfully": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -175,6 +180,7 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "",
@@ -183,10 +189,10 @@
"Only after you have done that, you click on \"Done\".": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Please read the instructions.": "",
"Reboot controller": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"You can do this in two ways:": "",
"You have to rotate the joysticks before you press \"Done\".": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -191,6 +191,11 @@
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
"Bluetooth Address": "",
"Calibration is being stored in the stick modules.": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"DualSense Edge Calibration": "",
"FW Update": "",
"FW Update Info": "",
@@ -198,12 +203,13 @@
"For more info or help, feel free to reach out on Discord.": "",
"HW Model": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Left Module Barcode": "",
"MCU Unique ID": "",
"More details and images": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"SBL FW Version": "",
"Spider FW Version": "",
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "",
@@ -215,5 +221,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -152,9 +152,14 @@
"Can I reset a permanent calibration to previous calibration?": "",
"Can you overwrite a permanent calibration?": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Changes saved successfully": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -175,6 +180,7 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "",
@@ -183,10 +189,10 @@
"Only after you have done that, you click on \"Done\".": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Please read the instructions.": "",
"Reboot controller": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"You can do this in two ways:": "",
"You have to rotate the joysticks before you press \"Done\".": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -152,9 +152,14 @@
"Can I reset a permanent calibration to previous calibration?": "",
"Can you overwrite a permanent calibration?": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Changes saved successfully": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -175,6 +180,7 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "",
@@ -183,10 +189,10 @@
"Only after you have done that, you click on \"Done\".": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Please read the instructions.": "",
"Reboot controller": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"You can do this in two ways:": "",
"You have to rotate the joysticks before you press \"Done\".": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -212,7 +212,15 @@
"We are not responsible for any damage caused by attempting this modification.": "Nem vállalunk felelősséget az ezen módosítás megkísérlése által okozott károkért.",
"You can do this in two ways:": "Ezt kétféleképpen teheted meg:",
"here": "itt",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Please disconnect and reconnect the controller.": "",
"Left Module Barcode": "",
"Right Module Barcode": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -213,7 +213,15 @@
"We are not responsible for any damage caused by attempting this modification.": "Non siamo responsabili per eventuali danni causati dal tentativo di questa modifica.",
"You can do this in two ways:": "Puoi farlo in due modi:",
"here": "qui",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Please disconnect and reconnect the controller.": "",
"Cannot lock": "Non riesco a bloccare il",
"Cannot store data into": "Non riesco a salvare i dati nel",
"Cannot unlock": "Non riesco a sbloccare il",
"Color": "Colore",
"Color detection thanks to": "Riconoscimento colore grazie a",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "Se la calibrazione non è salvata permanentemente, controlla i cablaggi della mod hardware.",
"Left Module Barcode": "Codice modulo sinistro",
"Right Module Barcode": "Codice modulo destro",
"left module": "modulo sinistro",
"right module": "modulo destro",
"": ""
}
}

View File

@@ -163,7 +163,12 @@
"Calibration is being stored in the stick modules.": "",
"Can I reset a permanent calibration to previous calibration?": "",
"Can you overwrite a permanent calibration?": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Changes saved successfully": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -181,6 +186,7 @@
"Hardware": "",
"I have noticed some controllers out of the box have worse factory calibration than if I would recalibrate them. Especially true for circularity of SCUF controllers with a unique shell.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Left Module Barcode": "",
"MCU Unique ID": "",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "",
"More details and images": "",
@@ -188,10 +194,10 @@
"Only after you have done that, you click on \"Done\".": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Please read the instructions.": "",
"Reboot controller": "",
"Right Module Barcode": "",
"SBL FW Version": "",
"Save changes permanently": "",
"Serial Number": "",
@@ -214,5 +220,7 @@
"You can do this in two ways:": "",
"You have to rotate the joysticks before you press \"Done\".": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -190,19 +190,25 @@
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
"Calibration is being stored in the stick modules.": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Color": "",
"Color detection thanks to": "",
"DualSense Edge Calibration": "",
"Finetune stick calibration": "",
"For more info or help, feel free to reach out on Discord.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"More details and images": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Right stick": "",
"Save": "",
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "",
@@ -214,5 +220,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -152,9 +152,14 @@
"Can I reset a permanent calibration to previous calibration?": "",
"Can you overwrite a permanent calibration?": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Changes saved successfully": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -175,6 +180,7 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "",
@@ -183,10 +189,10 @@
"Only after you have done that, you click on \"Done\".": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Please read the instructions.": "",
"Reboot controller": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"You can do this in two ways:": "",
"You have to rotate the joysticks before you press \"Done\".": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -202,18 +202,26 @@
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
"Calibration is being stored in the stick modules.": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"DualSense Edge Calibration": "",
"For more info or help, feel free to reach out on Discord.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Left Module Barcode": "",
"More details and images": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "",
"This involves temporarily disabling write protection by applying <b>+1.8V</b> to a specific test point on each module.": "",
"This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "",
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -167,8 +167,13 @@
"Bluetooth Address": "",
"Calibration is being stored in the stick modules.": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -186,13 +191,14 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"More details and images": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -210,9 +210,17 @@
"We are not responsible for any damage caused by attempting this modification.": "Não nos responsabilizamos por quaisquer dano causado ao tentar usar esta modificação.",
"You can do this in two ways:": "Pode fazer isto de duas formas",
"here": "Aqui",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"FW Series": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Left Module Barcode": "",
"PCBA ID": "",
"Please disconnect and reconnect the controller.": "",
"Right Module Barcode": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -201,18 +201,26 @@
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
"Calibration is being stored in the stick modules.": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"DualSense Edge Calibration": "",
"For more info or help, feel free to reach out on Discord.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Left Module Barcode": "",
"More details and images": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "",
"This involves temporarily disabling write protection by applying <b>+1.8V</b> to a specific test point on each module.": "",
"This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "",
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -167,8 +167,13 @@
"Bluetooth Address": "",
"Calibration is being stored in the stick modules.": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -186,13 +191,14 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"More details and images": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -167,8 +167,13 @@
"Bluetooth Address": "",
"Calibration is being stored in the stick modules.": "",
"Cancel": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Center X": "",
"Center Y": "",
"Color": "",
"Color detection thanks to": "",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
@@ -186,13 +191,14 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Left Module Barcode": "",
"Left stick": "",
"MCU Unique ID": "",
"More details and images": "",
"PCBA ID": "",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
"Please disconnect and reconnect the controller.": "",
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
"Right Module Barcode": "",
"Right stick": "",
"SBL FW Version": "",
"Save": "",
@@ -214,5 +220,7 @@
"We are not responsible for any damage caused by attempting this modification.": "",
"You can do this in two ways:": "",
"here": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -212,7 +212,15 @@
"We are not responsible for any damage caused by attempting this modification.": "Ми не несемо відповідальності за будь-які пошкодження, спричинені спробами цієї модифікації.",
"You can do this in two ways:": "Ви можете зробити це двома способами:",
"here": "тут",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
"Please disconnect and reconnect the controller.": "",
"Left Module Barcode": "",
"Right Module Barcode": "",
"left module": "",
"right module": "",
"": ""
}

View File

@@ -214,6 +214,14 @@
"You can do this in two ways:": "你可以用两种方式来做",
"here": "这里",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "如果校准没有永久生效,请检查硬件模块的接线。",
"Please disconnect and reconnect the controller.": "请断开并重新连接手柄。",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"Left Module Barcode": "",
"Right Module Barcode": "",
"left module": "",
"right module": "",
"": ""
}
}

View File

@@ -163,8 +163,6 @@
"(beta)": "測試版本",
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller.": "<b>外部方式</b>:直接將 +1.8V 電壓施加到可見的測試點,無需打開手把",
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "<b>內部方式</b>:從 +1.8V 電源點焊接一條導線至寫入保護測試點TP",
"Battery Barcode": "",
"Bluetooth Address": "",
"Calibration is being stored in the stick modules.": "校正資料正被儲存到搖桿模組中。",
"Cancel": "取消",
"Center X": "X軸中心",
@@ -186,7 +184,6 @@
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "我正在積極處理相容性的問題,主要的挑戰在於將資料儲存到記憶模組中。",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "如果這個工具對您有所幫助,或您希望看到 DualSense Edge 支援更快推出,請考慮通過以下方式支持該專案:",
"Left stick": "左搖桿電壓(mV)",
"MCU Unique ID": "",
"More details and images": "更多詳情與圖片",
"PCBA ID": "PCBA ID",
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "請將 DualShock 4、DualSense 或 DualSense Edge 手把連接到您的電腦,然後按下「連接」。",
@@ -195,7 +192,6 @@
"Right stick": "右搖桿電壓(mV)",
"SBL FW Version": "SBL韌體版本",
"Save": "儲存",
"Serial Number": "",
"Show all": "顯示全部資訊",
"Software": "軟體",
"Spider FW Version": "Spider韌體版本",
@@ -207,13 +203,25 @@
"This screen allows to finetune raw calibration data on your controller": "此畫面可讓您微調手把上的原始校正資料",
"Touchpad FW Version": "觸摸版韌體版本",
"Touchpad ID": "觸摸版ID",
"VCM Left Barcode": "",
"VCM Right Barcode": "",
"Venom FW Version": "",
"We are not responsible for any damage caused by attempting this modification.": "我們不對嘗試此修改所造成的任何損壞負責。",
"You can do this in two ways:": "您可以透過兩種方式來完成這項操作:",
"here": "這裏",
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "如果校準沒有永久生效,請檢查硬件模塊的接線。",
"Please disconnect and reconnect the controller.": "請斷開並重新連接手把。",
"Battery Barcode": "",
"Bluetooth Address": "",
"Cannot lock": "",
"Cannot store data into": "",
"Cannot unlock": "",
"Color": "",
"Color detection thanks to": "",
"Left Module Barcode": "",
"MCU Unique ID": "",
"Right Module Barcode": "",
"Serial Number": "",
"VCM Left Barcode": "",
"VCM Right Barcode": "",
"Venom FW Version": "",
"left module": "",
"right module": "",
"": ""
}