etherkit / Si5351Arduino

Library for the Si5351 clock generator IC in the Arduino environment
GNU General Public License v3.0
229 stars 94 forks source link

Si5351A - drive strength not changing #71

Closed Marcony35 closed 4 years ago

Marcony35 commented 4 years ago

Hello,

I'm using Si5351A and trying to change drive strenght, but with no effect. Arduino compiles the code, everything is fine, but on RF meter I don't see the change.

Here is the initialization code for Si5351A...

// Initiating the Signal Generator (si5351) si5351.init(SI5351_CRYSTAL_LOAD_8PF, 0, 0); si5351.drive_strength(SI5351_CLK0, SI5351_DRIVE_2MA); // Adjusting the frequency (see how to calibrate the Si5351 - example si5351_calibration.ino) si5351.set_correction(CORRECTION_FACTOR, SI5351_PLL_INPUT_XO); // The drive strength is the amount of current into a 50Ω load. 2 mA roughly corresponds to 3 dBm output and 8 mA is approximately 10 dBm output (2,4,6 i 8) si5351.set_pll(SI5351_PLL_FIXED, SI5351_PLLA); si5351.set_freq(vfoFreq, SI5351_CLK0); // Start CLK0 (VFO) si5351.set_freq(bfoFreq, SI5351_CLK1); // Start CLK1 (BFO) si5351.update_status(); // Show the initial system information delay(500);

Is this a bug issue, or maybe IC issue? Is there any other way to change drive strenght?

NT7S commented 4 years ago

Unless there was a regression the crept in during a recent update, there shouldn't be a problem with this. I'll try to duplicate the issue using your provided code.

NT7S commented 4 years ago

I was able to get the expected monotonic increase in output power by changing the drive levels to 2, 4, 6, and 8 mA using a clone Uno and one of my breakout boards. Going to mark this as closed as I don't see a library problem here. Perhaps double-check that you are using the most current version of the library. I suppose it could be a bad IC. It might be worth trying on another one if you have it available.