3#include "hardware/i2c.h"
11 const uint8_t I2C_ADDR;
16 void disableSpreadSpectrum()
const;
24 std::array<uint32_t, 3> dividerParameters(
const uint a,
const uint b,
const uint c)
const;
36 uint8_t readByte(uint8_t reg)
const;
44 std::array<uint8_t, 9> registerContent(
const uint8_t address,
const std::array<uint32_t, 3> &p)
const;
55 std::array<uint8_t, 9> registerContent(
const uint8_t address,
const uint a,
const uint b,
const uint c)
const;
62 void setChrystalLoadCapacitance(uint8_t cLoad);
67 void waitAfterPowerOn();
75 Si5351(i2c_inst* i2cPort = i2c0, uint8_t i2cAddr = 0x60,
const uint8_t cLoad = 10);
107 void setClkControl(
const uint8_t clkIndex,
bool powerDown,
bool intMode, uint8_t inputSource,
bool invert, uint8_t outputSource, uint8_t strength);
117 void setMultisynth0to5parameters(
const uint8_t multisynth,
const uint32_t integer,
const uint32_t num,
const uint32_t denom, uint8_t outDiv = 0)
const;
131 void setOutput(
const uint8_t clkIndex,
const bool enabled);
144 void setPllInputSource(
const uint8_t inputDivider,
const uint8_t sourceB=0,
const uint8_t sourceA=0);
153 void setPllParameters(
const char pll,
const uint32_t integer,
const uint32_t numerator,
const uint32_t denominator);
void setPllParameters(const char pll, const uint32_t integer, const uint32_t numerator, const uint32_t denominator)
Sets the PLL dividers.
Definition Si5351.cpp:273
void setMultisynth0to5parameters(const uint8_t multisynth, const uint32_t integer, const uint32_t num, const uint32_t denom, uint8_t outDiv=0) const
Configures the multisynth divider 0, 1, 2, 3, 4 or 5.
Definition Si5351.cpp:165
void setPllInputSource(const uint8_t inputDivider, const uint8_t sourceB=0, const uint8_t sourceA=0)
Sets the clock input divider.
Definition Si5351.cpp:250
Si5351(i2c_inst *i2cPort=i2c0, uint8_t i2cAddr=0x60, const uint8_t cLoad=10)
Definition Si5351.cpp:84
void setOutputDisableState(uint8_t clkIndex, const uint8_t disState)
Determins the state of a disabled output.
Definition Si5351.cpp:187
void setClkControl(const uint8_t clkIndex, bool powerDown, bool intMode, uint8_t inputSource, bool invert, uint8_t outputSource, uint8_t strength)
Definition Si5351.cpp:137
void disableOEBPin()
Disables the OEB pin.
Definition Si5351.cpp:106
void resetPll() const
Resets PLLA and PLLB.
Definition Si5351.cpp:131
void setOutput(const uint8_t clkIndex, const bool enabled)
Enables or disables a single output driver.
Definition Si5351.cpp:213
void disableInterrupts()
Disables the interrupt pin.
Definition Si5351.cpp:100
void setOutputsOff()
Disables all output drivers and powers them down.
Definition Si5351.cpp:236