Skip to content

Releases: sparky8512/starlink-grpc-tools

v1.1.3

29 Oct 23:57
Compare
Choose a tag to compare

This is a small release to add a function to the core module.

Relevant changes since 1.1.2:

  • Add function get_sleep_config to the core module.

v1.1.2

05 Feb 17:16
Compare
Choose a tag to compare

This release should significantly improve robustness against future changes to the gRPC protocol advertised by the dish.

New functionality since 1.1.1:

  • Add new output script for exporting HTTP page that Prometheus can import.
  • Add ARM64 Docker image generation, making it a multi-architecture image.
  • Add support to dish_control.py for setting the sleep mode schedule, support for which was recently added to the dish firmware.

Other major changes since 1.1.1:

  • Fix dish_obstruction_map.py breakage in the Docker image due to missing pip package.
  • Limit Docker image to just the main scripts, to avoid confusion about why that other junk was there.
  • Protect against future changes in the gRPC protocol crashing the scripts due to field removal, resulting in urgent need to update the code. Now, the affected fields should just stop reporting data.

v1.1.1

09 Nov 16:11
Compare
Choose a tag to compare

This is a bug fix release.

Changes since 1.1.0:

  • Fix a crash when pulling status data introduced by latest firmware obsoleting 2 of the attributes in the grpc protocol used for the obstruction_detail mode group. That mode is pretty useless now, but it remains selectable for backwards compatibility purposes. Users of that mode group may want to look into the dish_obstruction_map.py script or related functions in the starlink_grpc module.

v1.1.0

18 Sep 02:15
Compare
Choose a tag to compare

This release added a new Python module prerequisite, so either repeat the pip command from the README file's installation instructions, or just do: pip install typing-extensions to get it.

Major changes since 1.0.2:

  • Started adding type hints to the core module (starlink_grpc). While this is probably only of interest to developers who use that module directly, it is what added the new prerequisite.
  • Added new mode group location for physical location (GPS) data. Use of this mode requires some specific configuration of the dish, see the README file for details.
  • Added new item "is_snr_above_noise_floor" to the status mode group.

v1.0.2

19 Aug 16:30
Compare
Choose a tag to compare

This release is mostly just a roll-up of small changes in order to facilitate the export of the core module package.

Changes since 1.0.1:

  • Added new script dish_control.py for (minimal) control of dish system state.
  • Minor changes around error case handling and small functionality enhancements.
  • Added packaging configuration for export of the starlink_grpc module as an installable pip package (named starlink-grpc-core) for use by other projects.

v1.0.1

04 Mar 21:20
Compare
Choose a tag to compare

Major changes since 1.0.0:

  • Add separate output script for InfluxDB 2.x servers that does not require the compatibility mode commands be run on the server
  • Improvements to the --poll-loops functionality to make it keep data better across script restart and better handle some dish connection failure cases
  • Add a JSON mode to the MQTT output script that allows for reporting a single correlated data set instead of individually publishing each data field
  • Add some systemd start script examples and better support for such in some of the output scripts

v1.0.0

09 Nov 05:28
Compare
Choose a tag to compare

First non-pre-release version.

Code changes since 0.4.0:

  • Improvements to behavior around interrupted network connectivity to the dish

Documentation changes since 0.4.0:

  • Moved a bunch of content out of the README to the project Wiki
  • Changed the Docker usage instructions to point to the image published to GitHub Packages repository by this project's Action workflow, thus changing the officially supported Docker image to that one

v0.4.0

25 Oct 21:34
833f82f
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

Another development release. Things are basically stable at this point, but I want to re-vamp the README file before declaring a 1.0 release, as it would be dumb to have to bump the version number just for that.

Major changes since 0.3.0:

  • Added -o option to poll history more frequently than stats are computed. Relevant only to the ping_* andusage mode groups.
  • Added dish direction and "prolonged" obstruction info to the status mode group.
  • Added new script dish_obstruction_map.py which emits a PNG image depicting directional obstruction data, as collected by the dish.
  • Removed usage of a number of fields in the gRPC response messages that have been obsoleted by recent dish firmware updates. This rendered useless the "snr" and "seconds_obstructed" items in the status mode group, the "snr" item in the bulk_history group, and the "obstructed and "scheduled/unscheduled" items in the ping_drop and bulk_history mode groups.

v0.3.0

16 Feb 03:46
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

Yet another development release, but interfaces should be stable at this point. Would probably have called this 1.0 if it had proper packaging.

Major changes since 0.2.0:

  • Protocol definition modules can now be loaded via reflection instead of having to generate them via protoc. This requires the yagrc Python package to be installed.
  • New raw_wedges_fraction_obstructed field in obstruction_detail group.
  • Counter state is now tracked for history stats groups, not just bulk history.
  • Dish IP and port can now be set to something other than the standard.

v0.2.0

05 Feb 04:19
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Another development release, but getting close to declaring the interfaces stable enough for a real release.

Major changes since 0.1.0:

  • Changed command line interface to combine status+history scripts: dishHistoryInflux.py, dishHistoryMqtt.py, dishHistoryStats.py, dishStatusCsv.py, dishStatusInflux.py, and dishStatusMqtt.py are replaced with dish_grpc_influx.py, dish_grpc_mqtt.py, and dish_grpc_text.py.
  • Added new script for sqlite output: dish_grpc_sqlite.py.
  • Added option for latency and usage summary stats.