directTDoA screenshot
	
	Download directTDoA 2.44 here
  

   This website is just an alternative way to get the directTDoA GUI project running on your computer
   Please consider the git repo available here instead: 
   
   https://github.com/llinkz/directTDoA
   
   
   
   
   If you want to install directTDoA via the website, read carefully the instructions below
  
  _____  __  __  _____    ____   _____  _______         _   _  _______ 
 |_   _||  \/  ||  __ \  / __ \ |  __ \|__   __| /\    | \ | ||__   __|
   | |  | \  / || |__) || |  | || |__) |  | |   /  \   |  \| |   | |   
   | |  | |\/| ||  ___/ | |  | ||  _  /   | |  / /\ \  | . ` |   | |   
  _| |_ | |  | || |     | |__| || | \ \   | | / ____ \ | |\  |   | |   
 |_____||_|  |_||_|      \____/ |_|  \_\  |_|/_/    \_\|_| \_|   |_|   
                                                                       
																	   
  
  0/ This GUI code work fine with "66070bd" TDoA commit only
	https://github.com/hcab14/TDoA/tree/66070bd651aea720d9ef8682803b77c677304b23
	read the how to retrieve this specific repository from the comments below (HOW TO INSTALL)
  
  1/ The python GUI + Octave 4.4.0 processing works on Windows 10 (Christoph has succeed)
     The python GUI works on Win7 but not the Octave processing yet on my test computers ... in progress
	 On Linux or MacOS it works all fine  ... (thanks to Nicolas M. for the MacOS tests !)
  
  2/ USE PYTHON-2.x : IT WILL NOT WORK ON PYTHON-3.x
  
  3/ EXTRACT THE .zip in TDoA/kiwiclient and run directTDoA.py from there 
	(TDoA dir created by git)
	Choose YES to overwrite kiwirecorder.py (it's a modified version)
	>>>> Watch for your directTDoA.cfg file, will be overwrite by the zip-included one (default) <<<<
	>>>> You will loose your settings if you don't have a backup <<<<

  4/ The TDoA preview is quickly displayed BUT the TDoA .pdf file creation process still running and it takes more time to complete!
	  
	  
###############################################################################################################################################
#                                                                                                                                             #
# This piece of software is JUST a GUI written for Python 2.7 designed to compute TDoA maps with GPS enabled KiwiSDR servers around the world #
# It uses the EXCELLENT work of Christoph Mayer @ https://github.com/hcab14/TDoA                                                              #
#    + his forked "kiwiclient" python scripts (original code by Dmitry Janushkevich @ https://github.com/dev-zzo/kiwiclient)                  #
#                                                                                                                                             #
###############################################################################################################################################


#  ####### LICENSE #######
#
# This python GUI code has been written and released under the "do what the f$ck you want with it" license
# This program should work fine on Windows10, Linux and MacOS


#  ####### WARNING #######
#
# This code may contain some silly procedures and dumb algorithms as I'm not a python guru, but it almost works so...
# This GUI may freeze sometimes, check the python console for errors
# Sometimes you choose 3 or more nodes but if one isn't responding, you'll get only 2 IQ wavs and the Octave process will fail
# If UPDATE process fails, a copy of the server DB is available under the name "directTDoA_server_list.db.bak"


# ####### CHANGE LOG #######
#
# v1.00-1.50 : first working version, basic, static map, manual host adding, hardcoded coordinates, manual octave code run etc...
# v2.00 : current work, update & dynamic maps full of GPS enabled nodes, auto octave code run, easier to use
# v2.10beta : adding differents maps that can be choosed by the user, early work on SNR and tiny waterfall for nodes
# v2.20: adding favorite/blacklist node management, popup menu when clicking a node gives: add for TDoA proc + Open KiwiSDR in browser
# v2.30: adding node color change + warning if TDoA map boundaries are not set + final pop-up at the end of process with most likely coords
# v2.31: bugfix on checkfilesize process
# v2.32: adding a restart GUI button
# v2.33: adding MacOS X compatibility, thx Nicolas M.
# v2.40: known points (world capitals) listing is now a file, format is 'name,lat,lon' - easier for you to add yours :-)
# v2.41: update process modified due to missing tags for some nodes in kiwisdr.com/public page
# v2.42: forgot some conditions for MacOS compatibility oops thanks Nicolas M. again :-)
# v2.43: auto create the directTDoA_server_list.db file at 1st start, file does not need to be in the repo anymore
# v2.44: code cleanup + adding a warning about missing GPS timestamps in IQ recordings + removing ugly maps + adding new kickass NASA maps


# ####### TODO LIST #######
#
# adding a list of known MIL/GOV/MARITIME/AERO/DIPLO/... TX site locations beside the list of World cities
# dealing with nodes that forwards a xx° yy' zz.z'' GEO format (gnss_pos retrieving)
# work harder on recorded IQ BW change possibility, the center frequency moves but the IQ bandwidth stays at 10kHz apparently
# adding a pop-up at the end of process to give possibility to display the png, the pdf, the generated .m to be edited and re-processed w/o 1 or 2 nodes and if we want to restart the GUI like it does at this time (v2.20)
# adding already defined TDoA map boundaries list like Europe, NorthAm, Asia, Russia, Middle-East, Africa etc....
# adding already defined sets of selected nodes list (the ones you mostly always use for DF'ing stuff)
# invert LON & LAT in all the 'most likely point' coordinates references
# adding some buttons in the final popup so we can display that 'most likely point' in wikimapia, google maps, bing maps, geohack ..
# saving the 'most likely point' coordinates references as text in TDoA dir then into IQ/... backup/archive directory
# saving the png & pdf in IQ/... backup/archive directory
# try to set the user map boundaries to respect equirectangular World view for better map view
# modifying the update process to use John's new json serverlist format + adding the GPS fixes/minute info in each node point


# ####### HOW TO INSTALL #######
#
# 1/ Requirements
#
# > install python 2.x (if you not have it already in your linux, check "python --version"
# NOTE: python 2.x needs to have 2 importants modules installed, read the last part of this page
#
# > install python 2.x modules : "numpy" & "pillow" 
# for debian/ubuntu : "sudo apt-get install python-pil python-numpy"
# for archlinux     : "pacman -S python2-pillow python2-numpy"
# for windows       : "python -m pip install numpy PIL"
#
# > install GNU Octave
#
# > install git
#
# Get the "66070bd" repository from Christoph Mayer's git page
# > log as user and type "git clone --recursive https://github.com/hcab14/TDoA.git" then "git reset --hard 66070bd" in a linux terminal
# Thanks to Daniel Ekmann for the tip :-)

# 2/ Setup for your machine
#
# > run octave (GUI) on your machine
#
# For GNU Octave version < 4.4.0 : install "signal" : "pkg install -forge signal"
# Note: on some GNU Octave versions the compilation fails and this message should appear : "dependency on control >= 2.4"
# That indicates that you'll need to update "control" for your Octave version, type "pkg install -forge control" to upgrade
# If an error about compiling "control" appear, you may need to install "gcc-fortran" on your linux machine
# After control & signal installed correctly retry "pkg load signal" in Octave command window to activate it
#
# Now you need to compile read_kiwi_iq_wav.cc from Christoph's repository
# browse to TDoA/kiwiclient/ in Octave GUI 
# Compile read_kiwi_iq_wav.cc by typing "mkoctfile read_kiwi_iq_wav.cc" in Octave command window

# 3/ The use
#
# Now you should be able to test the TDoA processing using the included DCF77 example
# > browse to the git-created "TDoA/" directory in Octave (top-left directory trees)
# run the example by typing in the Octave command window : "[tdoa,input]=proc_tdoa_DCF77;"
# wait until the processing is finished and check TDoA/png and TDoA/pdf directories
# You'll find the TDoA map results (.png & .pdf)
#
# You can also run the TDoA process from the linux console: 
# > log as user, cd to git-created "/TDoA" dir and type "octave-cli proc_tdoa_DCF77.m"



Enjoy

linkz
June 2018