SimpleSA Operator - S Manual - V2.8
SimpleSA Operator - S Manual - V2.8
SimpleSA Operator - S Manual - V2.8
Table of Contents
Introduction ....................................................... 4
Hardware Compatibility ............................................. 4
The Display ........................................................ 5
Screen Top .............................................................. 5
Bottom Line ............................................................. 6
Left Side ............................................................... 6
Right Side .............................................................. 7
Traces .................................................................. 7
The My_SA.h Header File ............................................ 8
The TFT_eSPI Library ............................................... 9
The Serial Command Handler ......................................... 9
Command Formats ........................................................ 10
The Startup Menu ....................................................... 11
The ‘START’ and ‘STOP’ Commands ........................................ 12
The ‘CENTER’ Command ................................................... 13
The ‘SPAN’ Command ..................................................... 13
The “FOCUS” Command .................................................... 13
The ‘RBW’ Command ...................................................... 14
The ‘ATTEN’ Command .................................................... 15
The ‘PAUSE’ Command .................................................... 15
The ‘TRACES’ Command ................................................... 15
The ‘PREAMP’ or ‘GAIN’ Command ......................................... 16
The ‘GRIDREF’ Command .................................................. 17
The ‘SCALE’ Command .................................................... 17
The ‘DRIVE’ Command .................................................... 17
- Page 1 -
The ‘SAVE’ and ‘RECALL’ Commands ....................................... 18
The ‘FREQ’ Command ..................................................... 19
The ‘HELP’ (or ‘?’) Command ............................................ 20
The ‘STEPS’ Command .................................................... 20
The ‘DELAY’ Command .................................................... 20
The ‘VFO’ Command ...................................................... 20
The ‘IF_FREQ’ command .................................................. 21
The ‘REGDUMP’ Command .................................................. 21
The ‘RSSI’ Command ..................................................... 22
The ‘REGISTER’ Command ................................................. 22
The ‘REF_FREQ’ Command ................................................. 23
The ‘TUNE’ Command ..................................................... 24
The ‘ACTUAL_PWR’ Command ............................................... 25
The ‘CONFIG_SAVE’ Command .............................................. 25
The Web Interface ................................................. 25
Installing the Web Interface ........................................... 25
The Web Page Proper .................................................... 27
The Touch Screen Interface ........................................ 28
Main Menu .............................................................. 29
The ‘SWEEP’ Menu ....................................................... 30
The ‘DISPLAY’ Menu ..................................................... 31
The ‘STORAGE’ Menu ..................................................... 33
The ‘OUTPUT’ Menu ...................................................... 33
The ‘SAVE/RECALL’ Menu ................................................. 33
The ‘CONFIG’ Menu ...................................................... 33
The ‘CALIBRATE’ Menu ................................................... 34
Calibration Procedure ............................................. 34
Tuning the Transmitter (LO) Si4432 Module.............................. 35
Tuning the Receiver Si4432 Module ...................................... 36
Calibrating the Input Power ............................................ 36
Update the “My_SA.h” Header File ....................................... 37
Error Handling .................................................... 38
- Page 2 -
Known Bugs & Glitches ............................................. 38
Entering Frequencies ................................................... 38
The ‘PAUSE’ Command .................................................... 39
Suggestion Box .................................................... 39
- Page 3 -
Introduction
David (M0WID) and I have been slowly but surely making many
improvements to the software for Erik Kaashoek’s (PD0EK) TinySA.
The serial command input has been made more human friendly at the
expense of making it incompatible with Erik’s original TinySA.exe
program. Once completed, the web page interface will replace that
program.
Hardware Compatibility
This software is designed to be compatible with the PCBs designed by
Glenn (VK3PE). He designed the hardware as a pair of stackable boards
with all the RF components on one board and the processor and other
components on a second board. The idea being that should someone want
to use a different processor, that could be implemented without having
to re-do the RF components.
Note that Glenn’s PCB is designed to use the TTGO T8 V1.7 ESP32 board
(shop around; you can probably find it cheaper).
- Page 4 -
The Display
Screen Top
At the top left of the screen, you see the vertical scale setting; in
this case “10dB/” division. This can be changed using either the
serial command handler or the touch screen menus.
Across the top of the screen are the signal levels and frequencies for
each of the enabled markers there are four available. These can be
turned on or off using the touch screen menus; the ability to control
them from the serial input is on the to-do list.
- Page 5 -
We suggest that you leave marker #1 always enabled as that is the only
way (for now) that you can see the numerical data for the maximum
peak.
Bottom Line
On the bottom of the screen, you can see the frequency range of the
sweep. The start, center and end frequencies are shown. Again, the
sweep range can be set in a number of ways using either the serial
command handler or the touch screen menu system.
Left Side
Following that is the receiver Si4432 preamp gain. This can be set to
automatic (uses the Si4432 AGC capability) or can be set to specific
values using either the serial command input or the touch screen
menus. If the AGC is turned on, the text will be displayed in green;
if a specific setting is selected, the test will be orange. If the
gain trace is turned on, the level can be seen on the display.
The next field is for the external gain or attenuation (“Ext”). This
is not implemented yet.
- Page 6 -
Below that is the averaging setting. Averaging can be turned on or off
and the averaging factor can only be set using the touch screen menus
for now. When turned on, the text will be displayed in the same color
that you selected for the corresponding trace (set in the My_SA.h
file).
The final thing in the list shows the number of web clients that are
connected to the device. If the USE_WIFI symbol in the My_SA.h file is
set to false, this field will not be displayed.
Oops, I forgot to mention that the top and bottom line decibel values
are also displayed in the same color as you selected for DB_COLOR in
the My_SA.h file.
Right Side
If you have the gain trace enabled, down the right side of the screen,
the decibel scale for the gain trace will be displayed in the same
color as you selected for the GAIN_COLOR in the My_SA.h file. If the
gain trace is turned off, so is the scale.
Traces
There are four traces available. The normal spectrum display is shown
in yellow in the picture above along with the preamp gain trace in
green.
- Page 7 -
The My_SA.h Header File
The My_SA.h file contains definitions of everything the user might
want (or need) to change. The things currently in this file are:
The comments in the My_SA.h file explain in detail what the allowed
settings for each of the above items are and how to decide what you
need to change.
- Page 8 -
The TFT_eSPI Library
The current version of the program relies on the “TFT_eSPI” library to
handle the ILI9341 320x240 touch screen display. The library can be
installed using the “Tools – Manage libraries…” menu in the Arduino
IDE. When the “Library Manager” window has completed loading all the
available libraries, enter “TFT_eSPI” into the search box and click
the “Install” button. At the time of this writing, the current version
was 2.2.0.
M0WID_Setup_ILI9341_TinySA.h
WA2FZW_Setup_ILI9341_TinySA.h
from the “TFT_eSPI Setup Files” folder included with this software
into the “User_Setups” directory in the main “TFT_eSPI” library
folder.
Un-comment one or the other of the above files in that list and
comment out the line that selects the default setup file. It should
look something like this when done:
//#include <User_Setup.h
#include <User_Setups/WA2FZW_Setup_ILI9341_TinySA.h>
//#include <User_Setups/M0WID_Setup_ILI9341_TinySA.h>
The only difference in the “WA2FZW” and “M0WID” custom setup files is
the setting of the SPI bus speed. The “M0WID” file has it set to 40MHz
which is the maximum allowed. If you get distorted screens, then
select the “WA2FZW’ file which has the bus speed set to 27MHz.
- Page 9 -
The serial input command handler has been completely overhauled to
make it more human friendly and to add a couple of capabilities that
weren’t available in the original software.
In Version 2.0 I eliminated all the dumb single letter commands which
in many cases had no logical relation to the function to be performed.
For example ‘A’ to set the scan ‘START’ frequency. The command handler
now uses real command words!
Command Formats
The keywords (and data) can be entered in either upper or lower case.
The command word and data elements can be separated by either commas
or spaces.
One need only enter enough of the command word to make it uniquely
recognizable amongst the list of commands. For example if one were to
enter “ST”, that could be interpreted to be the “START”, “STOP” or
“STEPS” command and the program will display the message:
'ST' Is ambiguous!
However, if one wants to set the attenuator level, one need not enter
the entire “ATTEN” command word as “A” is enough to make the command
uniquely recognizable!
- Page 10 -
The Startup Menu
When the program is started (of if you enter ‘H’ or ‘?’), you will see
a menu of the available commands and the current settings for some of
the parameters:
Sweep Settings:
Display Options:
Other Commands:
- Page 11 -
Debugging and Troubleshooting Commands:
The following sections describe each of the commands in the order that
they appear on the help list:
These commands allow you to set the low and high frequency limits of
the sweep range. The primary change from the original software is that
the way the numbers can be entered is now more consistent with how
they are entered using the touch screen menu system.
But for consistency with the touch screen menus, you can also enter
the numbers with an ‘M’ or ‘K’ (upper or lower case) to indicate
megahertz or kilohertz, for example:
If you try to set a ‘START’ frequency that is higher than the current
‘STOP’ frequency, the ‘STOP’ frequency will be adjusted to the value
of the symbol STOP_MAX (as defined in My_SA.h).
- Page 12 -
Similarly, if you specify a ‘STOP’ frequency that is lower than the
current “START’ frequency, the ‘START’ frequency will be adjusted to
the value of the symbol START_MIN (also defined in My_SA.h).
Both of these parameters can also be set using the web interface.
The ‘CENTER’ command sets the center frequency of the sweep. It also
automatically adjusts the span range to be equal to the specified
‘CENTER’ frequency. For example if you enter the command:
CENTER 100M
The ‘CENTER’ frequency will be 100MHz and so will the frequency span.
In other words, the ‘START’ frequency will be set to 50MHz and the
‘STOP’ frequency will be set to 150MHz.
The frequencies can be entered in any of the formats as used for the
‘START’ and ‘STOP’ commands.
This command is used to set the frequency range of the sweep while
maintaining the existing ‘CENTER’ frequency.
- Page 13 -
The sweep range is determined by the definition of the FOCUS_FACTOR
symbol (defined in My_SA.h). The sweep range will be set to the
‘CENTER’ frequency divided by the FOCUS_FACTOR. So, for example if the
FOCUS_FACTOR is set to 1,000 (as it is in the distributed software)
and you ask for a ‘FOCUS’ frequency of 50MHz, the sweep range will be
set to 50KHz.
You can change the sweep range using the ‘SPAN’ command while
maintaining the ‘CENTER’ frequency.
The ‘RBW’ Command sets the resolution bandwidth (RBW). If the command
is entered with no data, the current setting is displayed.
If the command is followed by a number (in KHz) the RBW will be set to
a bandwidth that is equal to or possibly slightly higher than the
requested bandwidth.
RBW = 335.5KHz
- Page 14 -
Entering the command alone will cause the software to report the
current RBW setting. If not in auto mode, the actual RBW will be
displayed, however if the unit is in auto RBW mode, that fact will be
displayed along with the actual numerical bandwidth:
The ‘ATTEN’ command sets the PE4302 attenuation. The valid range is
zero to 31dB; the maximum setting is defined by the value of the
symbol ATTEN_MAX in the My_SA.h file. If you have some other
attenuator arrangement, you can change that value to whatever is
appropriate. But note, the code will only actually set the attenuation
for the PE4302. The attenuator setting is taken into consideration in
determining the levels displayed on the sweep trace.
If the data value is out of the legal range an error message like:
This command is only available via the serial interface. When entered,
it stops scanning at the completion of the current sweep. Entering the
command a second time will cause scanning to continue.
This command allows you to turn the main sweep trace or the gain trace
on or off. The command can be entered as either:
TRACES dB
- Page 15 -
Or TRACES GAIN
Either keyword may be used to set or see the current setting of the
receiver Si4432’s preamplifier. You can’t just set any arbitrary gain
value; the Si4432 has two ranges. The low range allows values from 5dB
to 29dB in 3dB steps and the high range allows settings from 25dB to
49dB in 3dB steps.
Notice there is some overlap. We’re not going to use the two upper
settings in the low range in other words for our purposes, the low
range will be from 5dB to 23dB only.
where “nn” is the desired gain value. If “nn” is not one of the
available specific allowed values, the program will use the next lower
allowed value. For example, if you specify “39”, the actual gain will
be set to 37dB.
It’s explained (although not very well) on page 51 of the Silicon Labs
Application Note A440. Page 61 39 of the Si4432 datasheet shows a
graph of the AGC response versus the RSSI reading.
If the entry is in the legal range, the program will tell you what the
gain was actually set to:
- Page 16 -
Preamp AGC is on
This command sets the decibel value for the top line of the grid. The
command format is:
GRIDREF nn
Where “nn” is a positive or negative decibel value for the top line of
the grid. Note, there is no limit to what you can enter, but the value
should be a reasonable one!
This command sets the decibels per division value for the grid. The
command format is:
SCALE nn
Where “nn” is a positive value for the spacing between the horizontal
lines on the grid. Again, as is the case with the ‘GRIDREF’ command,
there is no limit to what you can enter, but the value should be a
reasonable one!
The ‘DRIVE’ command sets the drive (output) level for the transmitter
(LO) Si4432.
- Page 17 -
The drive level is entered as a number from '0' to '7' and the output
power will be set according to the following table (from page 39 of
the Si4432 datasheet):
If the command is entered with no data value, the response will be the
current setting, for example:
Drive: 6 (+17dBm)
If you entered a value, the response will show the new value.
If the number entered is not in the ‘0’ to ‘7’ range, an error message
like the following will be displayed:
If you are using Glenn’s (VK3PE) PCB, for example, that has a 3dB pad
between the output of the LO Si4432 and the mixer input which must be
compensated for. In that configuration, one would expect the LO drive
to be set to +17dBm to compensate for the presence of the pad.
These commands allow one to save the configuration of the current scan
setup in the flash memory. Up to five configurations (numbered 0 to 4)
can be saved and recalled.
- Page 18 -
The configurations are saved in the flash memory under the names
“Save0” through “Save4”. To save or recall a configuration, simply
enter the command and the number of the configuration you wish to save
or recall:
If you fail to enter a number for either command, you will see the
error message:
If the number specified is not in the legal range, you will see the
message like:
The ‘FREQ’ command can be used to see or set the frequency of the
receiver or transmitter Si4432 module. The one that will be set or
read will be based on the currently selected VFO (see the ‘VFO’
command description).
With either VFO selected, one can request the current frequency by
simply entering ‘FREQ’ and the result will look like:
RX frequency: 430,000,000 Hz
LO frequency: 492,000,000 Hz
- Page 19 -
I haven’t figured out how this works when the unit is in “Generator”
mode.
The ‘STEPS’ command sets the steps value which defaults to the number
of DISPLAY_POINTS (290). I don’t see that it is actually used anywhere
in the software, however.
The ‘VFO’ command can be used to see or set which Si4432 module is
currently selected. Many of the other commands available (e.g. ‘FREQ’)
are applied to one module or the other based on the selected “VFO”.
- Page 20 -
Selected VFO is: Local Oscillator (1)
If the selection is illegal (i.e., not ‘R’, ‘L’ or ‘T’), you will see
the following error message and the receiver VFO will be selected:
This command can be used to set the IF (receiver) frequency. You can
specify a particular frequency by entering the complete frequency in
any of the formats as described for the ‘START’ and ‘STOP’ commands or
you can enter a value to increment or decrement the current setting
by.
RX Reg[0x00] = 0x08
RX Reg[0x01] = 0x06
RX Reg[0x02] = 0x21
RX Reg[0x03] = 0x20
- Page 21 -
The ‘RSSI’ Command
The ‘RSSI’ command instructs the program to provide a list of the RSSI
(Receiver Signal Strength Indication) readings as the sweep
progresses. The RSSI value is the raw reading from the receiver Si4432
module.
RSSI 1
The data displayed will only be for one pass through the sweep.
RSSI C
the unit will continuously send RSSI readings to the serial output
until the ‘Q’ command is entered.
REGISTER nn nn
- Page 22 -
where “nn” represents two hexadecimal digits. The first number is the
register of interest (and must be supplied) and the second number is
an optional data value to be loaded into the specified register. If
the data field is omitted, the program will simply show the current
contents of the register; for example:
RX Reg[0x0A] = 0x06
The values may also be entered in the same format as is often used in
programming such as “0x0A”.
If you enter more than two hexadecimal digits, only the last 2 will be
honored. For example if you enter “REGISTER 123”, the command will be
applied to register 23. The same is true of the data field.
The first message is unlikely and would indicate a software bug! The
second message occurs when the ‘REGISTER’ command is entered without
specifying a register and the third message indicates that a non-
hexadecimal digit was entered (the ‘?’ will be replaced with the
actual offending character).
Note also that when the user requests data to be loaded into the
register, the value displayed is actually read back from the register.
This was not the case in previous versions of the software.
Also note that some registers are read only and others may change the
value after it is set. For more information on the behavior of each
register refer to Silicon Labs Application Note A440.
REF_FREQ nn
- Page 23 -
or REF_FREQ OFF
will be displayed.
will be displayed.
If the command is entered with no data, the program will display the
current setting.
TUNE nn
Where “nn” is a hexadecimal number between 0x00 and 0xFF (the number
may also be entered in that format).
RX capacitance: 0xnn
or TX capacitance: 0xnn
If no value is entered with the command, the program will show the
current settings.
- Page 24 -
The ‘ACTUAL_PWR’ Command
ACTUAL_PWR –nn
where “nn” is the actual input power at the unit’s input; it’s usually
as negative value in dBm, hence the minus sign.
We’ve tested the interface with Chrome, Firefox, and Android and IOS
phones.
- Page 25 -
First of all, look under the “Tools” menu in the Arduino IDE for an
item about halfway down the list named “ESP32 Sketch Data Upload”. If
that item doesn’t exist, you need to install the tool to upload data
to the ESP32 SPIFFS (Serial Peripheral Interface Flat File System)
from GitHub.
Next you have to upload the files in the “data” directory into the
SPIFFS. Make sure you don’t have the serial monitor open then go to
the “Tools” menu and select the “ESP32 Sketch Data Upload” item. The
IDE will load all the files in the data directory into the SPIFFS
automatically.
Next, edit the “MySA.h” file. There are three things you need to set
in there:
I’m not familiar with the use of the “Access Point”, so I can’t
explain how to use that option.
Set the USE_WIFI definition to ‘true’ as shown and insert your WiFi
SSID and password in the appropriate places.
If you’re not going to use the WiFi interface change the USE_WIFI
definition to ‘false’, but DO NOT comment out the SSID and password
definitions; just leave the dummy stuff in there. That will cause
compiler errors. It’s on the to-do list!
Restart the ESP32 and you should see something like this on the serial
monitor:
Connecting...
Connecting to: <your network>
Connected - IP nnn.nnn.n.nn
Connected
WebSockets started
Building Server..
Setup - WiFi access point started - browse to http:// nnn.nnn.n.nn
Connection Failed!
- Page 26 -
If the WiFi definition is not enabled in “My_SA.h”, you will see the
message:
But the rest of the program will continue to function just using the
display and serial interface.
Put the IP address into your browser (you really shouldn’t need the
“http://” in front of it) and you should get the web page:
On the right side of the window are selection boxes that you can use
to change the sweep parameters. Changes made using the serial command
handler or touch screen will show up on the web page and vice-versa.
At the bottom of the page you can turn the “dB’, “RSSI”, “gain” and
“average” traces on or off.
The one thing that’s not too obvious is the “menu” icon near the upper
right part of the screen (just to the left of “Sweep Settings” label).
By clicking on the icon, you can chose to print the graph or save it
as a “JPEG” or “PNG” picture file.
- Page 27 -
New in Version 2.8 of the software, you can use the mouse to select an
area of the graph and the program will zoom in on that segment. Here I
selected the area of the above picture from 20MHz to 40MHz:
Notice two more icons show up at the top right side of the graph. The
leftmost one doesn’t seem to do anything (a bug?) and the middle one
undoes the zoom.
As is the case with most touch screen menu systems, this one has
multiple levels.
The menu items are activated by touching the screen near the right
side. You can use your finger, but if yours are as fat as mine, a
stylus works much better!
- Page 28 -
Main Menu
SWEEP
DISPLAY
STORAGE
OUTPUT
SAVE/
RECALL
CONFIG
- Page 29 -
The ‘SWEEP’ Menu
Selecting the ‘SWEEP’ item from the main menu brings up a sub-menu
that allows you to set the sweep frequencies in various ways:
SWEEP
START
SWEEP
STOP
SWEEP
CENTER
SWEEP
SPAN
FOCUS
FREQ
MORE->
<-BACK
7 8 9
4 5 6 M
1 2 3 k
0 . < X
10000000X 10KHz
- Page 30 -
Or a frequency may be entered in Megahertz or Kilohertz using the ‘M’
and ‘k” keys, for example:
The ‘MORE->’ button brings up more choices that allow you to do the
following:
Selecting ‘DISPLAY’ from the main menu brings up a sub-menu with the
following choices:
TRACES
PREAMP
GAIN
REF
LEVEL
dB/DIV
SPUR
REDUCTION
DEFAULT
SETTINGS
<-BACK
- Page 31 -
The buttons do the following:
Selecting the ‘DEFAULT SETTINGS’ item resets all of the sweep settings
to the “factory presets” (for lack of a better explanation). Most of
these can be changed by the user by means of a set of definitions in
the My_SA.h file:
These three parameters are hard coded and can’t be changed using the
definitions in the header file:
If you understand how they are used in the software, you can change
the settings, but be careful!
- Page 32 -
The ‘STORAGE’ Menu
The choices here are to put the unit into frequency ‘GENERATOR’ mode
and to set the frequency produced on the GPIO2 pin of the transmitter
Si4432 module. This signal can be used as a calibration source for the
unit.
This menu item allows the user to ‘SAVE’ and ‘RECALL’ up to five
different sweep setups (range, RBW, etc.).
The setups are saved in flash memory and can be recalled at any time.
The names of the files are “Save0” through “Save4”.
We could allow any number of names as well as free format names via
the serial input however that’s a bit hard on the touch screen
interface which currently doesn’t include an alphanumeric keypad.
- Page 33 -
SAVE CONFIG Forces the “config” structure to be saved in the
flash memory after performing the calibration
procedure.
VERSION Like “Help – About”.
Calibration Procedure
The calibration procedure is a three step process:
The procedure can be done using either the serial command input or the
touch screen menus, but is perhaps a bit simpler using the serial
command input.
- Page 34 -
Tuning the Transmitter (LO) Si4432 Module.
If you are doing the procedure using the serial command handler, use
the ‘VFO’ command to select the transmitter (LO) Si4432. If you are
using the touch screen menus, this is not necessary.
Using the ‘REF_FREQ’ command in the serial input set the GPIO2 output
frequency to the desired value to perform the calibration. If using
the touch screen, go to the ‘OUTPUT’ menu and choose the ‘REFERENCE’
option to set the frequency.
Use the ‘TUNE’ command in the serial input to set the transmitter
module’s crystal load capacitance until the desired frequency is
obtained. If using the touch screen, select the ‘CONFIG’ menu, then
‘CALIBRATE’ then ‘TX FREQ’ and enter the desired value using the
keypad.
If using the serial input, the numbers are entered in hexadecimal. For
a number of reasons, adding a hex keypad to the touch screen software
was rather difficult, so if you are using that approach, the value is
entered as a decimal number.
The default settings are found in My_SA.h and are set to 0x64 (100
decimal). Experience has shown these to be pretty close to the
required values.
Note that even though the range of values for the load capacitance
ranges from 0x00 to 0xFF (o to 255 decimal), the high order bit
(numbers higher than 127 in decimal) is not really part of the value,
but rather some type of overdrive if you will. See the description of
register 09h on page 14 of the Silicon Labs Application Note A440 for
an explanation.
- Page 35 -
Tuning the Receiver Si4432 Module
Turn on marker #1 so you can see the numerical frequency and peak
level of the maximum peak. If using the web page, you can run your
mouse along the graph to see the maximum reading is.
Use the ‘VFO’ command to select the receiver Si4432 module if using
the serial command handler. If using the touch screen, this step is
not necessary.
Use the ‘TUNE’ command in the serial input or the ‘RX FREQ’ option in
the touch screen menu to set the receiver module’s crystal load
capacitance until the peak on the display is at the expected
frequency.
- Page 36 -
The component designations are from Glenn’s PCB and are included on
his Version 2 board.
You can connect the ‘CAL_OUTPUT’ to the input of the unit or use an
external input of known level to calibrate the power reading. Again,
make sure you have at least marker #1 enabled so you can see the
numerical data for the peak reading.
Use the serial input ‘ACTUAL_PWR’ command or the ‘ACTUAL POWER’ menu
selection (under the ‘CALIBRATE’ menu) to set the known peak power
level. That sets a calibration factor in the code that is saved in the
flash memory so whenever you restart the unit, the calibration should
be correct. You might also want to use the ‘FOCUS’ command to narrow
down the scan range and lower the ‘RBW’ when performing the
calibration.
Note that the maximum frequency that the GPIO2 pin is capable of
sending is 30MHz (you can set it from the serial input, the web page
or using the touch screen menus). But signals at higher frequencies
may be incorrect due to the characteristics of the input LPF. The
PE4302 attenuator also shows some increased loss at higher
frequencies.
In the “My_SA.h” header file are definitions of the values for the
crystal load capacitances:
You should change the values here to match what you came up with for
the crystal load capacitance values above. The values can be entered
here as either hexadecimal or decimal numbers. Those values will then
become your default values. Because of the way the configuration
values are saved it is possible that updates to new software versions
could erase your saved values if you don’t do this.
- Page 37 -
Error Handling
If a command entered via the serial command input causes some error
(usually an illegal input value), the user will be notified by means
of a message on the serial monitor (or other interface program).
If using the touch screen, error messages will be displayed on the TFT
display. Informational messages appear on a white background, warning
messages (again, usually illegal input values) are displayed on a
yellow background and fatal error messages are displayed on a red
background.
If a fatal error is encountered (so far there are none) execution will
be halted.
The parameter boxes on the web page will show errors next to the
appropriate box and some of them will also be shown on the display.
When entering frequencies using the touch screen, the keypad allows a
decimal point to be used. For example, one could set the IF frequency
by entering:
- Page 38 -
The ESP32 however doesn’t handle the floating point numbers with total
accuracy, and in this particular case, the frequency that actually
gets set is:
If you use the ‘PAUSE’ command with the web page connected, the web
page will disconnect after a few minutes and sometimes the entire unit
will lock up requiring a reboot. I haven’t had a chance to look into
this.
Suggestion Box
I welcome any suggestions for further improvements. Please feel free
to email me at WA2FZW@ARRL.net.
- Page 39 -