Keyboard Shortcuts
Likes
Search
calibration routine fixed (raduino v1.0.2)
As reported by many others in earlier threads, the calibration routine Ashhar's raduino sketch v1.01 on Github isn't working.
There were two issues: 1. the correction factor is not calculated properly 2. the value is stored in EEPROM, but it is never fetched during start up. In addition, the sketch didn't compile with the newer v2 library for the Si5351 I corrected Ashhar's original Raduino sketch in order to fix the above issues. See attached (raduino_v1.0.2.ino) @Ashhar: perhaps you can consider to place this on your Github page? 73, Allard PE1NWL |
Let me try it today - f On 7 Mar 2017 6:45 a.m., "Allard PE1NWL" <pe1nwl@...> wrote: As reported by many others in earlier threads, the calibration routine Ashhar's raduino sketch v1.01 on Github isn't working. |
Thanks Ashhar,
The corrections I made are only related to the calibration routine and the newer Si5351 library. No other bug corrections or improvements. I left the rest of the code in tact as much as possible. If you decide to put it in your Github page, then I'd suggest to also include the following note in the README.md file: "NOTE: This sketch is based on version V2 of the Si5351 library. It will not compile with V1!" As this his also caused confusion with some users recently. 73, Allard PE1NWL |
Stephan Lauffer
Hi Elia,
toggle quoted message
Show quoted text
look into the comment in the raduino.ino source... ...there you can read: "[...] You can download and install it from [...]" 73, Stephan dc8lz Am 07.03.2017 um 11:03 schrieb Yaya via Groups.Io: Hi Allard, |
Lawrence Macionski
I thought there was something "not right" when I did the calibration on my BITX40V3. But I don't have your flight time in the cockpit. Short and sweet of this message- Because of popularity since start of 2017. It's time to release a minimum revised BITX40V3 recommended hardware-software updates - like adding the cap in the final for 2nd harmonic suppression and other necessary items. Such as a Raduino V1.0.2? sketch. as that will also evolve. Perhaps on HFSIGS.COM - a timeline page .... this, that or the other was adopted on this date... it's hard to follow on groups.io. I am sure everyone would want a "standard" as of this date page.. Larry W8LM |
Dear Ashhar,
I have just created a pull request on your Github repository. So that you can easily review the changes I made. If you agree with the changes, please merge with your bitx40 master. So that the rest of the bitx40 community can use it as a 'standard' raduino code from your Github page. Thanks, 73 Allard PE1NWL |
I assume by "dead band fix" you mean this: ?/g/BITX20/message/22349 Well worth doing. ?Gives the tuning pot a bit of hysterisis. ?Does away with the constant flicker between adjacent frequencies due to noise in the ADC when the knob is not being rotated, but otherwise leaves functionality and feel exactly as Ashhar had coded it. ?t works by inhibiting a reverse in direction of the tuning pot until that reversal has traveled through what would normally be 5 steps in frequency of 50hz each. ?For example, assume we have been tuning up in frequency and stop the knob at 7200.000 khz. ?A bit of noise comes in from the ADC, and the frequency pops up to 7200.050 khz. ?Another bit of noise comes in that would normally bring it back down to 7200.000 khz, but this is ignored because it does not reach the 5 tick threshold. ?A light touch on the knob might bring it a bit further up to 7200.100 khz. ?Reversing the direction of the knob, it travels through 5 steps before any change in frequency occurs, on the 6'th step the frequency goes back down to 7200.050 khz. ?If we leave the knob in that position, a bit of ADC noise might lower it further to 7200.000 khz, but noise will not raise the frequency. ?I recommend operating with the original code at first until the noise at the pot has been evaluated and minimized with bypass caps and perhaps short shielded wiring. ?Then enable this new code by recompiling the sketch. ?The frequency will still move a little bit after taking your hand off the knob, but can only move in one direction. To implement the change, replace this part of the code as posted by Ashhar on github: // the tuning knob is at neither extremities, tune the signals as usual else if (knob != old_knob){ frequency = baseTune + (50l * knob); old_knob = knob; setFrequency(frequency); updateDisplay(); } with this: // the tuning knob is at neither extremities, tune the signals as usual else if (knob != old_knob){ static char dir_knob; if ( (knob>old_knob) && ((dir_knob==1) || ((knob-old_knob) >5)) || (knob<old_knob) && ((dir_knob==0) || ((old_knob-knob) >5)) ) { if (knob>old_knob) { dir_knob=1; frequency = baseTune + (50l * (knob-5)); } else { dir_knob=0; frequency = baseTune + (50l * knob); } old_knob = knob; setFrequency(frequency); updateDisplay(); } } Note that there is one more "}" not included in the code snippets above to close out the function doTuning(). ?I chose to represent the complete "else" clause with balanced parenthesis, that final "}" is not part of the else clause. I'm on the road, won't be updating the file myself. ?But the above change does work. Jerry, KE7ER ? On Fri, Mar 10, 2017 at 08:58 am, <jmlynesjr@...> wrote: Does this version also include the tuning dead band fix? ? |
Yeah that's exactly what I did, see my branch at
toggle quoted message
Show quoted text
I'm now waiting for Ashhar to merge this release. Next change I may want to work on is the flutter fix as suggested by Jerry. 73, Allard PE1NWL On Fri, March 10, 2017 19:17, peatmoss wrote:
Hey maybe we should fork a branch for cutting edge changes? Then Ashhar |
jmlynesjr@gmail.com
Let me hear a BIG DUH! I posted while the code was still printing. Otherwise I would have seen that the Tuning Flutter fix was not included. I started with Allard's file and added Jack's version along with a header block that I use at the top of my code files. Compiles clean, but still waiting on delivery... At some point I want to create an SSB only version by hacking out all the currently unused code. That should free up some memory for other enhancements. James Aside: I'm normally a chipKIT(Arduino clone based on Microchip's PIC32 processors - fast with large memory) user and I use a different IDE - UECIDE(uecide.org). It was fairly easy to install the Arduino Nano plug-ins into UECIDE. |
Allard and the gang, I have been Terribly busy with the Lamakaan anniversary going on. I have your code, but to quote knuth 'i have only proved the code to be workint, not tried it'. Give me a few more days and I will work a few stations with this code before pulling it into my main. The main branch is also where Lila picks up her code to burn into the raduinos being shipped. A mistake could cost a lot of heartache. - f On 11 Mar 2017 5:58 a.m., "Allard PE1NWL" <pe1nwl@...> wrote: I have just released raduino_v1.0.3 which includes Jerry's "flutter fix" for improved tuning as well. |
Hi Ashhar,
toggle quoted message
Show quoted text
many thanks. Understood about your time constraints. Take your time, I fully agree that it's a must to do a thourough field test before taking it into production. Meanwhile several builders are already using the improved code and so far no problems have been reported related to the changes. There are perhaps some other optimisations that could still be done but I may address them in a later version. My objective is just to debug and optimize the basic code, not to add new features. So that it can used as a "standard" that you can burn into the new raduinos, and from where builders can go for further hacking/enhancement etc. 73, Allard PE1NWL On Sun, March 12, 2017 05:01, Ashhar Farhan wrote:
Allard and the gang, |