FEATURE_AUTOPARK & FEATURE_PARK - raise an error at compile time if FEATURE_AUTOPARK is enabled without FEATURE_PARK rather than silently including FEATURE_PARK
DEBUG_SATELLITE_TRACKING_CALC - fixed compiler error
FEATURE_NEXTION_DISPLAY
Added new bit value to gVS (various statuses): configuration_dirty 65536
FEATURE_AUTOPARK
Cleaned up some code for the \Y command that may have had a bug
Settings Files
setting ANALOG_AZ_FULL_CCW renamed to ANALOG_AZ_FULL_CCW_EEPROM_INITIALIZE
setting ANALOG_AZ_FULL_CW renamed to ANALOG_AZ_FULL_CW_EEPROM_INITIALIZE
setting ANALOG_EL_0_DEGREES renamed to ANALOG_EL_FULL_DOWN_EEPROM_INITIALIZE
setting ANALOG_EL_MAX_ELEVATION renamed to ANALOG_EL_FULL_UP_EEPROM_INITIALIZE
Added additional comments for clarification
FEATURE_NEXTION_DISPLAY
Fixed conflicts between moon, sun, and satellite API variables and issues with gMSS variable
Overlap functionality can now be disabled by commenting out define ANALOG_AZ_OVERLAP_DEGREES in settings file
Setting AZIMUTH_STARTING_POINT_DEFAULT renamed to AZIMUTH_STARTING_POINT_EEPROM_INITIALIZE
Setting AZIMUTH_ROTATION_CAPABILITY_DEFAULT renamed to AZIMUTH_ROTATION_CAPABILITY_EEPROM_INITIALIZE
FEATURE_NEXTION_DISPLAY & FEATURE_PARK
Added vPA and vPE API variables for park azimuth and elevation settings
Added vAT API variable for autopark time setting in minutes
FEATURE_NEXTION_DISPLAY
Added transient user messaging capability for vSS1 and vSS2 via request_transient_message() call
\PA or \PE command from Nextion pushes output to vSS1 in transient message
Now updating software version date based on UTC date, not Eastern US date. G'day, mates! :-)
FEATURE_PARK
The park azimuth and elevation is now stored in the EEPROM configuration
Settings PARK_AZIMUTH and PARK_ELEVATION have been deprecated
The \P command has been enhanced:
\PA[x][x][x] - set the park azimuth
\PE[x][x][x] - set the park elevation
\PA or \PE (no parameter) - report current park azimuth and elevation
\P still initiates park
FEATURE_NEXTION_DISPLAY & FEATURE_SATELLITE_TRACKING
Changing the current satellite on the Nextion display no longer echoes the command output on the control port
FEATURE_CLOCK
Fixed bug with CLOCK_DEFAULT_*_AT_BOOTUP settings not being used at boot up
\O (Oscar) command (set clock manually) will now optionally take seconds in the argument (i.e. \O202008292032 or \O20200829203255)
FEATURE_SATELLITE_TRACKING & FEATURE_CLOCK
The \O (Oscar) command (set clock manually) now resets the satellite data array so it's recalculated using the new time setting
FEATURE_NEXTION_DISPLAY & FEATURE_AUTOPARK
Added an addition bit value to API variable gVS (various statuses), autopark_active 32768
FEATURE_NEXTION_DISPLAY
Enhanced initialization routine to retry if "i'm alive" bytes are not received
Additional logging in DEBUG_NEXTION_DISPLAY_INIT
FEATURE_SATELLITE_TRACKING
Yet another significant update to service_calc_satellite_data() - next AOS and LOS calculations are now accurate within 5 seconds!
FEATURE_SATELLITE_TRACKING
Even more optimizations! It's working great!
FEATURE_NEXTION_DISPLAY
Fixed bug with gMSS API variable introduced with satellite related API variable code
FEATURE_SATELLITE_TRACKING
Significant updates to next AOS and LOS time calculations. This is some crazy code that throttles the calculation resolution back depending on the amount of time the calculation has been running.
Better handling of TLE loading at boot up and handling a corrupt TLE file
FEATURE_SATELLITE_TRACKING
Significant changes to the satellite data array updating algorithm
More debugging code everywhere
Improved AOS detection consistency
Made it Harder Better Faster Stronger
FEATURE_NEXTION_DISPLAY & FEATURE_SATELLITE_TRACKING
Added vSatNx, vSatOx, and vSatAx API variables which send a list of satellites and their next AOS time
Added NEXTION_NUMBER_OF_NEXT_SATELLITES setting. This determines how many satellites are sent via the vSatNx, vSatOx, and vSatAx API variables
https://github.com/k3ng/k3ng_rotator_controller/wiki/425-Human-Interface:-Nextion-Display for more information
The \X0 command (clear azimuth and elevation calibration / offsets) is now available without FEATURE_MOON_TRACKING and FEATURE_SUN_TRACKING enabled
FEATURE_SATELLITE_TRACKING
The \| list satellites command is now sorted by next AOS time.
FEATURE_SATELLITE_TRACKING
Removed FEATURE_SATELLITE_TRACKING_MULTI_SAT_AOS_LOS. It's all within FEATURE_SATELLITE_TRACKING now. We're not going to get satellite tracking to fit on a Nano, so no need to break out sub-features for memory saving.
Significant updates to the \| (list satellites command). It now displays current az, el, lat, long, next aos, next los, next aos max el, time to next aos, and aos status. Updating is done in the background. This is some cool $41t.
FEATURE_NEXTION_DISPLAY
Fixed bug with vSS2 API variable and Parked and Parking messages
Added OPTION_CLI_VT100 for sending VT100 escape codes. More on this later.
Elimated the need for avr/wdt.h include file
FEATURE_SATELLITE_TRACKING
Refactoring service_calc_satellite_data() to do all satellite az, el, lat, long, next AOS, and next LOS calculations.
Enhanced the satellite[] struct to contain more information. Going to have service_calc_satellite_data() populate this.
FEATURE_NEXTION_DISPLAY
Removed languages from gSC API variable and added two new bit values:
PARK 2048
AUTOPARK 4096
Create new API variable gL for language
ENGLISH 1
SPANISH 2
CZECH 4
PORTUGUESE_BRASIL 8
GERMAN 16
FRENCH 32
FEATURE_SATELLITE_TRACKING
Created FEATURE_SATELLITE_TRACKING_MULTI_SAT_AOS_LOS
Created \& command which prints out the next AOS and LOS for each satellite
FEATURE_SATELLITE_TRACKING
gSC API Variable
This is now the first variable written to the display after initialization
Added additional capability but values
ENGLISH 2048
SPANISH 4096
CZECH 8192
PORTUGUESE_BRASIL 16384
GERMAN 32768
FRENCH 65536
Language Support (rotator_language.h)
NEXTION_GPS_STRING
NEXTION_PARKING_STRING
NEXTION_PARKED_STRING
NEXTION_OVERLAP_STRING
vSS3 API variable deprecated
Parked and Overlap messages move to vSS2 API variable
Change wait time after reboot of Nextion display from 200 mS to 300 mS
FEATURE_SATELLITE_TRACKING
Fixed bug with \# load TLE command not populating satellite list array correctly (Thanks, Adam, VK4GHZ)
FEATURE_NEXTION_DISPLAY
Changed initialization so we don't wait for 200 mS doing nothing while the display initializes after we reset it
Got rid of 1 second delay at start up. There's really no need for it.
FEATURE_SATELLITE_TRACKING
Changed TLE loading routine to store carriage returns as 0xFE in eeprom and eliminated differences with systems that do carriage return
versus carriage return + line feed, however, regardless TLEs cannot be loaded with the Arduino IDE Serial Monitor
as it strips multi-line pasted text in the send window. Argh. You need to use PuTTY on Windows. Screen on *nix works fine.
FEATURE_SATELLITE_TRACKING
Finished \| command to list all available satellites. This will be updated later to show next AOS of each satellite.
Added vS1..vS34 API variables that contain all satellites available for tracking
\$ command will now first search for a literal match of the entered satellite name, and if no match is found, it will match on the first four characters
FEATURE_SATELLITE_TRACKING
Fixed bug with controller locking up upon boot up if previously selected satellite wasn't available in TLEs stored in eeprom
Enhanced TLE storage so unnecessary data in TLE line 1 isn't stored in eeprom, resulting in space savings and allowing more TLEs to be stored
Working on \| command to list satellites available for tracking
FEATURE_SATELLITE_TRACKING
OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING now displays "AOS in <time>" and "LOS in <time>".
New API variables:
vADF String[11] Satellite Next AOS Full Date String (YYYY-MM-DD)
vADS String[5] Satellite Next AOS Short Date String (MM-DD)
vATS String[5] Satellite Next AOS Time String (HH:MM)
vLDF String[11] Satellite Next LOS Full Date String (YYYY-MM-DD)
vLDS String[5] Satellite Next LOS Short Date String (MM-DD)
vLTS String[5] Satellite Next LOS Time String (HH:MM)
vALI String[13] Satellite AOS/LOS In String (Examples: "AOS in 1d13h","LOS in 30m12s","LOS in 5s")
There is a bug with the "AOS/LOS in time" function (satellite_aos_los_string()) that only seems to affect HUBBLE, showing negative seconds. Investigating.
FEATURE_SATELLITE_TRACKING
\% command now calculates max elevation for each pass
FEATURE_NEXTION_DISPLAY
vConResult API variable no longer has response code in results from extended backslash commands
FEATURE_SATELLITE_TRACKING
\% command - print upcoming passes for current satellite
\~ command now shows upcoming pass AOS and LOS
\^1 activate satellite tracking command now pre-rotates to satellite next AOS az and el
Added OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING - LCD display one line that alternates current satellite az/el, AOS date/time, and AOS az/le
Settings TRACKING_ACTIVE_CHAR and TRACKING_INACTIVE_CHAR deprecated
New settings
OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING_TIME_MS 5000
LCD_DISPLAY_SATELLITE_VISIBLE_NOT_TRACKED_CHAR "~"
LCD_DISPLAY_SATELLITE_VISIBLE_TRACKED_CHAR "*"
LCD_DISPLAY_SATELLITE_NOT_VISIBLE_TRACKED_CHAR "."
LCD_DISPLAY_MOON_TRACKING_ACTIVE_CHAR "*"
LCD_DISPLAY_MOON_TRACKING_INACTIVE_CHAR "-"
LCD_DISPLAY_SUN_TRACKING_ACTIVE_CHAR "*"
LCD_DISPLAY_SUN_TRACKING_INACTIVE_CHAR "-"
Added nasabare.txt bare TLE file to Github in tle/ directory
FEATURE_NEXTION_DISPLAY
New API variables:
gGF Integer GPS fix age in mS
vSAT String[16] Current Satellite Name
vTAS String[6] Satellite Azimuth String
vTES String[6] Satellite Elevation String
vTLA String[7] Satellite Latitude String
vTLO String[7] Satellite Longitude String
gMSS has been expanded to include satellite functionality:
gMSS Integer, Bit Mapped Moon, Sun, and Satellite Status
Bit Values
satellite_tracking_active 16
satellite_visible 32
gSC now has a bit mapping for FEATURE_SATELLITE_TRACKING:
gSC Integer, Bit Mapped System Capabilities
Bit Values
SATELLITE 1024
More work on FEATURE_SATELLITE_TRACKING
Added LCD support
Command \! - erase satellite TLE file area in eeprom
Command \@ - print satellite TLE file area from eeprom
Command \octothorpe - load satellite Keplarian elements file into eeprom (copy and paste bare TLE)
Command \$xxxxxxx - change current satellite (xxxxxx = satellite name in stored TLE file)
Added OPTION_DISPLAY_SATELLITE_TRACKING_CONTINUOUSLY to LCD functionality
OPTION_DISPLAY_MOON_OR_SUN_TRACKING_CONDITIONAL changed to OPTION_DISPLAY_MOON_OR_SUN_OR_SAT_TRACKING_CONDITIONAL
Setting LCD_MOON_OR_SUN_TRACKING_CONDITIONAL_ROW changed to LCD_MOON_OR_SUN_OR_SAT_TRACKING_CONDITIONAL_ROW
Under construction documentation https://github.com/k3ng/k3ng_rotator_controller/wiki/707-Satellite-Tracking
After pulling my hair out for two days, I rewrote the satellite tracking to use the P13 library from Mark VandeWettering
\^ command to activate and deactive satellite tracking
\~ command to view satellite tracking status
Lots more work on FEATURE_SATELLITE_TRACKING. It's only outputting AO-7 in debug logs right now.
Pushing to Github in case I get hit by a bus before I finish this.
FEATURE_NEXTION_DISPLAY
Added NOT_PROVISIONED state to gCS Clock Status API variable
Added gX and gY API variables for heading Cartesian coordinates, for future use to drive combined azimuth and elevation gauges
Added DEBUG_PROCESSES
Removed several instances where update_time() was being called unnecessarily. update_time() was consuming about 21% CPU time, now down to about 12%
FEATURE_NEXTION_DISPLAY
Fixed updating of vMAS, vMES, vSAS, and vSES API variables
Fixed degree symbol in vSS1 API variable
Add variable gDP (Integer) - Number of decimal places used in various heading variables (set by DISPLAY_DECIMAL_PLACES)