Keyboard Shortcuts
Likes
- SoftwareControlledHamRadio
- Messages
Search
Re: Adding PTT to Main Board
¿ªÔÆÌåÓýIt works but there is a problem with that.? It means the digital and audio grounds are now the same. ? ? Dr. William J. Schmidt - K9HZ J62K(J68HZ) 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ VP2EHZ ? Owner - Operator Big Signal Ranch ¨C K9ZC Staunton, Illinois ? Owner ¨C Operator Villa Grand Piton ¨C J68HZ Soufriere, St. Lucia W.I. Rent it: ? Moderator: North American QRO Group at Groups.IO. Moderator: Amateur Radio Builders Group at Groups.IO. ? email:? bill@... ? ? From: [email protected] <[email protected]> On Behalf Of Tom - AJ8X via groups.io
Sent: Saturday, April 26, 2025 10:20 PM To: [email protected] Subject: [SoftwareControlledHamRadio] Adding PTT to Main Board ? I put a jumper on the V12 Main board to add PTT to the microphone jack. I'm finding it handy. |
Re: Confirmation of T41-EP Open Source Licenses
#t41-ep
#licensing
I guess I'll answer my own question.? Looking back at SDTVer010.ino, we have the following copyright block:
?
? This comment block must appear in the load page (e.g., main() or setup()) in any source code
? that uses code presented as whole or part of the T41-EP source code. ?
? (c) Frank Dziock, DD4WH, 2020_05_8
? "TEENSY CONVOLUTION SDR" substantially modified by Jack Purdum, W8TEE, and Al Peter, AC8GY
?
? This software is made available under the Freeware license agreement, which prevents the use of
? the software for commercial use. If any commercial use of this software is planned, the interested ? parties must first get written approval from Jack Purdum, W8TEE, and Al Peter, AC8GY. User for non- ? commerical use is acceptable. ?
? Any and all other commercial uses, written or implied, are forbidden without written permission from
? Dr. Jack Purdum, W8TEE, and Al Peter, AC8GY. ?
Sometime later the copyright block was modified to adopt the GNU GPL v3 license which was required as the T41 software is derived from the Teensy Convolution SDR software which is covered by that license.? The current copyright block closely follows the above, with a few edits mentioning the GPL license.
?
? This comment block must appear in the load page (e.g., main() or setup()) in any source code
? that uses code presented as whole or part of the T41-EP source code. ?
? (c) Frank Dziock, DD4WH, 2020_05_8
? "TEENSY CONVOLUTION SDR" substantially modified by Jack Purdum, W8TEE, and Al Peter, AC8GY ?
? This software is made available under the GNU GPLv3 license agreement. If commercial use of this
? software is planned, we would appreciate it if the interested parties contact Jack Purdum, W8TEE, ? and Al Peter, AC8GY. ?
? Any and all other uses, written or implied, by the GPLv3 license are forbidden without written
? permission from Jack Purdum, W8TEE, and Al Peter, AC8GY. ?
I was interested in what uses were contemplated by the last clause.? That would be an interesting technical discussion, but it really doesn't matter.? The clause is invalid.? Section 7 of the GPL3 license says in part:
?
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. ?
The cleanest way to address this would be to remove the clause from the official versions of the T41 software.? Absent that, per the GPL license, any user can remove the clause from their derived version.
? |
Re: T41-2 and K9HZ Power Amplifier Measurements
Hi John-
?
I'm not sure what is in V66.9.? I was using an unpublished branch of T41EEE.9.
The branch is here:
?
?
The test is in SSB Options.? The usual adjustment encoder increases the level of the two tones.
This is experimental code!? ?At least in my radio it worked quite smoothly, however, I intend
to do more testing before release in the next version of T41EEE.
?
--
73 Greg KF5N |
Re: More T41 V12 Results
¿ªÔÆÌåÓýOh BTW the 20W drives the 100W module to 110W with 8W. ?So its overkill for the 100W PA.?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 - J68HZ Soufriere, St. Lucia W.I. Rent it: www.VillaGrandPiton.com email:??bill@... ? On Apr 25, 2025, at 11:06?PM, K9HZ <bill@...> wrote:
|
Re: More T41 V12 Results
¿ªÔÆÌåÓýThe amp itself (actually the first gain stage) is the limitation.? That was done on purpose to make the amp bullet proof (short or open the output to the antenna and things are just fine).? You CAN drive the final stage harder by increasing the feedback resistors on the OPA device.? I was more interested in longevity.? ? When you sell kits that for amateur builders, the fastest way to lose the builders focus is to design the PA (or any other part of the radio) so that its not robust to inadvertent mis-operating.? The uBITx and the sBITx falls into that category.? The final transistors on those radios pop like popcorn¡ Farhan when through several cycles of redesign to keep his PA transistors intact when the operator mis-stepped.? A lot of people were mad over that and their radios went up on the shelf after the first or second incident.? I don¡¯t design stuff like that. ? I design stuff so that the poor kid in the Caribbean that can barely afford antenna wire much less parts for his new radio if it blows up¡ doesn¡¯t experience a failure that puts his radio in the closet.? It¡¯s easy to do¡ its just that very few people do it because they want every Last watt out.? Truth is, my 20W PA is capable of about 45 watts¡ and will even operate class A (if you really want a very linear signal from it¡ just by boosting the bias).? But all of this reduces the safe operating margin.? So I under-rate and under-run the amp and keep everyone happy. ? ? Dr. William J. Schmidt - K9HZ J62K(J68HZ) 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ VP2EHZ ? Owner - Operator Big Signal Ranch ¨C K9ZC Staunton, Illinois ? Owner ¨C Operator Villa Grand Piton ¨C J68HZ Soufriere, St. Lucia W.I. Rent it: ? Moderator: North American QRO Group at Groups.IO. Moderator: Amateur Radio Builders Group at Groups.IO. ? email:? bill@... ? ? From: [email protected] <[email protected]> On Behalf Of Nate Reik N8BTR via groups.io
Sent: Friday, April 25, 2025 2:33 PM To: [email protected] Subject: Re: [SoftwareControlledHamRadio] More T41 V12 Results ? On Sat, Sep 9, 2023 at 10:01 AM, Albert Peter wrote:
What limits the current in this amplifier? Something on Bill's amp board or within the rest of the T41? ? -Nate? N8BTR? |
Re: New book
You should be able to return them for a full refund. When you reorder, make sure the ad says that the book ad says it was publish on April 16, 2025. When they ask for the reason for the return, pick the "wrong item sent' option. Jack, W8TEE
On Friday, April 25, 2025 at 10:27:28 PM EDT, John Zhong via groups.io <john138@...> wrote:
I bought two paper copies of the "Revised Edition" books from , is it possible to get an updated copy for free? -- 74 John VA6kHz On Thu, Apr 17, 2025 at 1:38?AM Greg KF5N via <greg.electricity=[email protected]> wrote:
--
Jack, W8TEE |
Re: New book
I bought two paper copies of the "Revised Edition" books from , is it possible to get an updated copy for free? -- 74 John VA6kHz On Thu, Apr 17, 2025 at 1:38?AM Greg KF5N via <greg.electricity=[email protected]> wrote:
|
t-41 V-12 now on the air
after reloading (TNX for bug fix Oliver) and recalibrating first Q is in log. 7 w SSB 20M?
unsolicited nice audio report (cheap home made mic)?
onward and upward!?
TNX to all the contributors
Tim W4YN
BTW if anyone needs 3 wire jumper from main to audio hat I have a few already made up from RC flying days.
Just PM me your address I can send in letter envelope.
?
? |
Re: Restructuring the T41 code
No question that configuring the audio state is an important function.? I've used this method before, usually for things I didn't want to convert into a library or when linker support was deficient or non-existent.
?
The code base has gotten so big that what you've done does make the code more accessible and readable and that is helpful.? But I don't see the need to treat this differently than other modules, other than it's more work to get all of the global variables handled correctly.? Your method has the advantage of not having to bother with that.? I have AudioConfig.h referenced in 8 modules. |
Re: Restructuring the T41 code
On Fri, Apr 25, 2025 at 07:26 AM, Greg KF5N wrote:
The one exceptional header file is the T41EEE's AudioSignal.h file.? This is a super-important and special header file which contains the Teensy Audio and Open Audio related code.? This header is included into the T41EEE.ino file.There isn't anything particularly special about this code.? It can be placed in its own cpp file along with a header file for the global externs and function prototypes.? That's what I've done. |
Re: Restructuring the T41 code
Yep...we're on the same page. Jack, W8TEE
On Friday, April 25, 2025 at 10:26:51 AM EDT, Greg KF5N via groups.io <greg.electricity@...> wrote:
Yes, Jack, you've got it!? There is some nuance when someone uses the term "global", and what I was trying to flush out was the "super globals" versus "local file globals".? When I see "extern" that is a pretty good hint.
So what I've been doing, and I think Oliver is doing something similar, is isolating the "local file globals" first.? So that's what I do, is to put them in the existing .cpp file, in their home turf.
At some point it makes sense to re-factor into a class.? That is when a unique new header file is added.? The "local file globals" are scooped up and dropped into that new header file.
Externs are removed from the SDT.h file, and the same goes for function declarations which can be "delisted" from the SDT.h.
?
The one exceptional header file is the T41EEE's AudioSignal.h file.? This is a super-important and special header file which contains the Teensy Audio and Open Audio related code.? This header is inserted into the T41EEE.ino file.
?
--
73 Greg KF5N
-- Jack, W8TEE |
Re: Restructuring the T41 code
Yes, Jack, you've got it!? There is some nuance when someone uses the term "global", and what I was trying to flush out was the "super globals" versus "local file globals".? When I see "extern" that is a pretty good hint.
So what I've been doing, and I think Oliver is doing something similar, is isolating the "local file globals" first.? So that's what I do, is to put them in the existing .cpp file, in their home turf.
At some point it makes sense to re-factor into a class.? That is when a unique new header file is added.? The "local file globals" are scooped up and dropped into that new header file.
Externs are removed from the SDT.h file, and the same goes for function declarations which can be "delisted" from the SDT.h.
?
The one exceptional header file is the T41EEE's AudioSignal.h file.? This is a super-important and special header file which contains the Teensy Audio and Open Audio related code.? This header is included into the T41EEE.ino file.
?
--
73 Greg KF5N |
Re: Restructuring the T41 code
Mornin' Greg: Yes, Al and I found a lot of "dead" variables when we started out. We could tell by their names that some of them were clearly used as temporary debug variables that just didn't get cleared out. We also found a bunch of "dead" functions that were never called anywhere. We tried to remove all of those, but I know some were not removed. At one time, I thought some of these might be resued later on, but ended up not being used. I just never when back to clean them out. "De-globalizing" the code is a little harder when the variable is used in multiple unrelated functions. In those cases, the variable could be defined in the ino file, but passed to the other functions (as a pointer?) as needed. That does de-clutter things, but is a pain to do. However, if you can isolate the variable to only the file that uses it, the problem is more manageable. Example: If a variable is only used in the display.cpp source file, it can be localized to that file. It sounds like that's what you've done: create a header file for each "functional" cpp file. The reason I didn't do this is because, as you pointed out, it means each cpp file has its own header file, which has the effect of doubling the number of file which is its own form of clutter, albeit it is organized clutter.? For such global variables that are only used in one cpp file, instead of placing them their own header file (e.g., display.h which ties to display.cpp), you could place those "local globals" in the cpp file, but use the static storage specifier for them. This keyword is more of an attention-gettter to the programmer than a difference in the variable's placement in memory. I say that because, if you define the variable in the display.cpp file outside of a function without the static specifier, it has global scope, but only for the file in which it is defined. If that variable is not called in any other cpp file, you won't get the "undefined" error message. The only thing the static keyword does is allow you to use that same variable name in multiple cpp files and still not generate a "multiply defined" error message. (I don't know why you'd want to do that, but you could!) The only reason I would add the static keyword in this case is to serve as a sentinel to tell other programmers that this is a "local global". Jack, W8TEE
On Thursday, April 24, 2025 at 11:26:11 PM EDT, Greg KF5N via groups.io <greg.electricity@...> wrote:
Hi Jack-
?
It's a metric of the reduction of global variables.? Note that the .ino file was also greatly de-cluttered in concert with SDT.h.
There were also a bunch of variables which only existed in the SDT.h file.? I suspect they were remnants of earlier functions, tests, and experiments which were never cleaned up.
?
It was a large clean-up job, but the result was worth it.? The code is much easier to work with and debug.? Not really different in effect than that first step you Al took to break the
SDR Convolution code from a single to multiple files.
?
--
73 Greg KF5N
-- Jack, W8TEE |