Greetings,
I'm trying to understand the FIT_RECORD_MESG struct values of left_power_phase and right_power_phase (and their _peak siblings). The documentation/marketing material for power phase says, that the power phase has a start angle and an end angle.
The power phase fields in the struct are defined as follows:
typedef struct
{
...
FIT_UINT8 left_power_phase[FIT_RECORD_MESG_LEFT_POWER_PHASE_COUNT];
FIT_UINT8 left_power_phase_peak[FIT_RECORD_MESG_LEFT_POWER_PHASE_PEAK_COUNT];
FIT_UINT8 right_power_phase[FIT_RECORD_MESG_RIGHT_POWER_PHASE_COUNT];
FIT_UINT8 right_power_phase_peak[FIT_RECORD_MESG_RIGHT_POWER_PHASE_PEAK_COUNT];
...
} FIT_RECORD_MESG;
and
#define FIT_RECORD_MESG_LEFT_POWER_PHASE_COUNT 1
#define FIT_RECORD_MESG_LEFT_POWER_PHASE_PEAK_COUNT 1
#define FIT_RECORD_MESG_RIGHT_POWER_PHASE_COUNT 1
#define FIT_RECORD_MESG_RIGHT_POWER_PHASE_PEAK_COUNT 1
So declared as arrays but with an element count of 1. So it's just one field, only one angle value.
The comment for the record fields says:
Data value indexes defined by power_phase_type.
and there are constants declared that I suppose are array indexes
typedef FIT_ENUM FIT_POWER_PHASE_TYPE;
#define FIT_POWER_PHASE_TYPE_INVALID FIT_ENUM_INVALID
#define FIT_POWER_PHASE_TYPE_POWER_PHASE_START_ANGLE ((FIT_POWER_PHASE_TYPE)0)
#define FIT_POWER_PHASE_TYPE_POWER_PHASE_END_ANGLE ((FIT_POWER_PHASE_TYPE)1)
#define FIT_POWER_PHASE_TYPE_POWER_PHASE_ARC_LENGTH ((FIT_POWER_PHASE_TYPE)2)
#define FIT_POWER_PHASE_TYPE_POWER_PHASE_CENTER ((FIT_POWER_PHASE_TYPE)3)
#define FIT_POWER_PHASE_TYPE_COUNT 4
Seems like I'm missing something that has been configured differently for the SDK generator. Any idea what that is? The C++ implementation doesn't shed any light on this either.
Thanks for any pointers!
Herb