Si5351mcu library update

Pavel Milanes Costa <pavelmc@...>
 

Hi OM.

I have re-worked on my lib for the Si5351, I have a few new features in there, if you like to peek you can check the code in github

https://github.com/pavelmc/Si5351mcu

Comments, critics, error spotting are welcomed.

Features

This are so far the implemented features (Any particular wish? use the Issues tab for that):

  • Custom XTAL passing on init (Default is 27.000 MHz (See Si.init() )
  • You can pass a correction to the xtal while running (See Si.correction() )
  • You have a fast way to power off all outputs of the Chip at once. (See Si.off() )
  • You can enable/disable any output at any time (See Si.enable(clk) and Si.disable(clk) )
  • By default all outputs are off after the Si.init() procedure. You has to enable them by hand.
  • You can only have 2 of the 3 outputs running at any moment (See "Two of three" section below)
  • Power control on each output independently (See Si.setPower(clk, level) on the lib header)
  • Initial power defaults to the lowest level (2mA) for all outputs.
  • You don't need to include and configure the Wire (I2C) library, this lib do that for you already.
  • Frequency limits are not hard coded on the lib, so you can stress your hardware to it's particular limit (You can move usually from ~3kHz to ~225 MHz, far away from the 8kHz to 160 MHz limits from the datasheet)
  • NEW: You has a way to verify the status of a particular clock (Enabled/Disabled by the Si.clkOn[clk] var)
  • NEW: From v0.5 and beyond we saved more than 1 kbyte of your precious firmware space due to the use of all integer math now (Worst induced error is below +/- 2 Hz)
  • NEW: Overclock, you can move the limits upward up to ~250MHz (see the "OVERCLOCK" section below)
  • NEW: Improved the click noise algorithm to get even more click noise reduction (see Click noise free section below)
  • NEW: Fast frequency changes as part of the improved click noise algorithm (see Click noise free section below)

73 Pavel CO7WT

Join BITX20@groups.io to automatically receive all group messages.