diff --git a/electron/package.json b/electron/package.json index 265c40e..38d79c8 100644 --- a/electron/package.json +++ b/electron/package.json @@ -1,7 +1,7 @@ { "name": "g14controlv2-main", "productName": "G14ControlV2-Main", - "version": "0.2.0", + "version": "0.2.1", "description": "", "main": "./build/electron.js", "scripts": { @@ -11,6 +11,7 @@ "tsc": "tsc --project ./tsconfig.dev.json", "watch": "nodemon -e ts --ignore /build --ignore /node_modules --exec \"tsc --project ./tsconfig.dev.json && electron . || exit 1\" || exit 1" }, + "types": "./src/g14controlv2-main.d.ts", "author": "Alex Redden", "license": "ISC", "dependencies": { diff --git a/electron/src/IPCEvents/G14ControlPlans.ts b/electron/src/IPCEvents/G14ControlPlans.ts index 0a64d9e..9982ac3 100644 --- a/electron/src/IPCEvents/G14ControlPlans.ts +++ b/electron/src/IPCEvents/G14ControlPlans.ts @@ -117,6 +117,27 @@ export const switchWindowsPlanToActivateSettings = async ( } }; +export const setRyzenadjWithDelay = async ( + ryzenadj: RyzenadjConfig | RyzenadjConfigNamed | undefined +) => { + if (ryzenadj) { + let { fastLimit, slowLimit, stapmLimit } = ryzenadj; + ryzenadj = Object.assign(ryzenadj, { + fastLimit: fastLimit % 1000 === 0 ? fastLimit : fastLimit * 1000, + slowLimit: slowLimit % 1000 === 0 ? slowLimit : slowLimit * 1000, + stapmLimit: stapmLimit % 1000 === 0 ? stapmLimit : stapmLimit * 1000, + }); + } + let ryzn = ryzenadj ? await setRyzenadj(ryzenadj) : true; + if (!ryzn) { + let final = await keepAttemptRyzenADJ(ryzenadj, 6); + if (!final) { + return false; + } + } + return true; +}; + /** * 1. Set Boost & Graphics at target windows plan since they are sensitive to changes. * 2. Switch to target windows plan @@ -197,63 +218,35 @@ export const setG14ControlPlan = async (plan: FullG14ControlPlan) => { armPlan ? armPlan.toLowerCase() : undefined ); if (result) { - LOGGER.info('Sucessfully applied G14ControlPlan'); - if (ryzenadj) { - let { fastLimit, slowLimit, stapmLimit } = ryzenadj; - ryzenadj = Object.assign(ryzenadj, { - fastLimit: - fastLimit % 1000 === 0 - ? fastLimit - : fastLimit * 1000, - slowLimit: - slowLimit % 1000 === 0 - ? slowLimit - : slowLimit * 1000, - stapmLimit: - stapmLimit % 1000 === 0 - ? stapmLimit - : stapmLimit * 1000, - }); - } - let ryzn = ryzenadj ? await setRyzenadj(ryzenadj) : true; - if (!ryzn) { - let final = await keepAttemptRyzenADJ(ryzenadj, 6); - if (!final) { - resolve(false); - return; + LOGGER.info('Sucessfully applied fancurve'); + setTimeout(async () => { + let ryadjResult = await setRyzenadjWithDelay(ryzenadj); + if (ryadjResult) { + LOGGER.info('Sucessfully applied G14ControlPlan'); + } else { + LOGGER.info( + 'Failed to apply ryzenadj plan & therefore G14ControlPlan' + ); } - } - LOGGER.info('Sucessfully applied G14ControlPlan'); - resolve(true); + resolve(ryadjResult); + }, 1000); } else { LOGGER.error('Failed to modify fan curve.'); resolve(false); } } } else { - if (ryzenadj) { - let { fastLimit, slowLimit, stapmLimit } = ryzenadj; - ryzenadj = Object.assign(ryzenadj, { - fastLimit: - fastLimit % 1000 === 0 ? fastLimit : fastLimit * 1000, - slowLimit: - slowLimit % 1000 === 0 ? slowLimit : slowLimit * 1000, - stapmLimit: - stapmLimit % 1000 === 0 - ? stapmLimit - : stapmLimit * 1000, - }); - } - let ryzn = ryzenadj ? await setRyzenadj(ryzenadj) : true; - if (!ryzn) { - let final = await keepAttemptRyzenADJ(ryzenadj, 6); - if (!final) { - resolve(false); - return; + setTimeout(async () => { + let ryadjResult = await setRyzenadjWithDelay(ryzenadj); + if (ryadjResult) { + LOGGER.info('Sucessfully applied G14ControlPlan'); + } else { + LOGGER.info( + 'Failed to apply ryzenadj plan & therefore G14ControlPlan' + ); } - } - LOGGER.info('Sucessfully applied G14ControlPlan'); - resolve(true); + resolve(ryadjResult); + }, 1000); } } else { LOGGER.error('Failed to switch windows plan to target plan.'); diff --git a/electron/src/IPCEvents/renoir-mobile/SMULoop.ts b/electron/src/IPCEvents/renoir-mobile/SMULoop.ts index bd08256..5ec2d20 100644 --- a/electron/src/IPCEvents/renoir-mobile/SMULoop.ts +++ b/electron/src/IPCEvents/renoir-mobile/SMULoop.ts @@ -38,24 +38,18 @@ export class SMULoop extends EventEmitter { private handleData = (data: Buffer) => { let arr = data.toString(); if (arr.indexOf('StapmTimeConstant') !== -1) { - try{ - let smuresponse: {values:SMUData[]} = JSON.parse(arr); + try { + let smuresponse: { values: SMUData[] } = JSON.parse(arr); this.emit('smuData', smuresponse.values); - }catch(e){ - LOGGER.info(`Error parsing SMU data. ${e}`) + } catch (e) { + LOGGER.info(`Error parsing SMU data. ${e}`); } - - } }; private handleError = (chunk: Buffer) => { - LOGGER.error( - `Error from renoir-mobile:\n${JSON.stringify( - JSON.parse(chunk.toString('utf-8')) - )}` - ); - this.emit('smuError', chunk.toString()); + LOGGER.error(`Error from renoir-mobile:\n${chunk.toString('utf-8')}`); + this.emit('smuError', chunk.toString('utf-8')); }; alive = () => { diff --git a/package.json b/package.json index 3e68c2a..8a98aa4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "g14controlv2", "productName": "G14ControlV2", - "version": "v0.2.0", + "version": "v0.2.1", "description": "Management Tools for the Zephyrus G14", "author": { "name": "Alex Redden",