function [TC_StatusFields] = ParseTC_Status(TC_Status)
  TC_StatusFields.ChargeMode = bitand(int16(TC_Status),2^2-1);
  TC_StatusFields.ChargeEnabled = bitand(bitshift(int16(TC_Status),-2),1);
  TC_StatusFields.MaxonPwrMode = bitand(bitshift(int16(TC_Status),-3),2^2-1);
  TC_StatusFields.MaxonPowered  = bitand(bitshift(int16(TC_Status),-5),1);
  TC_StatusFields.MaxonEnabled  = bitand(bitshift(int16(TC_Status),-6),1);
  TC_StatusFields.TargetPos  = bitand(bitshift(int16(TC_Status),-7),1);
  TC_StatusFields.ActualPos  = bitand(bitshift(int16(TC_Status),-8),1);
  TC_StatusFields.State = bitand(bitshift(int16(TC_Status),-9),2^4-1);
  TC_StatusFields.CommErr = bitand(bitshift(int16(TC_Status),-13),2^2-1);
end

