Source code for JackAl

The source code for JackAl is now available for download at our web site, hamradiodesigns.com. I apologize for the delay and that delay is totally on me. Al had his work done months ago. In my defense, it not easy to get 11,000+ lines of C/C++ code to play nice with each other. That said, we think the final result is worth the wait, with features we think everyone will appreciate.

Some details:

There are multiple files in the project. Only one file has a secondary file name of INO. This file contains the setup() and loop() functions and, therefore, all program control elements start in the INO file. All other files are CPP (i.e., C++) files. While this is different than some of you are used to, it brings two advantages to the party: 1) it allows for type checking across files, and 2) it allows for incremental compiles. This second feature can be a real time saver. Instead of compiling almost 400K of source code spread out over 19 files, incremental compiling causes the IDE to only compile those files that have been changed since the last compile.

Line number 4 in the JackAl.h header file contains this line:

  #define DEBUG

In setup(), you’ll see

#ifdef DEBUG

    Serial.begin(115200);

 #endif

In a few places you will also find:

#ifdef DEBUG

   Serial.print(“x = “);

   Serial.println(x);

 #endif

If you leave line 4 in the header file unchanged, the Serial object is compiled into the code which can be useful for debugging, like the Serial.print() lines above. If you comment out line 4, the Serial object is NOT compiled into your program, and all of the subsequent debug print statements are also not compiled into the program. This technique is called “scaffolding” and it allows you to “remove” debug statements without actually removing them from the code. Because you don’t have to retype your debug statements in the highly unlikely event your changes have a bug in them. This can be a real timesaver. You decide what to do with line 4.

Even if you’ve never programmed, you will eventually get tired of seeing Al’s and my names on the Splash screen. The Splash() function is in the INO file and feel free to change it to your own name and call. Note if you want to change something, you must have installed the Arduino IDE and the Teensyduino patch. Details are in manuals.

This code is Open Source, as is the hardware. This is an experimenters platform and we hope you will do just that. That said, we ask that you leave the file header comments unchanged and at the top of the file. Feel free to add whatever you wish after our comments.

There is a JackAl group now (https://groups.io/g/JackAl) and all comments, questions, and support will be done via that Forum. Please check the site from time-to-time, as we know we want to improve a number of things in the software.

Jack, W8TEE

Al, AC8GY

Reference