Code Monkey home page Code Monkey logo

adsb's Introduction

ADSB

ADSB Tools and Scripts for PIAWARE, FLIGHTAWARE, ADSBEXCHANGE, RADARBOX

GAIN_CHECK VERSION 3.2

Screenshot gain_check_v3 will help you determine the correct static gain to use for your ADSB station

script_name			= "gain_check_v3.py"
script_version		= "3.3"
script_release		= "RELEASED"
script_author		= "sxb1n9 or b1n9"
print(line_break) #-----------------------------------------------------------------------------------------------------
print("SCRIPT: ", white + script_name + nocolor)
print("VERSION:", white + script_version + space + script_release + nocolor)
print("AUTHOR: ", white + script_author  + nocolor)
print(line_break + white) #---------------------------------------------------------------------------------------------
print("GOAL:" + nocolor)
print("    * script should help you chooose a STATIC GAIN setting that maximizes receiption using more categories")
print("        * ALL MESSAGE TYPES 1-8")
print("            * you also want to maximize type 2 and type 3 messages")
print("        * DISTNACE of RECEPTION including CLOSE, NORMAL, FAR")
print("            * you want to be able to receive (CLS or CLOSE) DISTANCES & FAR_1 or FAR_2 DISTANCES at the same time")
print(line_break + white) #---------------------------------------------------------------------------------------------
print("NOTES:" + nocolor)
print("    * my (b1n9) take and maybe/hopefully an improvement of the optimize_gain.py script by (abcd567)")
print("        * https://discussions.flightaware.com/t/tweaks/20339/36")
print("    * REQUIRES PYTHON 3 for better table display")
print("    * DISTANCES are in MILES")
print("    * DISTANCES are only calculated for TYPE 2 and TYPE 3 MESSAGES with lat/lon positions")
print("    * TYPE 2 GND or SURFACE MESSAGES are counted in 2 categories if they include lat/lon and all TYPE 2")
print("    * TYPE 3 AIR or AIRBORN MESSAGES are counted in 2 categories if they include lat/lon and all TYPE 3")
print(line_break + white) #---------------------------------------------------------------------------------------------
print("RUNNING:" + nocolor)
print("    * I personally run at 5dB steps using short intervals (10s) and do a final verify with a long interval (62s)")
print("        * RUN 1: passes 5, duration 10, gain gain_setp_5")
print("        * RUN 2: passes 5, duration 62, gain gain_setp_5")
print("    * I then run using all gains in the 10-20 dB span around what the first 2 runs tell me to find the best gain")
print("        * RUN 3: passes 5, duration 10, gain gain_all_20")
print("        * RUN 4: passes 5, duration 62, gain gain_all_20")
print(line_break + red) #------------------------------------------------------------------------------------------------
print("WARNING: " + nocolor)
print("    * if script exits before the end it does not reset the original gain and you must do it manually")
print(line_break) #-----------------------------------------------------------------------------------------------------

# ----------------------------------------------------------------------------------------------------------------------
# PREREQUISITE INSTALLS 
# 	PYTHON 3				sudo apt install python3
# 	PYTHON 3 PIP			sudo apt install python3-pip
# 	BEAUTIFULTABLE			sudo pip3 install beautifultable
# ----------------------------------------------------------------------------------------------------------------------
# INSTALL / UPDATE SCRIPT 
# 	WGET SCRIPT				sudo wget https://github.com/sxb1n9/ADSB/raw/main/GAIN_CHECK/gain_check_v3.py
# ----------------------------------------------------------------------------------------------------------------------
# MODIFY SETTINGS			sudo nano gain_check_v3.py 
# ----------------------------------------------------------------------------------------------------------------------
# REQUIRED GAIN_CHECK SETTINGS DESCRIPTIONS
# 	antenna_lat				location of your antenna for distance calcs in xxx.xxx form) (use at least 3 decimal places for accuracy)
#	antenna_lon				location of your antenna for distance calcs in xxx.xxx form) (use at least 3 decimal places for accuracy)
# 	pass_duration			seconds for each gain (default 62)
# 	pass_number				number of passes to aggregrate for totals (default 5)
# 	gain_choice				variable of gains to use (gains_step_5) or list of gains seperated by space
# ----------------------------------------------------------------------------------------------------------------------
# REQUIRED DUMP1090 SETTINGS DESCRIPTIONS
# 	host 					url of dump1090 (default PIAWARE SD)
# 	port 					30003 = SBS port (default PIAWARE SD)
# 	config_file				path and filename of where gain settings are stored (default PIAWARE SD)
# 	config_setting			gain setting before the gain number
# 								(ex. "rtlsdr-gain 49.6" the config_setting is "rtlsdr-gain" no space after)
# 	config_setting_after	gain setting after the gain number
# 								(ex. "rtlsdr-gain 49.6 something" the config_setting_after is "something" no space before)
# 								(ex. "rtlsdr-gain 49.6" the config_setting_after is "")
# 	service_restart_cmd		command to restart service to apply changed gain (default PIAWARE SD)
# ----------------------------------------------------------------------------------------------------------------------
# OPTIONAL SETTINGS DESCRIPTIONS
#	distance_unit			mile or km (don't change off miles as it doesn't update categories and columns)
#	color_top_percent		5 values in same column within this percentage of the best value will also be highlighted in a different color
# ----------------------------------------------------------------------------------------------------------------------
# RUN 						sudo python3 gain_check_v3.py
# ----------------------------------------------------------------------------------------------------------------------

# ----------------------------------------------------------------------------------------------------------------------
# CHANGELOG
# 3.0
# 	initial
# 3.1
# 	fix distance min
# 	save original value or gain and restore
#	additional starting notes for users
# 	show all 8 types msg count
#		second count for ground and air with lat/lon
# 	added other configs for other setups so that it can be used anywhere
# 	choose distance unit (mile, km)
# 	cleanup and document for release to others
# 	GAIN DESCION MAKING
# 		add top gain per category
# 		add color highlight at end for each column best on the table
# 	keep aircraft distance between all passes
# 	add seconds while receiving gain info
# 3.2
# 	not detecting minimums correctly
# 	not counting distance msgs correctly
# 	updated version and screenshots
# 3.3
# 	add in 2 columns for types 2 and 3 with lat lon
# 	add in pos_ll or positions with LATLON ranking
# 	updated install instructions thanks to (abcd567)
# 	fix issue with categories if set contains no values (issue found by (gavin323))
# 	categories naming updated to be more clear
# 	update script header display
# 	update script final header display to include script_name, script_version, and script_author
# 	remove distance change from miles for now because of all hardcoded categories and columns
# 	update script documentation to be more clear
# 	update formatting to use variables instead of hardcodes
# 	add additional formating
# 	cleanup config line variable naming
# 	fix config_setting and config_setting_after to make it actually work for other than PIAWARE SD
# 	update color display to work with all colors
# 	update to display table with values within color_top_percentage of best value
# ----------------------------------------------------------------------------------------------------------------------
# ISSUES PENDING
# 	fix distance_unit doesn't change category and column ranges
# ----------------------------------------------------------------------------------------------------------------------
# POSSIBLE FUTURE IMPROVEMENTS
# 
# 	EASIER RUNNING IDEA (b1n9)
# 		argument passing so you don't need to edit file
# 		exit cleanly button combo besides cntl C
# 
# 	INCLUDE RSSI (not included on 30003) (b1n9)
# 		count < -3db signals if we can get rssi
# 		rssi sections like distance
# 		rssi min max
# 
# 	RANKING & COLORING IMPROVEMENT IDEA (b1n9)
#		best        teal    +2
#		top 5%      blue    +1
#		middle		norm	0
# 		bottom 5%   pink    -1
# 		worst       red     -2
# 		settings for ranking top and bottom percentages
# 		display gain ranking numbers 
#		display colored table and ranking at end of each pass and don't clear right away
# ----------------------------------------------------------------------------------------------------------------------

STATSV2

updates to graphs1090 and hub for multisites on piaware

NOTES

LOCATIONS

DEBUG

adsb's People

Contributors

sxb1n9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.