-
Notifications
You must be signed in to change notification settings - Fork 53
Release v2.5 - Add TCP and extend AP config #333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Enable the NMEA client program to forward data from the RTK NMEA TCP server to the Vespucci NMEA server. Use this on a local WiFi network. Both the RTK and the Android phone need to connect to the local WiFi network. This NMEA client program eliminates the RTK NMEA client code and validates the Android connection to the Vespucci NMEA server. Once the Android connection is working, it is easy to enable the RTK NMEA client by enabling the Mobile Hot Spot on the phone and switching the WiFi SSID and password in the RTK.
Always disconnect the MQTT client if it was connected. Prepare to allocate and free the certificateContents and keyContents buffers.
Update the NMEA client support program
Allocate and free the L-Band context buffers
Prevents the error: write(): fail on fd 48, errno: 113, "Software caused connection abort" Increase NTRIP Caster authorization timeout to 10s
Empty all of the UART2 receive data into the ring buffer before attempting to send any data over Bluetooth or log any data. This should ensure that entire messages are in the ring buffer and will be handled as such by Bluetooth and writing to the log file.
Testing: * Verified client disconnect is detected and closes ESP32 NMEA socket * Verified disabling NMEA TCP via system menu closes ESP32 NMEA socket * Verified wifiStop while NMEA client active closes ESP32 NMEA socket * Switching from Rover to Base closes ESP32 NMEA socket * Switching from Base to Rover closes ESP32 NMEA socket
Support using a phone as a WiFi hot spot. The RTK NMEA TCP client connects to the gateway IP address (the phone's WiFi hot spot) on port 1958. If an application such as Vespucci is running as a NMEA server using port 1958, then the RTK will connect to the application. Android WiFi Settings 1. Disable WiFi 2. Enable Mobile Hot Spot 3. Set the Network Name 4. Set the Network Password 5. Set the Band to 2.4 GHz 6. Enable Wi-Fi sharing - This enables users of the Hot Spot to talk to applications on the phone In Vespucci: 1. Click on the gear icon 2. Select "Advanced preferences" 3. Select "Location settings" 4. Select "GPS/GNSS source" 5. Select "NMEA from TCP server" 6. Select "NMEA network source" 7. Enter an IP address immediately followed by a colon immediately followed by 1958 8. Click on the OK button 9. Check the "Leave GPS/GNSS turned off" checkbox 10. Check the "Fallback to network location" checkbox 11. Exit the Location settings menu by clicking on the back arrow "<" symbol 12. Exit the Advanced preferences menu by clicking on the back arrow "<" symbol 13. Exit the Preferences menu by clicking on the back arrow "<" symbol On the RTK device: 1. Start the device in Rover mode 2. Enter Serial Config 3. Enter '1' to Configure the GNSS Receiver 4. Enable the NTRIP Client 5. Enter the WiFi SSID and Password 6. Set the Caster Address 7. Set the Caster Port 8. Set the Caster User Name 9. Set the Mountpoint 10. Set the Mountpoint Password 11. Exit the GNSS menu 12. Enter 's' to enter the System menu 13. Enter 'c' to enable the NMEA TCP client (connect to phone) 14. Exit the System menu 15. Exit the Main menu
Issue detected: Short log file, captured only 40 minutes when the maximum log time was set to 60 minutes. Steps to reproduce: 1. Enter the serial configuration 2. Enter 5 to enter the Logging Menu 3. If logging is disabled, enter 1 to enable logging 4. Enter 2 and then 60 to set the maximum log time to 60 minutes 5. If the maximum log length < 60 minutes then enter 3 and enter a value greater than or equal to 60 for the maximum log length to produce a single file containing all of the log data 6. Exit the serial configuration menus 7. After about 5 minutes, enter the serial configuration and disable logging 8. After about another 15 minutes, enter the serial configuration and enable logging 9. After an hour the logging should have stopped and the last log file should contain data that is about 40 minutes long, there should also be a second log file containing about 5 minutes of data. However, 15 minutes of data was not logged because logging was disabled! Previous behavior: Maximum log time computed from the time logging was first enabled either at boot or after manually enabling logging. If logging was stopped and then restarted, a new log file would be created but logging would stop when the maximum logging time was reached, including the time that logging was disabled. The data in the log files would be missing N minutes due to the logging being disabled. New behavior: Maximum log time is reset when logging is disabled. When logging is enabled again, logging would run up to the maximum log time and the subsequent log files would contain the total specified data. Once the maximum logging is reached, logging will stop. Logging can be manually disabled and enabled or the system rebooted to start logging again. If the test above is re-run, there will be two log files, the first containing about 5 minutes of data and the second containing a full 60 minutes of data.
Empty UART data into ring buffer then send data
Reset the maximum logging time when logging is disabled
This allows the AP Config of measurement rates to correct set GSV.
Implement settingsToDefaults(). Reduce large arrays on stack.
The new core settings are a blessing and a curse: many bugs discovered and fixed.
Assigning default settings was causing stack canary panic.
Remove old unused code. Webpage never reports "profileNumber".
NTRIP Server stops if 'banned' is detected.
Connection attempts is reset every time the NTRIP Server/Client is restarted. Add count to be displayed during system menu indicating the total re-connect attempts. This is better for uptime displays.
Subfix for #269
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes in this release: