FEATURE_STEPPER_MOTOR and Variable frequency outputs (rotate_cw_freq, rotate_ccw_freq, rotate_up_freq, rotate_down_freq):
Clarified in settings files minimum and maximum values for AZ_VARIABLE_FREQ_OUTPUT_LOW, AZ_VARIABLE_FREQ_OUTPUT_HIGH, EL_VARIABLE_FREQ_OUTPUT_LOW, EL_VARIABLE_FREQ_OUTPUT_HIGH
FEATURE_STEPPER_MOTOR - added code to limit high frequency value to 2000 hertz
Big thanks to Fred, VK2WS!
DEVELOPMENT_TIMELIB - working on recoding clock and time functions to the TimeLib library, in preparation for supporting Teensy RTC
Cleaned up code and pins files to remove az_stepper_motor_direction and el_stepper_motor_direction and throw a compiler error if either are defined. (Use the rotate_* pins instead.)
Reference: b36c5a1d4c
FEATURE_SATELLITE_TRACKING - Fixed another issue with the \! not loading up the AO7-TEST default satellite (Thanks, Karl Jan Skontorp)
FEATURE_NEXTION_DISPLAY - Major improvement in Nextion display startup timing (Thanks, Adam, VK4GHZ)
FEATURE_SATELLITE_TRACKING - Fixed issue with \! command not clearing out satellit array and leaving invalid choices displayed on Nextion display
FEATURE_NEXTION_DISPLAY - Added \?NG command which prompts the rotator controller to send the gSC variable immediately to the Nextion
The satellite, sun, and moon automatic tracking algorithms have been enhanced and have new runtime settings
tracking check interval = the interval in mS the system performs a tracking calculation and decision
rotation interval = the minimum amount of time in mS between rotation initiations
degrees difference threshold = the decimal degrees difference between the current az/el and the desired az/el which must be met or exceed in order to initiate rotation
Both the rotation interval and degrees difference threshold must met in order to initiate rotation.
The rotation interval and/or degrees difference threshold can be set to 0 to disable.
New commands:
\( - show satellite, sun, and moon automatic tracking parameters
\?TSxxxx - set satellite tracking check interval (mS)
\?TUxxxx - set sun tracking check interval (mS)
\?TMxxxx - set moon tracking check interval (mS)
\?TXxxxx - set satellite rotation interval (mS)
\?TYxxxx - set sun rotation interval (mS)
\?TZxxxx - set moon rotation interval (mS)
\?TAx[.]x - set satellite degrees difference threshold
\?TBx[.]x - set sun degrees difference threshold
\?TCx[.]x - set moon degrees difference threshold
Fixed potential issue with AZ_POSITION_ROTARY_ENCODER_DEG_PER_PULSE and EL_POSITION_ROTARY_ENCODER_DEG_PER_PULSE decimal values being truncated
Updated default AO7TEST TLE
(Hopefully) Fixed heading decimal place issues (float vs. int) in FEATURE_AZ_POSITION_HH12_AS5045_SSI, FEATURE_EL_POSITION_HH12_AS5045_SSI, and FEATURE_EASYCOM_EMULATION
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