ryzen-controller/js/app.js

104 lines
2.6 KiB
JavaScript
Raw Permalink Normal View History

2019-02-28 02:16:11 +07:00
ready(function(){
2019-03-03 00:33:11 +07:00
const settings = require('electron-settings');
2019-04-07 18:52:05 +07:00
const fixPath = require('fix-path');
document.isStarting = true;
2019-04-07 18:52:05 +07:00
fixPath();
preFillSettings();
2019-06-07 02:44:11 +07:00
displayOptionData();
loadLatestUsedSettings();
registerRepeaterForAllInput();
registerEventListenerForSettingsInput();
checkForAdminRights();
2019-03-01 21:38:59 +07:00
displayVersion();
reApplyPeriodically(require('electron-settings').get('settings.reapply_periodically'));
2019-03-13 02:04:02 +07:00
if (require('os').platform() === 'win32') {
2019-04-06 05:40:09 +07:00
recreateShortcut();
2019-03-11 18:57:42 +07:00
}
2019-04-06 05:40:09 +07:00
handlePlatformSpecificDisplay();
preset_updateList();
2019-03-08 19:02:14 +07:00
checkForNewRelease();
document.isStarting = false;
2019-06-03 17:17:13 +07:00
settings.set('settings',
Object.assign(
{},
settings.get('settings'),
{ first_launch: false }
)
);
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() {
2019-03-08 02:00:12 +07:00
const settings = getCurrentSettings("ryzenadjArgs");
const appSettings = require('electron-settings');
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=":
2019-03-23 22:49:57 +07:00
case "--stapm-time=":
value = value * 1000;
break;
case "--tctl-temp=":
2019-03-10 16:17:28 +07:00
case "--max-fclk-frequency=":
case "--min-fclk-frequency=":
value = value;
break;
2019-06-06 23:34:38 +07:00
case "--max-gfxclk=":
case "--min-gfxclk=":
case "--max-socclk-frequency=":
case "--min-socclk-frequency=":
value = parseInt(value / 10) * 10;
break;
2019-06-01 20:57:12 +07:00
case "--psi0-current=":
case "--vrmmax-current=":
value = '0x' + decimalToHexString(value * 1000);
break;
default:
break;
}
parameters.push('' + option + value);
}
}
if (!appSettings.get('retry')) {
appSettings.set('retry', 2);
notification('warning', 'Applying settings...');
} else {
let retry = appSettings.get('retry') - 1;
appSettings.set('retry', retry);
}
child(executablePath, parameters, function(err, data) {
var output = data.toString();
if (err) {
2019-06-03 01:59:32 +07:00
if (appSettings.get('retry')) {
return setTimeout(applyRyzenSettings, 500);
}
notification('danger', err + '<br/>' + output);
}
else if (output) {
notification('success', 'Ryzenadj output:<br/>' + output);
2019-03-01 00:23:05 +07:00
saveLatestUsedSettings();
}
2019-06-03 01:59:32 +07:00
appSettings.set('retry', false);
});
}