File syn_pmbus.c¶
FileList > proto > syn_pmbus.c
Go to the source code of this file
PMBus Protocol Engine implementation.
#include "syn_pmbus.h"#include <math.h>
Public Functions¶
| Type | Name |
|---|---|
| void | syn_pmbus_encode_read_cmd (SYN_SMBUS_Packet * pkt, uint8_t slave_addr, uint8_t cmd, bool use_pec) Encode a PMBus telemetry read request into an SMBus packet. |
| uint16_t | syn_pmbus_float_to_linear11 (float val) Convert floating-point value to PMBus 16-bit Linear11 format. |
| uint16_t | syn_pmbus_float_to_linear16 (float val, uint8_t vout_mode) Convert floating-point output voltage to PMBus 16-bit Linear16 format. |
| float | syn_pmbus_linear11_to_float (uint16_t raw) Convert PMBus 16-bit Linear11 format (5-bit exponent + 11-bit mantissa) to float. |
| float | syn_pmbus_linear16_to_float (uint16_t raw, uint8_t vout_mode) Convert PMBus 16-bit Linear16 format (unsigned 16-bit mantissa + VOUT_MODE exponent) to float. |
Public Functions Documentation¶
function syn_pmbus_encode_read_cmd¶
Encode a PMBus telemetry read request into an SMBus packet.
void syn_pmbus_encode_read_cmd (
SYN_SMBUS_Packet * pkt,
uint8_t slave_addr,
uint8_t cmd,
bool use_pec
)
Parameters:
pktOutput SMBus packet.slave_addr7-bit PMBus slave address.cmdPMBus command code (e.g., SYN_PMBUS_CMD_READ_VIN).use_pecEnable Packet Error Checking (PEC).
function syn_pmbus_float_to_linear11¶
Convert floating-point value to PMBus 16-bit Linear11 format.
Parameters:
valFloating-point value.
Returns:
Encoded 16-bit Linear11 word.
function syn_pmbus_float_to_linear16¶
Convert floating-point output voltage to PMBus 16-bit Linear16 format.
Parameters:
valFloating-point voltage value.vout_modeVOUT_MODE byte (or raw 5-bit signed exponent N).
Returns:
Encoded 16-bit Linear16 raw mantissa word.
function syn_pmbus_linear11_to_float¶
Convert PMBus 16-bit Linear11 format (5-bit exponent + 11-bit mantissa) to float.
Parameters:
raw16-bit raw Linear11 word.
Returns:
Decoded floating-point value.
function syn_pmbus_linear16_to_float¶
Convert PMBus 16-bit Linear16 format (unsigned 16-bit mantissa + VOUT_MODE exponent) to float.
Parameters:
raw16-bit raw mantissa word.vout_modeVOUT_MODE byte (or raw 5-bit signed exponent N).
Returns:
Decoded floating-point output voltage.
The documentation for this class was generated from the following file src/syntropic/proto/syn_pmbus.c