CPU: add new option --cpu-freq-ndigits

Fix #578
This commit is contained in:
李通洲
2023-10-08 10:09:56 +08:00
parent 4c9d9f6223
commit 78249bf4f7
5 changed files with 28 additions and 5 deletions
+14 -1
View File
@@ -48,7 +48,7 @@ void ffPrintCPU(FFCPUOptions* options)
ffStrbufAppendF(&str, " (%u)", cpu.coresOnline);
if(cpu.frequencyMax > 0.0)
ffStrbufAppendF(&str, " @ %.9g GHz", cpu.frequencyMax);
ffStrbufAppendF(&str, " @ %.*f GHz", options->freqNdigits, cpu.frequencyMax);
if(cpu.temperature == cpu.temperature) //FF_CPU_TEMP_UNSET
{
@@ -82,6 +82,7 @@ void ffInitCPUOptions(FFCPUOptions* options)
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_CPU_MODULE_NAME, ffParseCPUCommandOptions, ffParseCPUJsonObject, ffPrintCPU, ffGenerateCPUJson, ffPrintCPUHelpFormat);
ffOptionInitModuleArg(&options->moduleArgs);
options->temp = false;
options->freqNdigits = 2;
}
bool ffParseCPUCommandOptions(FFCPUOptions* options, const char* key, const char* value)
@@ -97,6 +98,12 @@ bool ffParseCPUCommandOptions(FFCPUOptions* options, const char* key, const char
return true;
}
if (ffStrEqualsIgnCase(subKey, "freq-ndigits"))
{
options->freqNdigits = (uint8_t) ffOptionParseUInt32(key, value);
return true;
}
return false;
}
@@ -124,6 +131,12 @@ void ffParseCPUJsonObject(FFCPUOptions* options, yyjson_val* module)
continue;
}
if (ffStrEqualsIgnCase(key, "freqNdigits"))
{
options->freqNdigits = (uint8_t) yyjson_get_uint(val);
continue;
}
ffPrintError(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, "Unknown JSON key %s", key);
}
}