5331
5226; Added Gray Scale for SSI Encoders
Pathfinder

Changes made for Pathfinder 5226 controllers.

What it does Adds optional Gray-code ? binary decoding for absolute SSI encoders, selectable per axis through the generic Foldbus 0x0003 setup-parameter mechanism. Default is binary (existing behavior unchanged).

Changes by file File Location Change GlobalVar.h line 486 New field uint8 SSI_Gray; in FeedBack_struct FeedBack.c line 139 Gray_To_Binary() helper — branchless XOR-fold, ISR-safe FeedBack.c lines 169-172 In the absolute path: mask ? if (SSI_Gray) Data = Gray_To_Binary(Data) ? store FeedBack.c line 58 Defaults SSI_Gray = FALSE when an absolute encoder is configured SetupParameterIDTable.h line 513 New attribute AXIS_ATTRIBUTE_ID_SSI_GRAY_CODE = 0x2064 (size-class 1 / 2-byte) CmdSetups.c lines 1668-1670 Handler in Foldbus_0x0003_Change_Setup_Value: Axis.ID[i]->Feedback.SSI_Gray = Swap_Word((uint16)Setup->Value.uint32); Data flow Pathfinder sends attribute 0x2064 for an axis object ? generic setter writes SSI_Gray on that axis's feedback struct ? on each encoder read, Encoder_FeedBack_Update checks the error bit on the raw word, masks to the data field, and if SSI_Gray is set, folds Gray?binary before storing the position. Order is correct (error check and mask happen before the fold).

Model Version Released
5226BB Rev H. 5.01.02 7/2/2026