¿ªÔÆÌåÓý

Firmware on github does not agree with what was in Bitx40 as shipped


 

Tried the calibrate function using the firmware in a unit as shipped end of January. ?When I move a station up the dial by 1khz, the offset shown is -0235000. ?But at least when I am done calibrating it really is moved up the dial. ?Not sure if it successfully read back from EEPROM after a power down and retained the new calibration, didn't try that out.

I then updated the Raduino with the firmware from??using the adjustments for calls to the new Si5351 library. ?Totally different behavior with the github code. ?Offset for calibrate() is now conveniently displayed in Hz. ?But when I release the calibrate switch, the station is still where it was before. ?That's consistent with my reading of the code from github: ? The variable "cal" is local to function calibrate(), and no attempt is made to use it by doTuning() or setFrequency(). ?No call to si5351_set_correction(). ?

The github code executes this line in calibrate() just before writing to the EEPROM:

??cal = (cal * 10000000l) / frequency;

That looks nonsensical to me, though it may help explain the weird offset values that get displayed during calibrate() in the code as shipped.

I've wasted a couple days on this, and I suspect a dozen others have done so as well. ?Would be good if the code most people are using (the code in units getting shipped) could be posted to github. ?Meanwhile, I guess I write my own calibrate() and give up trying to understand what this stuff was supposed to do. ?The calibration procedure should include a step where we zero-beat the vfo to the bfo so we can measure where the analog bfo is. ?(That step won't be necessary if the Si5351 also drives the bfo.) ? Then after lining up with a station of known frequency as the current code does, calculate the vfo error in ppb for a call to Si5351.set_correction(). ?That makes the correction proportional to the Si5351 vfo frequency, not just an offset, and thus remains correct across multiple bands.

I now have the Bitx40 ordered on Jan 30 mostly working. ?But seeing just a few mW of 7mhz out to dummy load when whistling into the microphone, and R136 does not help. ?May need to ask John Smith for advice.

Jerry, KE7ER


On Sat, Feb 25, 2017 at 01:39 pm, Jerry Gaffke wrote ?(in thread?Re: CW or not to CW?)

There's a lot of stuff in the code that is started but far from functional. ?Namely the USB/LSB stuff, RIT, TX switching, CW, LPF switching, and dual VFO's. ?And Calibrate is broken in ways other than just this business of not reading EEPROM in setup().

?

Join [email protected] to automatically receive all group messages.