Encoder State
This MotoHawk™ block allows the current state of the encoder synchronization algorithm to be read. A common usage is to read the change of state when an Encoder State Trigger occurs.
Block ID
motohawk_encoder_state
Library
MotoHawk_lib/Encoder Blocks
Description
States without Redundancy
1: ZERO_SPEED
There is no rotation. The threshold for zero rotation is encoder and implementation specific. It is nominally 60 RPM.
2: POSN_UNKNOWN
Rotation has been detected, but the system has not yet sychronized. This state will always be entered, even if only momentarily.
3: ENC_SYNC_CAM_UNKNOWN
The crank encoder has achieved synchronization. At this point the position about a revolution is known, but the halfcycle position as it relates to a 4-stroke is not yet known. This represents complete sychronization for a 2-stroke. A 4-stroke will remain in this state until the phase is set by the application or the cam is verified.
An encoder that utilizes Cam Synchronization will still pass through this state, though it will only be momentary because cam synchronization is implicitly assumed when the crank is reliant upon the cam to synchronize.
4: ENC_SYNC_CAM_SYNC
The crank encoder has synchronized and the cam has been verified as valid.
States with Redundancy
This help is still underdevelopment.
Complete State Enumeration
1: ZERO_SPEED
2: POSN_UNKNOWN
3: ENC_SYNC_CAM_UNKNOWN
4: ENC_SYNC_CAM_SYNC
5: ENC_SYNC_MASTER_ONLY
6: ENC_SYNC_SLAVE_ONLY
7: ENC_SYNC_DUAL
Block Parameters
This MotoHawk™ block has no user-definable parameters.