Re: Multi lcd on the ubitx
Hi Richard,
If you mean a second LCD or maybe a little OLED, yes, It can be done ( I did ) but you need to write it in to the software and include whatever library that you would need for an OLED for instance. You just write in a separate routine for whatever you want to display. Not a trivial matter if you wish to use? any of C++ based sketches. 73, Don
|
Re: Should we adopt the KD8CEC firmware?
Jack, Respectfully, you missed my point. I probably wasn't clear. I didn't mean a "coding" standard. I meant a standard software load with defined functionality. Trying to add functionality that others might want to use, in an environment of multiple conditional compiles, becomes a true nightmare of regression testing to insure the added functionality works with all combinations of the conditional compiles. Not doing such regression testing and throwing a software modification out into the wild means many users are going to find that their individual software load no longer works as intended if they try to use the software modification. For instance, your mention of deleting keyer code if you never use CW. If I develop functionality like a "Tune" option that requires the CW transmit module and some kind of a CW key to transmit a carrier, it won't work with someone that has deleted the keyer code using their conditional compile. If they add my functionality what's the first thing they are going to see happen? It won't work. Who then gets to figure out why and then who gets to fix it? tim ab0wr On Tue, 15 May 2018 13:25:23 +0000 (UTC) "Jack Purdum via Groups.Io" <jjpurdum@...> wrote: I agree with Ron, here. Tim's statement:
????It's important to have a *standard* to write to.
would be nice, but as we all know, there is a difference between coding style and functionality. Cut-and-paste code is also nice to have, but any code may be useful if you can read and understand it. To me, the litmus test of good code is code that can be read and understood easily. When that's true, it becomes much easier to adapt it to your needs. Simple things like using #define's instead of "magic numbers" make it easier to read and adapt code. (If the IDE had a symbolic debugger, I might use constants, although symbolic constants are typeless and that can be a huge benefit in writing reusable code.) Writing "clever" code is rarely a benefit. Which would you rather read:
?? a = b >> 1;
or
?? averageVoltage = baseVoltage / 2;?? // Voltage divider derives average voltage that's applied to pin AVERAGEVOLTAGE
Perhaps the only real reason the first version might make sense is to cause some speed gain in the executed code, or perhaps save some memory. Even that, however, often makes no sense because the Gnu compiler is quite good at optimizations. Indeed, my guess is that the two forms above generate exactly the same code. You can examine the *.lst file to get a feel for the final answer.
The final step before making it available to the public is to ask yourself: What can I do to make it easier to read and understand this code? If you cannot find changes that enhance readability, it's read for prime time. Even then, readers will have difference preferences on the way they would write the code...that's to be expected. However, the fact they have preferences means they can read, understand, and hopefully use the code.
For reasons most can guess, I have not read Ian's code recently, but I'm sure it's readable. The fact that Farhan has even suggested using it as the standard means he's happy with it. If it's possible to conditionally compile the code (e.g., why have a keyer if you know you'll never use CW, leaving some room for additions you know you want), it seems to me to be a moot question.
And to those who argue: "But conditional compiles means the users have to be able to change the code!" Yeah, so what? If you can't change the code, you still have several options: 1) accept the radio "as is", 2) learn enough programming to make the changes you want, or 3) pay a programmer to implement the changes you want. Trying to get a boo-hoo from me for people who don't want to invest a weekend in learning how to make such changes is pretty much going to fall on a deaf set of ears. Besides, this kind of programming is going to get more important down the road, not less. May as well bite the bullet and jump on board...you may even find you like it!
Jack, W8TEE
On Monday, May 14, 2018, 11:53:47 PM EDT, W2CTX <w2ctx@...> wrote: Tim
?? When I write software I don't have reuse as part of my mindset.? I try to make something work that is
broken or develop something new that does not exist.? Once it is tested it is given to the community to
use.
?So if I don't care if others use my code how does that advance the radio?? Well one case comes to mind in that
my keyer code had iambic A/B working correctly.? After I published the firmware I believe Ian looked at it.? Now
he could not cut-n-paste my code into his firmware because he used different timing and different hardware pins.
As he stated in his description of his keyer routine, he looked at my logic and? adapted my code into his.
And as all good programmers do gave me acknowledgement in his header of his keyer module.
So you don't have to create code that can be cut-n-paste to be useful.
rOn
On May 14, 2018 at 10:32 PM Tim Gorman wrote:
John,
If I am writing a function that others might want to use, how do I know which analog input to look at for a trigger by the CW key?
Does my function need to look at both A3 and A6 just in case? Or do I use one or the other and let the user worry about fiddling with my code to make it work?
It's important to have a *standard* to write to.
tim ab0wr
On Mon, 14 May 2018 13:54:44 -0700 "John" wrote: I disagree that the original software is a good starting point for building on as its tuning and keying section need work.
I think the uBitx should be shipped with a software that best promotes it's capabilities. That way the user can enjoy it fully without having to go through an upgrade process that he may not be willing to go through.
Making room for later software changes is easy if, as said above, the software is segmented and shows the "memory cost" of each option.
As an example below is the start of the my ubitx_20.ino file, based on Ian's 1.061 version.
It is easy to make room by commenting out options to insert one's own code if desired, or simply enable "extra features". //================== Compile options for adding/removing features and saving memory ===================== //When there are no hardware modifications (i.e. wired as per the HfSignals web-site) // If UNdefined, or commented OUT, assumes that the CW key is connected to the PTT input (A3) to free-up A6 for // the handsfree option here. (note that A6 could also be used for SWR or supply voltage monitoring). No memory impact.
Groups.io Links:
You receive all messages sent to this group.
View/Reply Online (#49147): /g/BITX20/message/49147 View All Messages In Topic (64): /g/BITX20/topic/19183012 Mute This Topic: /mt/19183012/141851 New Topic: /g/BITX20/post -=-=- The original BITX BITX40 by HFSignals uBITX by HFSignals BITX Store by Sunil BITX Web Site of Mike ZL1AXG /g/BITX20/wiki/home Wiki -=-=- Change Your Subscription: /g/BITX20/editsub/141851 Group Home: /g/BITX20 Contact Group Owner: [email protected] Terms of Service: /static/tos Unsubscribe: /g/BITX20/leave/defanged<hr style="height: 0; border: 0; border-top: 1px solid #aaa; margin: 8px 0;">
|
Re: Should we adopt the KD8CEC firmware?
Tim, and all,
Let me preface this with a statement of gratitude to Farhan for
supplying such a
useful, functional, and affordable rig to all. It has enabled many
to get into ham
radio who would otherwise not have an opportunity, and it has put
the fun back into
ham radio for many others. I know Farhan and his crew have put an
enormous amount
of work into the endeavor.
Furthermore, Farhan has generously provided useful firmware, with
source code, based
on the GNU license. Again, I am grateful for that. He has
indicated that he 'launched'
the software with no guarantee, and no obligation to maintain it.
Please understand
my following comments are not a criticism of any of his efforts in
any way.
I believe the question of adopting KD8CEC firmware as the 'base
load' should
be addressed from the viewpoint of external functionality, rather
than software
structure.
When I use the original firmware, I note the unreliable CW keying,
erratic 'adaptive'
tuning, and lack? of CAT interface. Again, not a criticism in any
way.
The KD8CEC firmware resolves these issues. The exception to that
is 'adaptive' tuning,
which is tuning is difficult or impossible to implement using the
Arduino runtime library,
as it is not a real-time operating system. Ian, KD8CEC, addresses
that issue in his later
releases by providing the ability to have four additional
front-panel buttons with a minor
hardware mod of adding a few resistors. One of the buttons
controls tuning rate without
the need to navigate menus.
It is likely that the vast majority of uBITX users are not eager
to jump into coding changes,
with the associated nuances. I understand that, and in the
'voting' process about base
load firmware, I believe it is important to keep that in mind.
I suggest separating the 'which base load' issue from the
'software structure and portability'
issues. The user community is probably more affected by external
functionality than software
compatibility. See Jack, W8TEE comments posted today, which I
support in concept.
----break, to talk about software structure---
Tim, thank you for emphasizing John, VK2ETA 5/14 post, which I
re-read. John put a lot of work
into that, and I like the direction he is headed in. I also
suggest re-reading his 5/12 post.
---break, for wrapup---
I really appreciate the contributions to the uBITX community from
all over the world.
Tim, as an aside note, please be aware my name is spelled "Rod",
not "Ron". An easy
typo blip.
Best to All,
Rod KM6SN
|
Re: Multi lcd on the ubitx
Do you mean a 4-line lcd display? If so you have to have a software load set up to use a 4-line display. Have you checked to see if that is the case for your software? tim ab0wr On Tue, 15 May 2018 07:17:40 -0700 "Richard E Neese" <kb3vgw@...> wrote: with the wa6isp and other replacement boards you have i2c but I cant get multi screens working.. anyone have a howto for multi screen
|
Re: Should we adopt the KD8CEC firmware?
That's an easy one. If it's your software then *you* are charged with doing the troubleshooting.
toggle quoted message
Show quoted text
On Tue, May 15, 2018 at 07:16 am, Tim Gorman wrote:
But what happens if the CW option is defined out of the software as has been suggested to save program space?
Then the defined label won't exist. If my software assumes it *does* exist then it won't function correctly for some users that try to integrate it in their load.
Who gets charged with doing the troubleshooting as to why it doesn't work?
|
Re: Should we adopt the KD8CEC firmware?
Jerry, Ian's code may be easy for you to read and understand. That is most definitely *not* the case for many of us. Any code that can be changed on the fly by defining options to be included or excluded probably can't be considered "stable". It becomes a minefield for others trying to add their functionality. Regression testing to insure the software still works as intended becomes a nightmare of trying all the numerous options together in a multiplicity of option combinations. This is not meant as disparagement Ian's software. It has a lot of functionality that many people have asked for. Many people are using it. There is a good reason for that. But that doesn't mean it is suitable as the base load for all future ubitx units. Does Ashar have the resources to do a full regression testing of Ian's software as it stands today when changes are made to the ubitx hardware? tim ab0wr On Mon, 14 May 2018 22:42:01 -0700 "Jerry Gaffke via Groups.Io" <jgaffke@...> wrote: I haven't looked at Ian's code yet. But suspect it is plenty readable. And if it's readable, there's a bunch of people here that could support it. And I doubt Farhan would ship with it unless he was confident he understood it and could make his own mods and fixes.
Farhan would be shipping something that is hopefully stable. And if Ian is so inclined, he will continue adjusting the code to suit his whims. Now I'm confused, was there somehow a problem with this??
Generally, a few hundred lines of C code is fairly easy to figure out. Though there are exceptions: ? ? ? ??
Jerry, KE7ER
On Mon, May 14, 2018 at 09:24 pm, W2CTX wrote:
If CEC firmware is selected to be the delivered "base" then you must think about the following two implications:
1. Is Ian willing to support the "base" in the future w.r.t. uBITX production hardware changes? As well as answering all the "newbie" questions about all the options everyone is eluding to?
2. If Ian does not support the "base", then customers will be confused by having CEC as "base" and IAN still supplying CEC firmware that is different.
|
Re: Should we adopt the KD8CEC firmware?
As a newcomer to Arduino, I really appreciate of the benefits of Dr. Lee's implementation versus the stock standard currently shipping.
Thanks, DaveWS1ETI
|
Re: Should we adopt the KD8CEC firmware?
Tim
? On this point I agree with you 100%.?
That is why our team (W0EB/N5IB/W2CTX) tries to supply a single package that has all the options
people might want.
All this discussion is like trying to cram 10 pounds of potatoes into a 5 pound bag!? Lets face it the NANO is not
the processor for what the future of uBITX is.
rOn
toggle quoted message
Show quoted text
On May 15, 2018 at 9:48 AM Tim Gorman wrote:
Ron,
This really isn't my point. If I am adding menu software to send CW and measure reverse power how do I know if future users of the software will even have the CW software if it can be removed with a define?
If someone does take the software and integrate it in their menu section and it doesn't work because they defined CW out of their software who is going to be responsible for troubleshooting why it doesn't work? The user or the software coder?
It isn't an issue of others using my software, it is an issue of who will be responsible for it not working in a system with all kinds of options that could break its functionality?
tim ab0wr
On Mon, 14 May 2018 23:51:39 -0400 (EDT) "W2CTX" wrote:Tim
When I write software I don't have reuse as part of my mindset. I try to make something work that is
broken or develop something new that does not exist. Once it is tested it is given to the community to
use.
So if I don't care if others use my code how does that advance the radio? Well one case comes to mind in that
my keyer code had iambic A/B working correctly. After I published the firmware I believe Ian looked at it. Now
he could not cut-n-paste my code into his firmware because he used different timing and different hardware pins.
As he stated in his description of his keyer routine, he looked at my logic and adapted my code into his.
And as all good programmers do gave me acknowledgement in his header of his keyer module.
So you don't have to create code that can be cut-n-paste to be useful.
rOnOn May 14, 2018 at 10:32 PM Tim Gorman wrote:
John,
If I am writing a function that others might want to use, how do I know which analog input to look at for a trigger by the CW key?
Does my function need to look at both A3 and A6 just in case? Or do I use one or the other and let the user worry about fiddling with my code to make it work?
It's important to have a *standard* to write to.
tim ab0wr
On Mon, 14 May 2018 13:54:44 -0700 "John" wrote: > > I disagree that the original software is a good > > starting point forbuilding on as its tuning and keying section need work.
I think the uBitx should be shipped with a software that best promotes it's capabilities. That way the user can enjoy it fully without having to go through an upgrade process that he may not be willing to go through.
Making room for later software changes is easy if, as said above, the software is segmented and shows the "memory cost" of each option.
As an example below is the start of the my ubitx_20.ino file, based on Ian's 1.061 version.
It is easy to make room by commenting out options to insert one's own code if desired, or simply enable "extra features". //================== Compile options for adding/removing features and saving memory ===================== //When there are no hardware modifications (i.e. wired as per the HfSignals web-site) // If UNdefined, or commented OUT, assumes that the CW key is connected to the PTT input (A3) to free-up A6 for // the handsfree option here. (note that A6 could also be used for SWR or supply voltage monitoring). No memory impact. > --------------------------------------------- Groups.io Links:
You receive all messages sent to this group.
View/Reply Online (#49147): /g/BITX20/message/49147 View All Messages In Topic (64): /g/BITX20/topic/19183012 Mute This Topic: /mt/19183012/141851 New Topic: /g/BITX20/post -=-=- The original BITX BITX40 by HFSignals uBITX by HFSignals BITX Store by Sunil BITX Web Site of Mike ZL1AXG /g/BITX20/wiki/home Wiki -=-=- Change Your Subscription: /g/BITX20/editsub/141851 Group Home: /g/BITX20 Contact Group Owner: [email protected] mailto:[email protected] Terms of Service: /static/tos Unsubscribe: --------------------------------------------- /g/BITX20/leave/defanged<hr /g/BITX20/leave/defanged style="height: 0; border: 0; border-top: 1px solid #aaa; margin: 8px 0;">
Groups.io Links:
You receive all messages sent to this group.
View/Reply Online (#49197): /g/BITX20/message/49197 View All Messages In Topic (76): /g/BITX20/topic/19183012 Mute This Topic: /mt/19183012/141851 New Topic: /g/BITX20/post -=-=- The original BITX BITX40 by HFSignals uBITX by HFSignals BITX Store by Sunil BITX Web Site of Mike ZL1AXG /g/BITX20/wiki/home Wiki -=-=- Change Your Subscription: /g/BITX20/editsub/141851 Group Home: /g/BITX20 Contact Group Owner: [email protected] Terms of Service: /static/tos Unsubscribe: /g/BITX20/leave/defanged<hr style="height: 0; border: 0; border-top: 1px solid #aaa; margin: 8px 0;">
|
Re: Should we adopt the KD8CEC firmware?
It would sure be nice if you could fix the acceleration feature.......
toggle quoted message
Show quoted text
On May 14, 2018, at 17:57, John Backo <jabac@...> wrote:
Well, Ash.
It seems to me that there are too many opinions to change things very much. It is probably best to leave things pretty much as is, and let each user determine what's the next best thing to do...
john AD5YE
|
I am getting Tx when I ?push the PTT.?I have a 17' vertical wire from QRP Guys antenna
The idea of making sure I have power first...ist a great suggestion. Will dig out my CB metre and see what I am getting.
|
with the wa6isp and other replacement boards you have i2c but I cant get multi screens working.. anyone have a howto for multi screen
|
Re: Should we adopt the KD8CEC firmware?
John, But what happens if the CW option is defined out of the software as has been suggested to save program space? Then the defined label won't exist. If my software assumes it *does* exist then it won't function correctly for some users that try to integrate it in their load. Who gets charged with doing the troubleshooting as to why it doesn't work? tim ab0wr On Mon, 14 May 2018 20:13:24 -0700 "John" <vk2eta@...> wrote: Hello Tim,
The keyer input is also defined so your program only need make reference to the defined label (ANALOG_KEYER here), not the hardware pin per say:
From the code: #define ANALOG_KEYER? ? (A3)
73, John (VK2ETA)
|
Re: Should we adopt the KD8CEC firmware?
Ashar *does* support the software he provides. Significant testing was done before it was used as the standard load. While it does have some problems it *does* work, it *is* usable as provided. And it provides a stable base upon which to build. When was the last time someone reported a problem with the standard software that prevents it from working correctly? tim ab0wr On Tue, 15 May 2018 00:59:58 -0500 "K9HZ" <bill@...> wrote: Support? You think the uBITx is supported?
This is right off the HFSignals webside as indicates the limit of support: " This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." And..." If you are interested or building any of the HF Signals¡¯ kits, you can join the BITX20 group by visiting /g/bitx20. That¡¯s the only support we provide. The level of collective wisdom and experience on the Forum is enough to sort out almost any technical problem or question you may have. You will also meet some really great builders on the Forum."
Dr. William J. Schmidt - K9HZ J68HZ 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ
Owner - Operator Big Signal Ranch ¨C K9ZC Staunton, Illinois
Owner ¨C Operator Villa Grand Piton ¨C J68HZ Soufriere, St. Lucia W.I. Rent it: www.VillaGrandPiton.com Like us on Facebook!
Moderator ¨C North American QRO Group at Groups.IO.
email: bill@...
|
Re: ND6T AGC implementation for uBIT-X
Hi, May I order one AGC and one Click kit please for delivery to France ... Many thanks, Gilles Delpech, F1BFU?
toggle quoted message
Show quoted text
Just uploaded the latest list of those interested in an AGC and Click Mini-kit as described earlier (in the "Files" section under my call). Since there does not seem to be a demand for the boards only, I'm going to drop those.?
Both Mini-kits should be in ND6T's hands for testing and the "OK". After that has completed successfully and maybe a bug worked out such as parts taped to the schematic or in a plastic bag, did it survive mailing OK, etc. we will open the gates. Yes, I think I need a bigger boat.
As i said earlier "I've looked at the numbers and think I can do it ...INCLUDING.... covering PayPal charges (nearly everyone wants to use that) and postage to you in the USA at $5 for 2 kits (either 2 AGC kits or, 1 AGC kit and 1 Click kit or, 2 Click kits). That way it keeps it all simple too .....which I need with about 351 kits requested to date. I still have to figure out overseas postage which may have to be a padded envelope for customs reasons.?
73 Kees K5BCQ?
|
This filter really works like a variable low pass filter. ?One side of the passband, the low frequency side, stays fixed and is quite steep. ?The other side gets lower in frequency as the capacity is increased. ?It is not as steep as the low side.
If you are listening to a 750 Hz CW tone you can increase the capacitance until the nominal bandpass is about 750 Hz wide. ?If you are listening to a 200 Hz CW tone you can use more capacitance and make the bandpass as narrow as 200 Hz.
It works great for getting rid of high pitched background noise.
|
John said ...
"I built the uBitx and have set up on the 20 metres. Can hear?CW and lots
of chatter, but have been unable to make a first contact. I tested the
PTT mic and the antenna lines seem to be working fine. But it seems like
people can not hear me. Any suggestions on troubleshooting my radio's
and making my first contact. As a new Ham I have really?been at a loss
as to what is wrong with my rig?"
OK, this is NOT a stupid question.? Have you verified that you're making power?? It is trivial to kludge up a field strength indicator, and a cheapo flashlight bulb and a piece of wire should be sufficient.? If you were competent to build a BITX, building a field strength indicator or a power meter should be easy.? And a CB radio power meter will work well enough with a BITX to at least give you a clue. In general, if the RX works on a BITX then the TX should work too, unless there's a significant issue in the PA.? Given today's less than ideal propagation AND summertime in the northern hemisphere, it may be that the few watts from your BITX may be getting lost in a world of "alligator" radios -- all mouth, no ears. 20 meter ground-wave propagation should give you 25 miles' range, and 5 watts out should be OK.? An NVIS antenna (google it if you need) should give three or four times that range. So ... see that you're making power first. 73 Jim N6OTQ
|
Re: Should we adopt the KD8CEC firmware?
Ron, This really isn't my point. If I am adding menu software to send CW and measure reverse power how do I know if future users of the software will even have the CW software if it can be removed with a define? If someone does take the software and integrate it in their menu section and it doesn't work because they defined CW out of their software who is going to be responsible for troubleshooting why it doesn't work? The user or the software coder? It isn't an issue of others using my software, it is an issue of who will be responsible for it not working in a system with all kinds of options that could break its functionality? tim ab0wr On Mon, 14 May 2018 23:51:39 -0400 (EDT) "W2CTX" <w2ctx@...> wrote: Tim
When I write software I don't have reuse as part of my mindset. I try to make something work that is
broken or develop something new that does not exist. Once it is tested it is given to the community to
use.
So if I don't care if others use my code how does that advance the radio? Well one case comes to mind in that
my keyer code had iambic A/B working correctly. After I published the firmware I believe Ian looked at it. Now
he could not cut-n-paste my code into his firmware because he used different timing and different hardware pins.
As he stated in his description of his keyer routine, he looked at my logic and adapted my code into his.
And as all good programmers do gave me acknowledgement in his header of his keyer module.
So you don't have to create code that can be cut-n-paste to be useful.
rOn
On May 14, 2018 at 10:32 PM Tim Gorman wrote:
John,
If I am writing a function that others might want to use, how do I know which analog input to look at for a trigger by the CW key?
Does my function need to look at both A3 and A6 just in case? Or do I use one or the other and let the user worry about fiddling with my code to make it work?
It's important to have a *standard* to write to.
tim ab0wr
On Mon, 14 May 2018 13:54:44 -0700 "John" wrote: > > I disagree that the original software is a good > > starting point for
building on as its tuning and keying section need work.
I think the uBitx should be shipped with a software that best promotes it's capabilities. That way the user can enjoy it fully without having to go through an upgrade process that he may not be willing to go through.
Making room for later software changes is easy if, as said above, the software is segmented and shows the "memory cost" of each option.
As an example below is the start of the my ubitx_20.ino file, based on Ian's 1.061 version.
It is easy to make room by commenting out options to insert one's own code if desired, or simply enable "extra features". //================== Compile options for adding/removing features and saving memory ===================== //When there are no hardware modifications (i.e. wired as per the HfSignals web-site) // If UNdefined, or commented OUT, assumes that the CW key is connected to the PTT input (A3) to free-up A6 for // the handsfree option here. (note that A6 could also be used for SWR or supply voltage monitoring). No memory impact. > --------------------------------------------- Groups.io Links:
You receive all messages sent to this group.
View/Reply Online (#49147): /g/BITX20/message/49147 View All Messages In Topic (64): /g/BITX20/topic/19183012 Mute This Topic: /mt/19183012/141851 New Topic: /g/BITX20/post -=-=- The original BITX BITX40 by HFSignals uBITX by HFSignals BITX Store by Sunil BITX Web Site of Mike ZL1AXG /g/BITX20/wiki/home Wiki -=-=- Change Your Subscription: /g/BITX20/editsub/141851 Group Home: /g/BITX20 Contact Group Owner: [email protected] mailto:[email protected] Terms of Service: /static/tos Unsubscribe: --------------------------------------------- /g/BITX20/leave/defanged<hr /g/BITX20/leave/defanged style="height: 0; border: 0; border-top: 1px solid #aaa; margin: 8px 0;">
|
Re: uBitX in its new home
now it's time to paint flames or racing stripes on that hot rod! --
|
Thanks Craig.? While a router sure would be fun.? These are just printed. --
|
Does it go into Tx? when you push the PTT?? Looks like you are trying to transmit in SSB/voice are you set for LSB? What is your exact antenna and feed line set up? --
|