ryzen-controller/js/app.js

65 lines
1.6 KiB
JavaScript
Raw Normal View History

2019-02-28 02:16:11 +07:00
ready(function(){
registerRepeaterForAllInput();
registerEventListenerForSettingsInput();
checkForAdminRights();
2019-02-28 14:11:03 +07:00
preFillSettings();
2019-03-01 00:23:05 +07:00
loadLatestUsedSettings();
2019-03-01 21:38:59 +07:00
displayVersion();
2019-02-28 02:16:11 +07:00
});
/**
* Will create and handle ryzenadj.exe execution.
*/
2019-03-01 00:39:33 +07:00
function applyRyzenSettings() {
const settings = {
"--stapm-limit=": document.getElementById('stapm_limit_w').value,
"--fast-limit=": document.getElementById('ppt_fast_limit_w').value,
"--slow-limit=": document.getElementById('ppt_slow_limit_w').value,
"--tctl-temp=": document.getElementById('temperature_limit_c').value,
"--vrmmax-current=": document.getElementById('vrm_current_m_a').value,
};
const child = require('child_process').execFile;
2019-02-28 14:11:03 +07:00
const executablePath = getRyzenAdjExecutablePath();
var parameters = [];
for (const option in settings) {
if (settings.hasOwnProperty(option)) {
let value = settings[option];
switch (option) {
case "--stapm-limit=":
case "--fast-limit=":
case "--slow-limit=":
value = value * 1000;
break;
case "--tctl-temp=":
value = value;
break;
case "--vrmmax-current=":
value = '0x' + decimalToHexString(value * 1000);
break;
default:
break;
}
parameters.push('' + option + value);
}
}
child(executablePath, parameters, function(err, data) {
var output = data.toString();
if (err) {
notification('danger', err + '<br/>' + output);
}
else if (output) {
notification('success', 'Ryzenadj output:<br/>' + output);
2019-03-01 00:23:05 +07:00
saveLatestUsedSettings();
}
});
}