Commit Graph

228 Commits

Author SHA1 Message Date
Anthony Good
fb3a23e9f0 2020.08.26.02
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
2020-08-26 13:08:48 -04:00
Anthony Good
40f9f57b80 2020.08.25.02
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
2020-08-25 23:20:09 -04:00
Anthony Good
6842f98d8b 2020.08.25.01
DEBUG_SATELLITE_ARRAY_ORDER - additional debugging code
2020-08-25 10:08:27 -04:00
Anthony Good
55f3be43dd 2020.08.24.02
DEBUG_LOOP - additional code for various new subroutines
2020-08-24 22:56:02 -04:00
Anthony Good
3ae6de3b29 2020.08.24.01
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
2020-08-24 20:36:30 -04:00
Anthony Good
3c7513ddf8 2020.08.23.01
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.
2020-08-23 21:29:25 -04:00
Anthony Good
2e3dd204ed 2020.08.20.01
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.
2020-08-20 20:39:38 -04:00
Anthony Good
1a8e2be355 2020.08.19.01
FEATURE_NEXTION_DISPLAY
          Fixed bugs with gSC and gL API variables.  I picked the wrong week to quit sniffing glue.
2020-08-19 08:00:04 -04:00
Anthony Good
8980264cbc 2020.08.18.01
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.
2020-08-18 20:32:33 -04:00
Anthony Good
68b56e3c5e 2020.08.17.01
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
2020-08-17 22:00:23 -04:00
Anthony Good
307c95767a 2020.08.15.01
FEATURE_SATELLITE_TRACKING
          The \% command (print current satellite AOS and LOS times) now runs asynchronously in the background
2020-08-15 08:37:44 -04:00
Anthony Good
db84b47013 2020.08.13.01
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
2020-08-13 22:07:22 -04:00
Anthony Good
3621a2302c 2020.08.10.02
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.
2020-08-10 22:42:06 -04:00
Anthony Good
36b036a7b6 2020.08.10.01
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.
2020-08-10 17:30:47 -04:00
Anthony Good
e45d0b2c4e 2020.08.09.01
FEATURE_SATELLITE_TRACKING
          Fixed bug with vS1..vS34 API variables (Thanks,Adam, VK4GHZ)
2020-08-09 08:17:59 -04:00
Anthony Good
f10104ca90 2020.08.08.01
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
2020-08-08 08:52:12 -04:00
Anthony Good
9670b6dedd 2020.08.03.01
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
2020-08-04 08:36:11 -04:00
Anthony Good
b3554aa5f9 2020.07.31.01
Fixed bug introduced in 2020.07.27.01 with moon, sun, and satellite tracking deactivation not stopping rotation
2020-07-31 19:44:37 -04:00
Anthony Good
2601d0d422 2020.07.30.01
Changed \?GC and \?GT and other coordinate and grid related commands to not require GPS, clock, or moon/sun tracking features.
2020-07-30 18:04:03 -04:00
Anthony Good
5c39694c0f 2020.07.28.01
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.
2020-07-28 23:35:14 -04:00
Anthony Good
cf2c6e7286 2020.07.27.01
Fixed issue with race condition when changing moon, sun, and satellite tracking modes
2020-07-27 23:49:08 -04:00
Anthony Good
c94f42e3df 2020.07.26.02
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
2020-07-27 14:45:03 -04:00
Anthony Good
78c586ac61 2020.07.26.01
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
2020-07-26 11:58:40 -04:00
Anthony Good
0988d8a82f 2020.07.25.03
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
2020-07-25 22:14:42 -04:00
Anthony Good
1374ac4ff1 2020.07.25.02
FEATURE_NEXTION_DISPLAY: Added vConResult string API variable which returns the results of backslash commands from the Nextion display
2020-07-25 21:41:01 -04:00
Anthony Good
c61e51afec 2020.07.25.01
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
2020-07-25 20:58:35 -04:00
Anthony Good
9cdc072cc3 2020.07.24.01
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
2020-07-24 21:24:34 -04:00
Anthony Good
0a4113031b 2020.07.23.01
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.
2020-07-23 22:45:10 -04:00
Anthony Good
bdf7559bf5 added Plan13 library for FEATURE_SATELLITE_TRACKING (under development) 2020-07-22 19:35:05 -04:00
Anthony Good
f15b13e2a7 2020.07.22.01
Developing FEATURE_SATELLITE_TRACKING.  Yea.
      FEATURE_NEXTION_DISPLAY: call service_nextion_display() right after rebooting display at start up
2020-07-22 19:24:44 -04:00
Anthony Good
7e7a8b9553 2020.07.21.01
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
2020-07-21 18:27:05 -04:00
Anthony Good
f680db1bfa 2020.07.19.02
FEATURE_NEXTION_DISPLAY
        Changed updating of gMSS API variable to reflect moon and sun visibility without tracking activated
2020-07-19 12:57:21 -04:00
Anthony Good
8ff1aa844a 2020.07.19.01
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%
2020-07-19 10:01:18 -04:00
Anthony Good
3c1d592ffd 2020.07.18.02
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)
2020-07-18 22:44:02 -04:00
Anthony Good
6f3d191f58 2020.07.18.01
Added extended backslash commands
        \?CGxxxx[xx]        - convert grid to coordinates
        \?RG                - read grid square
        \?CCxxxxx yyyyy     - convert coordinates to grid xxxxx = latitude, yyyyy = longitude
        \?BCxxxxx yyyyy     - calculate bearing to coordinate target xxxxx = latitude, yyyyy = longitude
        \?BGxxxx[xx]        - calculate bearing to grid target
        \?GCxxxxx yyyyy     - go to coordinate target xxxxx = latitude, yyyyy = longitude (rotate azimuth)
        \?GTxxxx[xx]        - go to grid target (rotate azimuth)
      Added function maidenhead_to_coordinates(grid,latitude_degrees, longitude_degrees) from Adam VK4GHZ code contribution
      Added function calculate_target_bearing(source_latitude, source_longitude, target_latitude, target_longitude) from Adam VK4GHZ code contribution
2020-07-18 15:00:13 -04:00
Anthony Good
d34316ffa9 2020.07.17.02
DISPLAY_DEGREES_STRING is now broken out into LCD_DISPLAY_DEGREES_STRING and NEXTION_DISPLAY_DEGREES_STRING in settings files
      Yaesu Help (H command) updated to include missing commands (Thanks, Adam VK4GHZ )
2020-07-17 19:54:04 -04:00
Anthony Good
54fc97c7ef 2020.07.17.01
Merged Pull Request 71 - Update rotator_dependencies.h, fixing issue: device was unresponsive when using LSM303D sensor with FEATURE_AZ_POSITION_POLOLU_LSM303 ( https://github.com/k3ng/k3ng_rotator_controller/pull/71/ ) (Thanks, 7x2uv)
2020-07-17 17:32:38 -04:00
Anthony Good
b9518b9a96
Merge pull request #71 from 7x2uv/patch-1
Update rotator_dependencies.h
2020-07-17 14:36:09 -04:00
Anthony Good
f934f3dc60
Merge branch 'master' into patch-1 2020-07-17 14:35:53 -04:00
Anthony Good
2925c3a885 2020.07.01.02
Added FEATURE_ADC_RESOLUTION12 contributed by Adam VK4GHZ
2020-07-01 21:15:43 -04:00
Anthony Good
f499a38000 2020.07.01.01
Fixed \I and \J commands when used with no argument so they return current values of azimuth starting point and azimuth rotation capability
      Added CONFIG_DIRTY and CONFIG_NOT_DIRTY flags to periodic debug logging
      Made resetting of Nextion display upon Arduino boot up more reliable
      Bug OPTION_CLOCK_ALWAYS_HAVE_HOUR_LEADING_ZERO and Nextion display (Thanks, Adam VK4GHZ )
      Fixed bug with FEATURE_SUN_TRACKING and FEATURE_MOON_TRACKING and Nextion display API variable gMSS (Thanks, Adam VK4GHZ )
2020-07-01 18:15:39 -04:00
Anthony Good
0528223277 2020.06.26.02
In rotator_hardware.h, got rid of serial port class definitions for the GPS, GPS mirror, and remote serial ports, and have one define CONTROL_PORT_SERIAL_PORT_CLASS for the control port (usually the Serial port)
      Arduino Leonardo, Micro, and Yún users will need to change CONTROL_PORT_SERIAL_PORT_CLASS in rotator_hardware.h if not using the Serial port as the control port
      Changed and reorganize serial port mappins in rotator_settings*.h files
2020-06-26 08:52:00 -04:00
Anthony Good
8f65f1b97f 2020.06.26.01
Removed errant HEADING_MULTIPLIER from PARK settings in settings files (Thanks, Adam VK4GHZ )
2020-06-26 08:05:17 -04:00
Anthony Good
34cbe44bcb 2020.06.20.01
Refactoring of read_azimuth()
      In settings files deprecated ROTATE_PIN_INACTIVE_VALUE and ROTATE_PIN_ACTIVE_VALUE; replaced with ROTATE_PIN_AZ_INACTIVE_VALUE, ROTATE_PIN_AZ_ACTIVE_VALUE, ROTATE_PIN_EL_INACTIVE_VALUE, ROTATE_PIN_EL_ACTIVE_VALUE
2020-06-20 08:06:18 -04:00
Anthony Good
7219a69bae 2020.06.13.02
FEATURE_EASYCOM_EMULATION: Deprecated OPTION_EASYCOM_AZ_QUERY_COMMAND and OPTION_EASYCOM_EL_QUERY_COMMAND.  AZ and EL commands without parameters are standard in Easycom 2 protocol, so no need to have as an OPTION
      Changed some elevation variables I missed in 2020.06.12.03 from int to float
      Updated submit_request() for float heading datatypes
      Updated azimuth and elevation readings for float datatypes
      LCD_DECIMAL_PLACES setting has been renamed DISPLAY_DECIMAL_PLACES as it also applies to the Nextion display unit and API
      FEATURE_DCU_1_EMULATION: Rewrote to comply with published command specification.  AI1 and ; commands now implemented
2020-06-13 12:16:12 -04:00
Anthony Good
c73c559312 2020.06.13.01
More work on \A azimuth calibration command and proper modification of azimuth_starting_point and azimuth_offset.  I think I got it right now.
2020-06-13 09:44:08 -04:00
Anthony Good
1c4ef06e1c fixed type in rotator_hardware.h 2020-06-12 11:46:30 -04:00
Anthony Good
7aeaf3274b 2020.06.12.03
azimuth, raw_azimuth, and elevation variables changed from int to float datatypes
      Eliminated HEADING_MULTIPLIER, LCD_HEADING_MULTIPLIER settings related to azimuth, raw_azimuth, and elevation variables being int datatypes
      Eliminated FEATURE_ONE_DECIMAL_PLACE_HEADINGS and FEATURE_TWO_DECIMAL_PLACE_HEADINGS
      LCD_DECIMAL_PLACES now is only setting need to change number of decimal places displayed
2020-06-12 11:41:42 -04:00
Anthony Good
704e1ed46f 2020.06.12.02
Typo fix on \X0 command
2020-06-12 11:39:24 -04:00
Anthony Good
d363a7c0e4 Merge branch 'master' of https://github.com/k3ng/k3ng_rotator_controller 2020-06-12 10:24:57 -04:00