#ifndef __sfpdiag_h__
#define __sfpdiag_h__

typedef struct {
  float temp;           // 16-bit signed, 2's complement, LSB=1/256 deg C
  float vcc;            // 16-bit unsigned, LSB=100mV
  float txBiasCurrent;  // 16-bit unsigned, LSB=2uA
  float txPower;        // 16-bit unsigned, LSB=0.1 uWatt
  float rxPower;        // 16-bit unsigned, LSB=0.1 uWatt
  char status;
  } sfpDiagData_t;


#ifdef __cplusplus
extern "C" {
#endif

int sfpdiagInit(void);
int sfpdiagSoftTxDisable(int bus, boolean doDisable);
int sfpdiagSoftRxRateSelect(int bus, boolean fullBandwidth);
int sfpdiagGetData(int channel, sfpDiagData_t **pSfpData);

#ifdef __cplusplus
}
#endif

#endif /* __sfpdiag_h__ */

