Dies ist eine alte Version des Dokuments!
StormForce XR - Installation und Konfiguration unter CentOS 7.x
Hardware
Boltec LD-250
Die Installation des Blitzdedectors LD-250 gestaltet sich relativ einfach. Es muss lediglich die Antenne (schwarzer 4-eckiger Block) an geeigneter Stelle montiert und die richtige Seite gen Norden ausgerichtet werden.
Zum Verbinden der Antenne mit dem LD-250 nimmt man am besten ein abgeschirmtes Netzwerkkabel und nicht da der Lieferung beiligendem ungeschirmten Kabels.
Die RS232-Schnittstelle des LD-250 verbindet man dann mit zugehörigen Port unseres Servers. Zu guter Letzt wird dann das Netzteil mit den LD-250 verbunden.
USB/RS.232-Adapter
Die Verbindung zwischen dem Boltec LD-250 und dem Server erfolgt mittels eines freien Anschlusses des 4-port USB/UART-Adapter DIGITUS USB 2.0 zu 4xRS232 Kabel.
Mit Hilfe der installierten usbutiuls können Details zum USB_Adapter abgefragt werden.
Bei Bedarf installieren wir uns also besagtes RPM-Paket.
# yum install usbutils
Den Inhalt des Paketes können wir uns wie folgt anzeigen lassen.
# rpm -qil usbutils
Name : usbutils Version : 007 Release : 5.el7 Architecture: x86_64 Install Date: Sun 08 Jan 2017 12:03:27 PM CET Group : Applications/System Size : 187281 License : GPLv2+ Signature : RSA/SHA256, Wed 25 Nov 2015 05:02:14 PM CET, Key ID 24c6a8a7f4a80eb5 Source RPM : usbutils-007-5.el7.src.rpm Build Date : Fri 20 Nov 2015 09:48:55 AM CET Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://www.linux-usb.org/ Summary : Linux USB utilities Description : This package contains utilities for inspecting devices connected to a USB bus. /usr/bin/lsusb /usr/bin/lsusb.py /usr/bin/usb-devices /usr/bin/usbhid-dump /usr/share/doc/usbutils-007 /usr/share/doc/usbutils-007/AUTHORS /usr/share/doc/usbutils-007/COPYING /usr/share/doc/usbutils-007/ChangeLog /usr/share/doc/usbutils-007/NEWS /usr/share/doc/usbutils-007/README /usr/share/man/man1/usb-devices.1.gz /usr/share/man/man8/lsusb.8.gz /usr/share/man/man8/usbhid-dump.8.gz /usr/share/pkgconfig/usbutils.pc
Der Aufruf von lsusb zeigt uns neben den anderen USB-Devices auch unseren 4-Port Adapter.
# lsusb
Bus 001 Device 003: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 0627:0001 Adomax Technology Co., Ltd Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Eine ähnliche aussagekräftige Detailanzeige können wir uns mit dem Befehl usb-devices anzeigen lassen.
# usb-devices
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0403 ProdID=6011 Rev=08.00 S: Manufacturer=FTDI S: Product=FT4232H Device S: SerialNumber=FTZ9JWTW C: #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=200mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
Damit der Adapter auch verwendet werden kann, benötigen wir noch die libftdi-Bibliotheken, welche wir nun noch installieren werden.
# yum install libftdi
Auch hier können wir bei Interesse, den Inhalt des RPM-Paketes anzeigen lassen.
# rpm -qil libftdi
Name : libftdi Version : 1.1 Release : 4.el7 Architecture: x86_64 Install Date: Sun 08 Jan 2017 11:55:10 AM CET Group : System Environment/Libraries Size : 96091 License : LGPLv2 Signature : RSA/SHA256, Tue 07 Oct 2014 10:19:03 PM CEST, Key ID 6a2faea2352c64e5 Source RPM : libftdi-1.1-4.el7.src.rpm Build Date : Mon 06 Oct 2014 09:17:24 PM CEST Build Host : buildvm-24.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.intra2net.com/de/produkte/opensource/ftdi/ Summary : Library to program and control the FTDI USB controller Description : A library (using libusb) to talk to FTDI's FT2232C, FT232BM and FT245BM type chips including the popular bitbang mode. /lib/udev/rules.d/69-libftdi.rules /usr/lib64/libftdi1.so.2 /usr/lib64/libftdi1.so.2.1.0 /usr/share/doc/libftdi-1.1 /usr/share/doc/libftdi-1.1/AUTHORS /usr/share/doc/libftdi-1.1/COPYING.LIB /usr/share/doc/libftdi-1.1/ChangeLog /usr/share/doc/libftdi-1.1/README
Damit später der Nutzer unter dem die Anwendung Stormforce-XR auch auf dieses Device zugreifen kann, passen wir noch gleich die Berechtigung auf diese Geräte-Datei an.
# chown weather:dialout /dev/ttyUSB0
Stormforce
Download
Zunächst erstellen wir uns unser Paketverzeichnis, sofern dies noch nicht existiert.
# mkdir /usr/local/src/packages
Dann nächstes holen wir uns die aktuelle Stormforce von der Projektseite bei https://sourceforge.net.
# cd /usr/local/src/packages wget http://stormforce.googlecode.com/files/stormforce-0.5.4.tar.bz2
Software
Download
Nun können wir das heruntergeladene Paket in das Zielverzeichnis /usr/local/src/ entpacken.
# tar --bzip2 -xvf stormforce-0.5.4.tar.bz2 -C /usr/local/src/
stormforce/ stormforce/png/ stormforce/ttf/ stormforce/ogg/ stormforce/README stormforce/XML-README stormforce/xmldevice.py stormforce/netdevice.py stormforce/LICENSE stormforce/gpsdevice.py stormforce/stormforce.py stormforce/boltek-stormtracker/ stormforce/boltek-stormtracker/st2sf/ stormforce/boltek-stormtracker/boltek-sdk/ stormforce/boltek-stormtracker/boltek-sdk/Documentation stormforce/boltek-stormtracker/boltek-sdk/libboltek/ stormforce/boltek-stormtracker/boltek-sdk/driver/ stormforce/boltek-stormtracker/boltek-sdk/driver/boltek.c stormforce/boltek-stormtracker/boltek-sdk/driver/Makefile stormforce/boltek-stormtracker/boltek-sdk/driver/77-boltek.rules stormforce/boltek-stormtracker/boltek-sdk/libboltek/Makefile stormforce/boltek-stormtracker/boltek-sdk/libboltek/demo.c stormforce/boltek-stormtracker/boltek-sdk/libboltek/libboltek.c stormforce/boltek-stormtracker/boltek-sdk/libboltek/stormpci.h stormforce/boltek-stormtracker/st2sf/stormpci.h stormforce/boltek-stormtracker/st2sf/st2sf.c stormforce/boltek-stormtracker/st2sf/Makefile stormforce/boltek-stormtracker/st2sf/libboltek.c stormforce/boltek-stormtracker/st2sf/LICENSE stormforce/boltek-stormtracker/st2sf/README stormforce/ogg/kde_click3.ogg stormforce/ogg/kde_digital2.ogg stormforce/ogg/kde_error2.ogg stormforce/ttf/micron55.ttf stormforce/ttf/aldo.ttf stormforce/ttf/7linedigital.ttf stormforce/ttf/lcd1.ttf stormforce/ttf/lcd2.ttf stormforce/png/blank.png
Für die spätere einfache Versionierung ändern wir den stormforce-Pfad auf /usr/local/src/stormforce-0.5.4 ab.
# mv /usr/local/src/stormforce /usr/local/src/stormforce-0.5.4
Wir haben es dann zukünftig leichter, wenn wir mehrere Versionen zum testen parallel vorhalten wollen. Anschliessend setzen wir wieder einen symbolischen Link mit dem gewünschten Zielpfadnamen auf unser neues Verzeichnis.
# ln -s /usr/local/src/stormforce-0.5.4 /usr/local/src/stormforce
Dokumentation
Hinweise zur Installation und Konfiguration finden sich in den beiden Dateien README und XML-README.
# less /usr/local/src/stormforce/README
StormForce - Release v0.5.4 on 11/12/2008 ========================================= Link: http://code.google.com/p/stormforce/ Link: http://sourceforge.net/projects/stormforce/ For license and copyright, please see the LICENSE file. Usage ===== On the command line: - % python stormforce.py Current Features ================ 1. Plots strikes on screen as soon as they are received from the Boltek LD-250 and/or Boltek StormTracker 2. Basic storm tracking using my implementation of TRAC 3. Many variables can be changed (like the squelch, COM port, TRAC settings, etc) by altering the XML settings file 4. Ability to create a StormForce server which clients can connect to view strikes via XML/TEXT over TCP and/or UDP (multicast will be added later) 5. Plays sound when strikes occur (borrowed from KDE at the moment), sound can be disabled if needed 6. Strikes and TRAC is powered by either MySQL/SQLite 7. Ability to link to a GPS device and display information from it (will be used later for point 6 in the future features) 8. Connects to a Boltek EFM-100 and displays the field level 9. Fire external scripts when the close and/or severe alarm is triggered by the LD-250 10. Allow uploading of server mode image and TRAC report to a website for publication via the CURL binary Future Features =============== 1. Replay of strikes using the MySQL/SQLite database for analysis 2. Improve TRAC even further 3. Show current date and time in current timezone 4. Maybe I might add a service that can be exposed internet wise, hmmm... 5. Link with a GPS (either connected direct to the LD-250 or via another COM port) and rotate (skew) the strikes accordingly (will also need to move them depending on the direction you're travelling) - almost there now... 6. Have the ability to network (link) multiple LD-250 units together and create a centralised, triangulated strike map 7. Display a field graph for the EFM-100 data 8. Using the Linux driver get the Boltek StormTracker working with StormForce 9. Add multicast to reduce bandwidth when acting as a server (not sure how well this works over LAN and/or internet) 10. RSA encryption of XML protocol using public/private keys (similar to SSH) Installation ============ FreeBSD ^^^^^^^ Here are the packages I've currently got installed for StormForce to work (some of them will be used in the future): - ================================================================================================================================ Name | Download From | Directory ========================+===============================+======================================================================= ImageMagick | Ports | /usr/ports/graphics/ImageMagick curl | Ports | /usr/ports/ftp/curl mysql-server | Ports | /usr/ports/databases/mysql50-server mysql-client | Ports | /usr/ports/databases/mysql50-client py25-MySQLdb | Ports | /usr/ports/databases/py-MySQLdb py25-game | Ports | /usr/ports/devel/py-game py25-m2crypto | Ports | /usr/ports/security/py-m2crypto py25-numeric | Ports | /usr/ports/math/py-numeric py25-psyco | Ports | /usr/ports/devel/py-psyco py25-pysqlite | Ports | /usr/ports/databases/py-pysqlite23 py25-serial | Ports | /usr/ports/comms/py-serial py-wxPython28-unicode | Ports | /usr/ports/x11-toolkits/py-wxPython28-unicode python25 | Ports | /usr/ports/lang/python ================================================================================================================================ You can install them in any order, you might want to make sure the your ports collection is up-to-date. Python 2.5 is normally installed by default. Linux - (X/K)Ubuntu/Debian ^^^^^^^^^^^^^^^^^^^^^^^^^^ Enter the following commands in a terminal session (linux-headers and libc6-dev are needed if you're going to use a Boltek StormTracker): - sudo apt-get update sudo apt-get install mysql-server python-pygame python-psyco python-mysqldb python-sqlite2 python-serial imagemagick curl linux-headers libc6-dev Linux - Red Hat/CentOS/etc ^^^^^^^^^^^^^^^^^^^^^^^^^^ TO DO. Microsoft Windows ^^^^^^^^^^^^^^^^^ Install the following packages IN ORDER (later versions should be fine): - ================================================================================================================================================================================ Name | Download From ================================================+=============================================================================================================================== python-2.5.2.msi | http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi pygame-1.8.0.win32-py2.5.msi | http://www.pygame.org/ftp/pygame-1.8.0.win32-py2.5.msi Numeric-24.2.win32-py2.5.exe | http://rene.f0o.com/%7Erene/stuff/Numeric-24.2.win32-py2.5.exe pywin32-211.win32-py2.5.exe | http://downloads.sourceforge.net/pywin32/pywin32-211.win32-py2.5.exe?modtime=1212253052&big_mirror=0&filesize=5381561 pyserial-2.4.win32.exe | http://downloads.sourceforge.net/pyserial/pyserial-2.4.win32.exe?modtime=1215392805&big_mirror=0 psyco-1.6.win32-py25.exe | http://downloads.sourceforge.net/psyco/psyco-1.6.win32-py25.exe?modtime=1199710841&big_mirror=0 MySQL-python-1.2.2.win32-py2.5.exe | http://downloads.sourceforge.net/mysql-python/MySQL-python-1.2.2.win32-py2.5.exe?modtime=1173863337&big_mirror=0 M2Crypto-0.19.win32-py2.5.exe | http://chandlerproject.org/pub/Projects/MeTooCrypto/M2Crypto-0.19.win32-py2.5.exe curl-7.18.2-win32-ssl-sspi.zip | http://curl.haxx.se/download/curl-7.18.2-win32-ssl-sspi.zip ImageMagick-6.4.2-1-Q8-windows-static.exe | http://www.imagemagick.org/download/binaries/ImageMagick-6.4.2-1-Q8-windows-static.exe wxPython2.8-win32-unicode-2.8.8.0-py25.exe | http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.8.0-py25.exe ================================================================================================================================================================================ Then you'll need to add the Python directory into your environment path. Usually, "Control Panel"->"System"->"Advanced"->"Environment Variables"->"System Variables"->ADD ";C:\Python25" to the end of the PATH variable string. Notice the semi-colon, this IS required otherwise the path won't be valid. You may also need to add the path to "curl" and "convert" if they don't work. MySQL ^^^^^ All that StormForce needs is the actual database and username setup, the tables and views will be handled by the program itself. Login into MySQL as root run the following commands: - CREATE DATABASE stormforce; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP,INDEX,CREATE VIEW,SHOW VIEW ON stormforce.* TO stormforce@yourhostname IDENTIFIED BY 'password'; Then give StormForce the connection string like this (ConnectString in XML): "yourhostname/stormforce/stormforce/password" SQLite ^^^^^^ Nothing needs to be done by the user to setup the database. FAQ === Q. What are the dependencies for this program? A. Python v2.4 or greater (>= v2.5 is preferred), PyGame, pyMySQLdb (optional), pySQLite (optional), psyco (optional), pyserial, sha, socket, zlib and maybe a few more - however, they are usually installed by default. You'll (of course) need an X(org/11) server to view the screen and also for saving screenshots (limitation in PyGame?). Q. What operating systems does it support? A. I develop and test StormForce with FreeBSD 6.3/7.0 and also Kubuntu (Hardy Heron), it should work in other POSIX compliant operating systems as well other distros of Linux. I've also got StormForce working under Microsoft Windows. Q. Can I create (port) of StormForce? A. By all means! Be sure to read the LICENSE as your port will inherit the license. Q. Does this software support the Boltek StormTracker (PCI/ISA)? A. Yes, but only the PCI version under Linux. Currently this requires an additional wrapper program (wrote by me - source included) which shares the StormTracker via TCP for StormForce to use. Q. Does this software support the Boltek EFM-100? A. Yes it does! I don't actually own one of these but the manual tells me all the information I need. I've tested it using the demo on efm.lightningmaps.com:3000 (use the EFM100Port in XML option) and it works fine, let me know if it doesn't work with the real thing! Q. Hey! You've changed the strike/close/noise counters! What do they mean? A. Strikes: XXX YYYYYY ZZZ, XXX is the number of strikes this minute, YYYYYY is the number of strikes since uptime, and ZZZ is the number of out of range strikes. Close: XXX YYYYYY, XXX is the number of close strikes this minute, YYYYYY is the number of close strikes since uptime. Noise: XXX YYYYYY, XXX is the number of noise this minute, YYYYYY is the number of noise since uptime. Q. Your TRAC implementation is rubbish, can you improve it? A. It's always getting improved, once the version number of TRAC gets to v1.0.0 or greater I then consider it stable and fully functional. Q. Why does TRAC only support a map distance of 300 miles? A. Fixed in StormForce >= v0.5.0! Now supports ANY map size. Q. Why is your first release version v0.4.3? A. I've been developing StormForce since January 2008 and I didn't think it was ready for releasing on internet until then. Q. I've looked at your code and it's rubbish... A. Thanks (!), I'm fairly new to Python and PyGame so expect a few bugs! If you can provide me with any pointers I'll be grateful. Q. Where can I get some help if I get stuck with configuration of StormForce? A. Try the forums or groups with the links at the top. I'll try to help you out if I can! Q. How do create a map to make the strikes look more interesting? A. Easy, create a 600x600 PNG where the the centre is where the antenna is located. Now you need to decide the range of the map, I believe 300 miles is fine for a Boltek LD-250 otherwise use 400 miles for Boltek StormTracker. Then create the map using GIMP (or your favourite graphics app). Name the image as "map-X.png" where X is the map range (in this case it will be either 300 or 400) and place it in the "png" folder. Q. Can't I just use Google Maps/Visual Earth (NASA)/etc to create the map? A. You could but they will usually be covered by copyright, please create your own instead. Q. How do I get it create a image for uploading to my website? A. Run the program in server mode, a PNG (or whatever) will get created every 15 seconds. You can then upload it using the CURL binary via StormForce, or you can do it yourself. Q. I've found a bug! What do I do? A. Let me know on the forum so I can fix it in a future version. Q. I would like a feature that's not in StormForce... A. That's not a question, but let me know on the forum if it isn't in the future features at the top of this file! Q. How often do you do updates? A. I release them whenever I can, but I'll try to release an update at least once a month. I'm currently in a full-time job and develop StormForce in my spare time so please, be patient! Legal ===== I am in no way affiliated or in partnership with either Boltek, Google, NASA, or Microsoft. <EOF>
# less /usr/local/src/stormforce/XML-README
Starting from v0.5.3, StormForce will no longer accept any command line arguments. The reason for this is that we're running out of flags very quickly and some people aren't that keen on typing long arguments. So version v0.5.2 will allow you update to XML and solve these problems. Please note that the settings XML will be re-written every time StormForce loads - this is so it can be "upgraded". Below you'll see the list of the XML elements and attributes and there meaning. Please note that all the "*Port" attributes (e.g. LD250Port, StormTrackerPort, etc) accept either local serial or network addresses. Element Attribute Meaning ================================================================================================== Setting DemoMode Enable/disable demo mode Setting DebugMode Enable/disable debug mode Setting DatabaseEngine Database engine to use. Where 0 = None, 1 = MySQL, and 2 = SQLite Setting ConnectionString Defines a new connection string for MySQL, e.g. 'hostname/database/username/password' Setting Fullscreen Enable or disables entering into fullscreen mode after initialisation Setting LD250Port Use [COM PORT] instead of default, can also be a network address and port e.g. 'tcp://sf-server:1234', 'udp://sf-server:1234', or 'multicast://224.0.0.1:1234' for using multiple clients with one LD-250 unit Setting LD250PortCompression Specifies the compression method to use when talking to the LD-250. Where "bz2" = bzip2 and "" = None Setting LD250PortType Specifies the port type when in network mode. Where "TEXT" = text mode and "XML" = XML mode Setting LD250SkewAmount Skew the angle for the LD-250 by N degrees - useful if you can't rotate the antenna or wish to make adjustments Setting LD250SquelchLevel Set the squelch level to N after initialising the LD-250, only works when connecting using the COM port Setting StormTrackerPort Use [COM PORT] instead of default, MUST be a network address and port e.g. 'tcp://sf-server:1234', 'udp://sf-server:1234', or 'multicast://224.0.0.1:1234' for using multiple clients with one StormTracker unit Setting StormTrackerPortCompression Specifies the compression method to use when talking to the StormTracker. Where "bz2" = bzip2 and "" = None Setting StormTrackerPortType Specifies the port type when in network mode. Where "TEXT" = text mode and "XML" = XML mode Setting StormTrackerSkewAmount Skew the angle for the StormTracker by N degrees - useful if you can't rotate the antenna or wish to make adjustments Setting StormTrackerSquelchLevel Set the squelch level to N after initialising the StormTracker Setting EFM100Port Use [COM PORT] for the Boltek EFM-100 device, this is optional and is currently in development Setting EFM100PortCompression Specifies the compression method to use when talking to the EFM-100. Where "bz2" = bzip2 and "" = None Setting EFM100PortType Specifies the port type when in network mode. Where "TEXT" = text mode and "XML" = XML mode Setting GPSPort Use [COM PORT] for the GPS NMEA device, if not given the GPS features will be disabled Setting GPSPortCompression Specifies the compression method to use when talking to the GPS unit. Where "bz2" = bzip2 and "" = None Setting GPSPortType Specifies the port type when in network mode. Where "TEXT" = text mode and "XML" = XML mode Setting TRACEnabled Enable/disable TRAC Setting TRACSensitivity Number of strikes needed in a grid section to trigger TRAC, default is 10 Setting TRACStormWidth Grid area for TRAC (sectors). Use sensible values to track storms successfully - default is 30. Using a smaller value will make TRAC slower when processing due to more sectors. Setting CloseAlarmArguments Fires ARGS when the close alarm becomes active (for when you want to fire your own scripts/programs) Setting SevereAlarmArguments Fires ARGS when the severe alarm becomes active (for when you want to fire your own scripts/programs) Setting TCPListenerPort Open up TCP port N on all interfaces to allow other StormForce clients to connect, make sure you use the configure the clients correctly! Setting TCPListenerPortCompression Specifies the compression method to use when talking to clients under TCP. Where "bz2" = bzip2 and "" = None Setting UDPListenerPort Open up UDP port N on all interfaces to allow other StormForce clients to connect, make sure you use the configure the clients correctly! Setting UDPListenerPortCompression Specifies the compression method to use when talking to clients under UDP. Where "bz2" = bzip2 and "" = None Setting MulticastListenerAddress Specifies the multicast address (224.0.0.X) to use for multicasting the data Setting MulticastListenerPort Specifies the multicast port to use for multicasting the data Setting MulticastListenerPortCompression Specifies the compression method to use when multicasting. Where "bz2" = bzip2 and "" = None Setting MulticastListenerTTL Specifies the multicast TTL to use for multicasting the data Setting StrikeShape Use a different shape for drawing the strikes. Where 0 = Square, 1 = Triangle, and 2 = Circle Setting SmallCrosshair Use a small crosshair rather than the large one Setting ShowRedDotOnStrike On new strikes, show a red-dot in the centre Setting ReconstructionFile Replays the strikes from the database for the given date on screen for analysis - MAYBE REMOVED LATER Setting ShowRangeCircles Shows/hides the range circles Setting ServerModeImage Server mode, creates an image at [IMAGE FILE] every 15 seconds as well as a TRAC report (if it's enabled when needed) - make sure you have "convert" installed (from ImageMagick if not using TGA format) Setting SoundEnabled Enable/disable sound, disabling is recommended for when using StormForce in server mode and/or for extra performance Setting UseUncorrectedStrikes Enable/disable using the uncorrected strike distance rather than the corrected one Setting CurlArguments When given StormForce will upload the lightning image and TRAC report via CURL using the arguments passed. The filename to upload is a variable so just enter '%%filename%%' and it will take care of the rest. Make sure you use the "-s" option as well and ensure you specify the same filename defined in the "-s" option. For CURL options please use the man page (man curl), make sure you force it in upload mode! Setting UserCopyright User copyright string, you might want to put your copyright and website with this option. Use "\n" to go on the next line for those long strings! Setting ZoomDistance Set the zoom level (in miles) for plotting (recommended: 150, 300, or 400) - ensure you have the PNG map as well (map-N.png)!