You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Waveform generator can create tones, PWM, and servos
67
67
typedefstruct {
68
68
uint32_t nextPeriodCcy; // ESP clock cycle when a period begins. If WaveformMode::INIT, temporarily holds positive phase offset ccy count
69
-
uint32_t endDutyCcy; // ESP clock cycle when going from duty to off
70
-
int32_t dutyCcys; // Set next off cycle at low->high to maintain phase
71
-
int32_t periodCcys; // Set next phase cycle at low->high to maintain phase
72
-
uint32_t expiryCcy; // For time-limited waveform, the CPU clock cycle when this waveform must stop. If WaveformMode::UPDATE, temporarily holds relative ccy count
69
+
uint32_t endDutyCcy; // ESP clock cycle when going from duty to off
70
+
int32_t dutyCcys; // Set next off cycle at low->high to maintain phase
71
+
int32_t adjDutyCcys; // Temporary correction for next period
72
+
int32_t periodCcys; // Set next phase cycle at low->high to maintain phase
73
+
uint32_t expiryCcy; // For time-limited waveform, the CPU clock cycle when this waveform must stop. If WaveformMode::UPDATE, temporarily holds relative ccy count
73
74
WaveformMode mode;
74
-
int8_t alignPhase; // < 0 no phase alignment, otherwise starts waveform in relative phase offset to given pin
75
-
bool autoPwm; // perform PWM duty to idle cycle ratio correction under high load at the expense of precise timings
75
+
int8_t alignPhase; // < 0 no phase alignment, otherwise starts waveform in relative phase offset to given pin
76
+
bool autoPwm; // perform PWM duty to idle cycle ratio correction under high load at the expense of precise timings
0 commit comments