Keyboard Shortcuts
Likes
Search
CW Mistakes
Evan TSW is an interesting place to go for ideas and for some interesting boards. Their Teensy daughter card for the Arduino may be a solution for retrofitting existing uBITX systems, but I need to look a bit closer to see if it solves the problem regarding not enough digital ports and the related problem of CW dits using an analog port. One potential software method to solve the dit problem without new hardware is to use existing digital ports for multiple purposes.? For instance, if we have a data and clock port for I2C, these ports could possibly be redefined at appropriate times as inputs for CW dit and dot keying and then redefined for I2C when needed to talk to a peripheral.? There are other digital ports that might be used in a similar manner.? I have not yet thought this through very well, so that may change when I have a better idea what I'm doing.? 8-) Going off in a different direction...... The use of analog voltages for CW inputs has curious voltage windows (thresholds) for dit versus dah.? Maybe just modifying the voltage thresholds for each window, or inserting a dead-zone between dit and dah windows, could be arranged to minimize misinterpretation of CW inputs?? This involves determining whether the voltage detection or timing for when the voltages are being read is related to the actual problem. Arv _._ On Sun, May 16, 2021 at 8:33 AM Evan Hand <elhandjr@...> wrote:
|
Jack and Jerry Please excuse my renaming Jack to John.? I cannot even blame the spell checker for that error.? It was just my fat fingers that did it.? Jack helped me with scaffolding which allowed my DEBUG routines to become "if DEBUG" so that a compile could include or not include the DEBUG parts.? Thanks Jack.? That was a big help. Like Jack said, when the hourglass of life is almost out of sand, things do get interesting! ?? Arv _._ On Sun, May 16, 2021 at 9:33 AM Arv Evans via <arvid.evans=[email protected]> wrote:
|
Hi Evan,
toggle quoted message
Show quoted text
I was sending at 18WPM. - Jerry On 2021-05-16 00:10, Evan Hand wrote:
On Sat, May 15, 2021 at 12:40 PM, jerry@... wrote:It seems that - just occasionally - when you hit the "dit" paddle,Jerry KF6VB, |
Jack (I got the name right this time!) Yes, I did not describe it very well.? Thanks for the clarification.? Arv _._ On Sun, May 16, 2021 at 9:46 AM Jack, W8TEE via <jjpurdum=[email protected]> wrote:
|
Jack, W8TEE
No problem. I just didn't want readers to try and use a simple if block for the scaffolding. As to the name, my Dad was named John and I was named Jack (not John). He was a tall man for the times (6'5") and his friends called him Jack. Things changed when I got old enough to use the phone. The names morphed to "Big Jack" and "Little Jack". Jack, W8TEE
On Sunday, May 16, 2021, 12:09:06 PM EDT, Arv Evans <arvid.evans@...> wrote:
Jack (I got the name right this time!) Yes, I did not describe it very well.? Thanks for the clarification.? Arv _._ On Sun, May 16, 2021 at 9:46 AM Jack, W8TEE via <jjpurdum=[email protected]> wrote:
--
Jack, W8TEE |
On 2021-05-16 07:33, Evan Hand wrote:
Arv,*** I have it! Running right now. The Teensy is orders of magnitude more powerful than the Nano: 600MHz clock, a floating point unit( could do DSP stuff! ) , 8 megabytes of flash, 1 megabyte of RAM, buckets & barrels of I/O, and built in Ethernet! I did have to get a new display. With the original one, the clone Raduino made unacceptable tuning ticks. Replacement with a "Hiletgo" display from Amazon cured that problem. So now I have a spare display... More about that later. Only thing is... the Teensy is a $30 processor - as opposed to the nano which costs IIRC $3. - Jerry KF6VB |
Yes, indeed! When you undefine DEBUG, that code disappears, and no longer
takes up any space. The technique is useful for other things too. When I was messing with the tuning, I enclosed each of my changes in #ifdef JERRY_TRYIT #endif That way I could search for my changes, & turn them on & off. - jerry KF6VB |
Jack, W8TEE
The Teensy is orders of magnitude more powerful than the Nano: Absolutely correct! Al and I are using it for an SDT were working on and as you can see here: we're doing a lot of stuff, but only using 13.3% of the processor's power. Not shown is that we're only using 2% of its flash. It is a beast in sheep's clothing! For those who might be interested, the Teensy LC sell for $12 and has 27 I/O pins, 62K of flash, 8K SRAM and is clock at 48mHz (3x the Nano). Still, for $20 you can buy the 4.0 which is several orders of magnitude better than the Nano or the LC. (). Jack, W8TEE
On Sunday, May 16, 2021, 12:18:15 PM EDT, jerry@... <jerry@...> wrote:
On 2021-05-16 07:33, Evan Hand wrote: > Arv, > Here is a link to a company that produces the hardware and software to > replace the v6 Raduino with one that is designed for the Teensy 4.1. > > *** I have it!? Running right now.? The Teensy is orders of magnitude more powerful than the Nano:? 600MHz clock, a floating point unit( could do DSP stuff! ) , 8 megabytes of flash, 1 megabyte of RAM, buckets & barrels of I/O, and built in Ethernet! ? I did have to get a new display.? With the original one, the clone Raduino made unacceptable tuning ticks.? Replacement with a "Hiletgo" display from Amazon cured that problem.? So now I have a spare display... More about that later. ? Only thing is... the Teensy is a $30 processor - as opposed to the nano which costs IIRC $3. ? ? ? ? ? ? ? ? ? ? ? - Jerry KF6VB -- Jack, W8TEE |
After reviewing the CW mode selection and looking at the circuitry, it might be worthwhile for someone to replace the 10K and 4.7K resistors with a 15K potentiometer so that the threshold voltage ratio? between DIT and DAH could be adjusted.? This would be a very simple way to determine if the voltage windows for DIT and DAH are related to the occasional DIT coming out as DIT..DAH instead of just a DIT. From the assembly manual: The keyer line is an analog line with a 10K drop resistor
from 5 volts. Adding a 10K and a 4.7K resistor in series with the left
and right paddle will allow us to sense dot and dash as different
voltages on the analog pins. Arv _._ On Sun, May 16, 2021 at 9:52 AM Arv Evans via <arvid.evans=[email protected]> wrote:
|
Each analog read takes 0.1 ms, and we have 60ms between transitions when
toggle quoted message
Show quoted text
sending at 20wpm.? Arv's notion of eading that analog input till two readings agree seems a reasonable software solution for existing rigs. For new builds on a budget, I like the looks of the RPi-Pico. Not as powerful as a Teensy, but I don't think I need a Teensy on my uBitx. Using #ifdef's is a great way to create one body of code that works on the various uBitx versions. That's a good part of how something like the linux kernel runs efficiently on such a huge variety of machines. Jerry, KE7ER On Sun, May 16, 2021 at 08:51 AM, Arv Evans wrote:
|
Wow! Does this run in the uBITX? Are you using the floating point unit
toggle quoted message
Show quoted text
for the DSP? - Jerry KF6VB On 2021-05-16 09:33, Jack, W8TEE via groups.io wrote:
_The Teensy is orders of magnitude more powerful than the Nano: _ |
Jerry Does the new Teensy daughter board for the Raduino still use the resistive voltage divider to detect whether the CW paddle closure is DIT or DAH?? If that is true, then it might seem that the problem may be more related to timing than to voltage thresholds.? If that is true, then moving the routine that reads the ADC might be something to look into.? Just repositioning the ADC read call in original Arduino code might be all that is needed for those who are stuck with version 3, 4, 5, or 6 Arduino and the original Raduino.? Since the original goal of BITX designs was to make a rig that those with limited funds could use to get on the air, it would be great if this DIT versus DIT..DAH problem could be fixed with just a simple change in software. Arv _._ On 2021-05-16 07:33, Evan Hand wrote: |
¿ªÔÆÌåÓýArv,I¡¯ll answer this. ?TSW has never used an analog voltage divider for our CW routines. ?The dot and dash paddle inputs are on two of the teensy¡¯s digital inputs. ?There is no timing problem with the keyer whatsoever and it performs nicely from a few WPM to well over 50 WPM. ? Way back on the V3 uBITX we used the A6 and A7 NANO inputs for separate dot and dash connections, throwing out the voltage divider completely. ?We were chastised by many people early on because they claimed A7 was supposed to be a ¡°spare¡±. ?We ignored them and used A7 for the dash input anyway. ?Our keyer worked right from the beginning. Jim, W0EB On May 16, 2021, at 11:54 AM, Arv Evans <arvid.evans@...> wrote:
|
¿ªÔÆÌåÓýArv, Jerry was complaining about the CW on the original factory Raduino, not TSW¡¯s Teensy 4.1 card which he now has running.Jim On May 16, 2021, at 11:54 AM, Arv Evans <arvid.evans@...> wrote:
|
All,
So with the TSW card working on my uBITXv6, I now have a spare Raduino & display. And a new project to work on. Got a little tiny 100W linear on Ebay, and also a switchable LPF card. I'd like to build these into a cabinet the same size as the uBITX, so I'd have a pair of twins. I think I'll use the spare Raduino card to control the linear. Truly, it doesn't need much "controlling", just a select for the bandpass filter, and TX/RX. But having two matching boxes, each with a display, will look really cool :). I found out that if I plug the bare Raduino into usb, it runs! The display lights up, all the buttons appear. And I can modify that code with the Arduino IDE. So I copied the code base to a new directory, and started going through it & changing stuff. To start with, I deleted everything related to "frequency", VFOs and the SI5351. Also deleted the CW keyer, but not the morse output routines. Maybe my linear will have a little speaker, and it will annunciate band changes with audible CW. I left the CAT stuff in for now, just deleted unused variables so it would compile. Also, since this is my project now, I'm going through the code and reformatting to my own standards. Specifically, I deTest CamelCase! Also "K&R" style indenting. I grew up in the age of Pascal, and long ago settled on that style. My dislike for camel case is because it is not "audible" in my head. It's hard to remember whether it was tryUsbConnection() or tryUSBConnection(). And this remembering is important. When variable names are very regular, one can code away without constantly bopping back & forth to look at them. So for me - try_usb_connection(). So I got my stripped code to compile, and it's running on the Raduino sitting on my desk, just plugged into the USB. Will probably also delete all the encoder stuff. My tiny linear doesn't need an encoder. So far, my Nano is using 55% of the program memory and 36% of the RAM. - Jerry KF6VB |
Jack, W8TEE
Yes, we do use floating point in some of the DSP routines. We also lowered the clock to 500mHz to see the impact on core temperature. It does make a difference on core temp, but the speed change is not even noticeable to performance. Whatever you're using now you'll likely throw rocks at it if you switch to a Teensy. Also, the libraries Paul has done for the Teensy family are virtually bulletproof. Jack, W8TEE
On Sunday, May 16, 2021, 12:48:03 PM EDT, jerry@... <jerry@...> wrote:
Wow!? Does this run in the uBITX?? Are you using the floating point unit for the DSP? ? ? ? ? ? ? ? ? - Jerry KF6VB On 2021-05-16 09:33, Jack, W8TEE via groups.io wrote: > _The Teensy is orders of magnitude more powerful than the Nano: _ > > Absolutely correct! Al and I are using it for an SDT were working on > and as you can see here: > > we're doing a lot of stuff, but only using 13.3% of the processor's > power. Not shown is that we're only using 2% of its flash. It is a > beast in sheep's clothing! > > For those who might be interested, the Teensy LC sell for $12 and has > 27 I/O pins, 62K of flash, 8K SRAM and is clock at 48mHz (3x the > Nano). Still, for $20 you can buy the 4.0 which is several orders of > magnitude better than the Nano or the LC. > (). > > Jack, W8TEE > >? On Sunday, May 16, 2021, 12:18:15 PM EDT, jerry@... > <jerry@...> wrote: > > On 2021-05-16 07:33, Evan Hand wrote: >> Arv, >> Here is a link to a company that produces the hardware and software > to >> replace the v6 Raduino with one that is designed for the Teensy 4.1. >> >> > > *** I have it!? Running right now.? The Teensy is orders of magnitude > more powerful than the Nano:? 600MHz clock, a floating point unit( > could > do DSP stuff! ) , 8 megabytes of flash, 1 megabyte of RAM, buckets & > barrels of I/O, and built in Ethernet! > >? I did have to get a new display.? With the original one, the clone > Raduino made unacceptable tuning ticks.? Replacement with a "Hiletgo" > display from > Amazon cured that problem.? So now I have a spare display... More > about > that later. > >? Only thing is... the Teensy is a $30 processor - as opposed to the > nano which costs IIRC $3. > >? ? ? ? ? ? ? ? ? ? ? - Jerry KF6VB > > -- > Jack, W8TEE > > > Links: > ------ > [1] /g/BITX20/message/88407 > [2] /mt/82850528/243852 > [3] /g/BITX20/post > [4] /g/BITX20/editsub/243852 > [5] /g/BITX20/leave/10189903/243852/952924773/xyzzy -- Jack, W8TEE |
Jack, W8TEE
Aw, Jerry: You're gonna hate my code! I do use camel notation and most of the K&R style conventions. Al (AC8GY) has convinced me on using underscores, but I only do this for symbolic constants because I cap them (e.g., DITPORT is now DIT_PORT). I find camel notation good for everything else. Another convention I use (and wish everyone did) is to place a comment for all library #includes that use a non-standard library which contains the download URL: #include <TFT_eSPI.h>??????????????? // That would make life easier for a lot of us. Another convention I find useful is to cap the first letter of any function I write and is part of the project's source code. Because almost all libraries use lowercase for the first letter of their class methods, I can tell from looking at the first letter if the function is something I wrote outside of a class. We could go on for hours about style and which is better. The answer, however, is simple: The best style is what you use! End of story... Jack, W8TEE
On Sunday, May 16, 2021, 1:28:29 PM EDT, jerry@... <jerry@...> wrote:
All, ? ? So with the TSW card working on my uBITXv6, I now have a spare Raduino & display.? And a new project to work on. ? ? Got a little tiny 100W linear on Ebay, and also a switchable LPF card. I'd like to build these into a cabinet the same size as the uBITX, so I'd have a pair of twins. ? ? I think I'll use the spare Raduino card to control the linear.? Truly, it doesn't need much "controlling", just a select for the bandpass filter, and TX/RX.? But having two matching boxes, each with a display, will look really cool :). ? I found out that if I plug the bare Raduino into usb, it runs!? The display lights up, all the buttons appear.? And I can modify that code with the Arduino IDE. ? So I copied the code base to a new directory, and started going through it & changing stuff.? To start with, I deleted everything related to "frequency", VFOs and the SI5351.? Also deleted the CW keyer, but not the morse output routines.? Maybe my linear will have a little speaker, and it will annunciate band changes with audible CW.? I left the CAT stuff in for now, just deleted unused variables so it would compile. ? Also, since this is my project now, I'm going through the code and reformatting to my own standards.? Specifically, I deTest CamelCase!? Also "K&R" style indenting.? I grew up in the age of Pascal, and long ago settled on that style.? My dislike for camel case is because it is not "audible" in my head.? It's hard to remember whether it was tryUsbConnection() or tryUSBConnection().? And this remembering is important.? When variable names are very regular, one can code away without constantly bopping back & forth to look at them.? So for me - try_usb_connection(). ? So I got my stripped code to compile, and it's running on the Raduino sitting on my desk, just plugged into the USB.? Will probably also delete all the encoder stuff.? My tiny linear doesn't need an encoder.? So far, my Nano is using 55% of the program memory and 36% of the RAM. ? ? ? ? ? ? ? - Jerry KF6VB -- Jack, W8TEE |
Jim Good.? That is why I asked the question.? We are in a bit of a quandary here.? The uBITX is supposed to be minimal enough to be an inexpensive entry to Ham Radio, yet at the same time it is supposed to be fully operational for all the modes that it supports.? One could claim that because it is entry level, it does not need to support fast CW, but that sort of defeats its purpose.? Jerry's use of a faster Teensy CPU seems to indicate that the CW stutter problem may be fixable in several ways, including software, hardware, and using a faster CPU.? I think we made some progress this morning.? Now to do some testing and then decide which of the possibilities might be best, least expensive, most reliable, and so on. Eventually I would like to see a Teensy as the basis for a new Raduino. With its speed, memory, and ports it should be possible for a Teensy based? Raduino to do some very impressive things.? Fast software can replace a lot of hardware. Thanks for the information. Arv _._ On Sun, May 16, 2021 at 11:21 AM Jim Sheldon <w0eb@...> wrote:
|