comm
This commit is contained in:
@@ -52,24 +52,71 @@ typedef enum {
|
||||
SI5351_CLK_SOURCE_XTAL = 0,
|
||||
SI5351_CLK_SOURCE_CLOCKSOURCE = 1,
|
||||
|
||||
|
||||
|
||||
}si5351_ClkSource;
|
||||
|
||||
typedef enum {
|
||||
|
||||
SI5351_CRYSTAL_LOAD_6PF = (1 << 6),
|
||||
SI5351_CRYSTAL_LOAD_8PF = (2 << 6),
|
||||
SI5351_CRYSTAL_LOAD_10PF = (3 << 6)
|
||||
|
||||
}si5351_Xtal_Cload;
|
||||
|
||||
typedef enum {
|
||||
|
||||
SI5351_PLL_A = 0,
|
||||
SI5351_PLL_B = 1,
|
||||
|
||||
|
||||
|
||||
}si5351_PLLs;
|
||||
|
||||
typedef enum {
|
||||
|
||||
SI5351_OUTPUT_0 = 0,
|
||||
SI5351_OUTPUT_1 = 1,
|
||||
SI5351_OUTPUT_2 = 2,
|
||||
SI5351_OUTPUT_3 = 3,
|
||||
SI5351_OUTPUT_4 = 4,
|
||||
SI5351_OUTPUT_5 = 5,
|
||||
SI5351_OUTPUT_6 = 6,
|
||||
SI5351_OUTPUT_7 = 7,
|
||||
|
||||
}si5351_Outputs;
|
||||
|
||||
typedef enum {
|
||||
|
||||
SI5351_OUTPUT_ENABLE = 0,
|
||||
SI5351_OUTPUT_DISABLE = 1,
|
||||
|
||||
|
||||
}si5351_Outputs_state;
|
||||
|
||||
typedef enum {
|
||||
SI5351_CLK_POWER_UP = 0,
|
||||
SI5351_CLK_POWER_DWN = 1,
|
||||
|
||||
|
||||
}si5351_CLK_PDN;
|
||||
|
||||
typedef enum {
|
||||
|
||||
SI5351_REG_OUTPUT_ENABLE_CONTROL = 3,
|
||||
SI5351_REG_PLL_INPUT_SOURCE = 0xf0, // Reg 15
|
||||
SI5351_REG_MULTISYNTH_NA_0 = 29,
|
||||
SI5351_REG_CLK_0_CONTROL = 16,
|
||||
SI5351_REG_CLK_1_CONTROL = 17,
|
||||
SI5351_REG_CLK_2_CONTROL = 18,
|
||||
SI5351_REG_CLK_3_CONTROL = 19,
|
||||
SI5351_REG_CLK_4_CONTROL = 20,
|
||||
SI5351_REG_CLK_5_CONTROL = 21,
|
||||
SI5351_REG_CLK_6_CONTROL = 22,
|
||||
SI5351_REG_CLK_7_CONTROL = 23,
|
||||
|
||||
SI5351_REG_MULTISYNTH_NA_0 = 26,
|
||||
SI5351_REG_MULTISYNTH_NB_0 = 34,
|
||||
SI5351_REG_MULTISYNTH_OUT_0 = 42,
|
||||
SI5351_REG_PLL_RESET = 177,
|
||||
|
||||
SI5351_REG_CRYSTAL_LOAD_CAPACITANCE = 183,
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -216,6 +263,14 @@ typedef struct {
|
||||
uint8_t MS7_P1;
|
||||
} __attribute__((packed))si5351_multiSynth7Parameters_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t Reserved_0 : 5;
|
||||
uint8_t PLLA_RST : 1;
|
||||
uint8_t Reserved_1 : 1;
|
||||
uint8_t PLLB_RST : 1;
|
||||
|
||||
} __attribute__((packed))si5351_PLL_Reset_t;
|
||||
|
||||
typedef struct{
|
||||
|
||||
si5351_deviceStat_t deviceStatus; // 0x00
|
||||
@@ -255,6 +310,10 @@ typedef struct{
|
||||
si5351_OutputDivide R7_DIV : 3;
|
||||
uint8_t Reserved_1 : 1;
|
||||
|
||||
si5351_PLL_Reset_t PLL_Reset;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -274,6 +333,10 @@ int cm_si5351_init(si5351_driver *inst, void *i2c_transfer_inst, setGet_I2C_Even
|
||||
uint8_t cm_si5351_getRevisionNumber(si5351_driver *inst);
|
||||
int cm_setInputSource(si5351_driver *inst, si5351_ClkSource clk_source);
|
||||
int cm_setPLLParameters(si5351_driver *inst,si5351_PLLs sel_pll, uint32_t a, uint32_t b, uint32_t c);
|
||||
int cm_setOutputMultiSynth(si5351_driver *inst,si5351_Outputs clk_output, uint32_t d, uint32_t e, uint32_t f);
|
||||
int cm_setOutputEnable(si5351_driver *inst,si5351_Outputs clk_output, si5351_Outputs_state outputState);
|
||||
int cm_setCLKControl(si5351_driver *inst, si5351_CLK_PDN clk_pdn);
|
||||
int cm_resetPLLs(si5351_driver *inst, uint8_t reset_PLLA, uint8_t reset_PLLB);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user