Улучшения
- улушчено отображение на OLED - убраны настройки шага частоты и количества повторов - сделан перебор только реализуемых частот - увеличена точность, на 1МГц 1.25%, в остальных до 1% - точное измерение TOTAL TIME
This commit is contained in:
@@ -17,10 +17,8 @@ struct Settings {
|
||||
uint8_t role;
|
||||
uint8_t startIndex;
|
||||
uint8_t endIndex;
|
||||
uint8_t stepIndex;
|
||||
uint8_t accuracyIndex;
|
||||
uint8_t timeIndex;
|
||||
uint8_t repeatIndex;
|
||||
uint8_t dutyIndex;
|
||||
uint32_t checksum;
|
||||
};
|
||||
@@ -28,10 +26,8 @@ struct Settings {
|
||||
struct TestParams {
|
||||
uint32_t startHz;
|
||||
uint32_t endHz;
|
||||
uint32_t stepHz;
|
||||
float accuracyPct;
|
||||
uint32_t testTimeMs;
|
||||
uint8_t repeats;
|
||||
uint8_t dutyPct;
|
||||
};
|
||||
|
||||
@@ -72,11 +68,13 @@ struct IntegerPwmConfig {
|
||||
};
|
||||
|
||||
uint32_t settingsChecksum(const Settings &s);
|
||||
uint32_t frequencyPointCount(uint32_t startHz, uint32_t endHz, uint32_t stepHz);
|
||||
uint32_t frequencyAt(uint32_t startHz, uint32_t endHz, uint32_t stepHz, uint32_t index);
|
||||
uint32_t frequencyPointCount(uint32_t startHz, uint32_t endHz);
|
||||
uint32_t frequencyAt(uint32_t startHz, uint32_t endHz, uint32_t index);
|
||||
uint64_t nominalStageUs(uint32_t frequencyHz, uint32_t sampleTimeMs, uint32_t settleCycles);
|
||||
uint64_t nominalTotalUs(const TestParams &p, uint32_t settleCycles);
|
||||
bool periodWithin(float measuredHz, float expectedHz, float tolerancePct);
|
||||
bool dutyWithin(float measuredPct, float expectedPct, float tolerancePct);
|
||||
float effectiveTolerancePct(float configuredPct);
|
||||
uint8_t choosePwmResolution(uint32_t frequencyHz, uint32_t sourceClockHz,
|
||||
uint8_t maxBits);
|
||||
uint8_t chooseStablePwmResolution(uint32_t frequencyHz, uint32_t sourceClockHz,
|
||||
|
||||
Reference in New Issue
Block a user