Skip to main content

Project TouCans WiFi Straight Key spotted on the Reverse Beacon Network!

 The WiFi straight key on Project TouCans is up and running!


There were a few steps to the process. First, I realized yesterday that most of my audio delay issues with the sidetone on the Chromebook that I usually use to control Project TouCans keyer were caused by using the Linux Chrome browser  on that machine as opposed to the built-in Chrome browser. I'd originally made this choice becuase I thought running the Linux browser with the 

--disable-web-security

argument was the only way to make cross-origin resource sharing accesses from the keyer's locally served, (via file), web page, to the Pico-W. 

It turns out I was incorrect about that. by using fetch,

fetch(`http://192.168.4.1/light/skgo?msg=${cwmsg}`, { mode: 'no-cors' })
        .then(() => console.log("CW message sent successfully."))
        .catch(err => console.error("Error sending CW message:", err));

with a no-cors mode. This results in the browser issuing an error message, but the request lands at the Pico-W on TouCans, which is all I need it to do.

The second step was to realize that at some point ChatGPT had munged the (originally) very pretty and functional code it created for the keyer. I noticed that when I used newer versions of the keyer code which is virutally the same as the CW metronome code, the resulting keyer output on TouCans was garbled. That led me to build a playback feature into the metronome. Sure enough, the playback on the metronome page was also garbled. ChatGPT had stopped adding the time the key was up to the string it sent to the Pico-W.

To clarify a bit, when the operator presses down a key on the keyboard, the app records how long the key was down and stores that number in integer milliseconds in a string. The app then records the lenght of time the key is not pressed and appends that to the same string. Consequently, me tapping out CQ looks like this:

291+112+113+90+204+118+105+248+247+90+270+113+67+90+338+

where my first day lasted 291 ms, the gap was 112 ms, then my first dit lasted 113 ms, followed by 90 ms of silence, and so on.

Intstead of sending the above string, ChatGPT had munged the code so that the following was sent instead:

291+113+204+105+247...

I made a quick fix and the keyer was up and running!

The histograms were really helpful once the sidetone issues were resolved. When my dit and dah consistency looked like this, (click the image for a larger picture):

I turned up on the Reverse Beacon Network with my full callsign! I'm super-pleased, because I usually do not get spotted when I'm using the rig with a straight key. Turns out practice works :)

Their's still some quirkiness in the Pico-W code that was introduced when I tried to implement a wired straight key. The result is that I'm occasionally locked out of the Pico-W's server loop unti I reset the device. I'll be removing the wired straight key handling loop this morning to remedy that problem. 

After that, I'm hoping to get to operate as K3Y/6 for the last few days of SKCC's straight key month special event

There's even more work to be done. It turns out that different keyboards behave respond differently as CW keys. There's a whole set of characterization videos to be made if someone is so inclined. It would also be nice to set up a buffer so that the keyer app sends dits and dahs to TouCans as they're being provided as opposed to only when the send button is pressed. Also!? There's a cell phone version of all this in the works, although, I'm not sure abou the utility of doing that.

Here's a demo video of the keyer in action.
 



Comments

Popular posts from this blog

Cool Math Tricks: Deriving the Divergence, (Del or Nabla) into New (Cylindrical) Coordinate Systems

Now available as a Kindle ebook for 99 cents ! Get a spiffy ebook, and fund more physics The following is a pretty lengthy procedure, but converting the divergence, (nabla, del) operator between coordinate systems comes up pretty often. While there are tables for converting between common coordinate systems , there seem to be fewer explanations of the procedure for deriving the conversion, so here goes! What do we actually want? To convert the Cartesian nabla to the nabla for another coordinate system, say… cylindrical coordinates. What we’ll need: 1. The Cartesian Nabla: 2. A set of equations relating the Cartesian coordinates to cylindrical coordinates: 3. A set of equations relating the Cartesian basis vectors to the basis vectors of the new coordinate system: How to do it: Use the chain rule for differentiation to convert the derivatives with respect to the Cartesian variables to derivatives with respect to the cylindrical variables. The chain ...

The Alcubierre Warp Drive Tophat Function and Open Science with Sage

I transferred yesterday's Mathematica file with the Alcubierre warp drive[2] line element and space curvature calculations to the  +Sage Mathematical Software System  today, (the files been  added to the public repository [3]).  If you haven't used Sage before, it's a Python based software package that's similar in functionality to Mathematica.  Oh, and it' free.  I also worked a little more on understanding the theory, but frankly, I made far more progress with the software than the theory.  What follows will be a little more of the Alcubierre theory, plus, a cool Sage interactive demo of one of the Alcubierre functions[1], as well as a bit about my first experience with using Sage. Theory The theory is fun, but it's moving slowly.  Here's the chalk board from this morning's discussion Alcubierre setup the derivation using something called the 3+1 formalism which means we consider space to be flat, (in this case), slices that are labelled ...

How Many Files Can You Add to a GPT Project? An Interview with GPT-5 on Limits, Context Engineering Tips, and Chats

 Setting the scene: I’m tinkering with Project TouCans, knee-deep in radio logs, SQLite dumps, and Cesium code. Naturally, I’m wondering if shoving all this into one GPT Project is a recipe for brilliance… or for disaster. So I turn to Vril — you know, after Brainy from the Legion of Super-Heroes , because what else do you call your AI sidekick who always has the answers? Time to ask him straight up. [ As an aside, yes, GPT-5 has decided to sometimes call me Vail. I'm not sure why to be honest. Also, I asked Vril, er GPT-5, to write up our interview for me. Apparently, me asking it to 'Bro' up a few stories, just for fun, has convinced Vril that I use 'Like,' more than I actually might. ] Me (Vail): So Vril, how many files can I throw into a GPT Project before it just starts choking? Like, is there some magic number where the context window taps out and everything falls apart? GPT-5 (Vril): Great question. There’s no single hard file limit. What matters is ...