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
Following from #24/#36, the inverter will output a single period of the PDM waveform for each control message. To have a consistent flow of power, this would require the pod's FSM to be synchronized with the AC frequency, but this is not known by the pod. To avoid overfilling a buffer of messages, we can set an expiration time on the control message and assume the same parameters (velocity and throttle) for subsequent periods until the previous message has expired at which point the inverter must wait for another message.
Explore options to make the serial read non-blocking (async or threads)
Record the time when a control message is received
Refactor the read_control_message function to provide the previous known command if it has not expired
Important: if a new control message is being sent, it should be used immediately
The text was updated successfully, but these errors were encountered:
Update: the Pico is running bare metal (no OS), so the arm-none-eabi compiler doesn't support threads. Sam instead suggested we look into the Pico's multicore capabilities.
Following from #24/#36, the inverter will output a single period of the PDM waveform for each control message. To have a consistent flow of power, this would require the pod's FSM to be synchronized with the AC frequency, but this is not known by the pod. To avoid overfilling a buffer of messages, we can set an expiration time on the control message and assume the same parameters (velocity and throttle) for subsequent periods until the previous message has expired at which point the inverter must wait for another message.
read_control_message
function to provide the previous known command if it has not expiredThe text was updated successfully, but these errors were encountered: