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
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