Here's the major features in APRSISCE6P120229.zip and APRSIS32120229.zip
About version is 2012/02/29 02:29
Application identifier incremented to APWW09 (Windows Desktop) and APWM09 (Windows Mobile)
Lots of Display features including:
Added path display capability - This is really big, see Screen / Paths / Appearance and also Wiki?
Provide auto-zoom in, out, or both - Keeps all View-enabled stations on screen. Especially useful for view / None for a centered Igate/Digi and then enable Path display - Instant effective coverage map!
CTRL-Arrows now pan the map - This will eventually become a user-specifiable default
Support Configure / Screen / Symbol Size Adjust to increase (+) or decrease (-) the size of symbols - Yes, you can now make the symbols bigger or smaller. They still automatically adjust as you zoom, but you can request a larger or smaller offset step.
Add delta times to Beacon timestamp - Makes it easier to tell at a glance how recent the report is.
Include the parsed packet path for each station in a multi-station popup menu. (Kevin W7BOZ)
Define Track Colors for use in rotation - Yes, station tracks can now be assigned multiple colors from a user-specified pallet. See Configure / Screen / Tracks / Other / Rotating…
Support altitude-based footprint circles (G6UIM) - You can now SEE the coverage footprint of altitude-supplying stations. See Configure / Screen / Label / Footprint for min and max altitude settings.
Altitude labels now include Footprint range if enabled for display - See Screen / Labels / Altitude.
A new View / Altitudes option shows those stations that are transmitting altitude - Handy for catching those evasive balloons and airplanes.
New option under Screen / Filter Circle that adds an Automatic r/ (Range) filter for the scale of the Main window's circle - Use this with caution because it WILL increase the range even if you zoom out to near planetary level.
New MultiTrack features:
Add "MultiTrack New Items" to automatically popup MultiTracks for received Item-In-Messages.
MultiTrack windows now save and restore their position, size, zoom, and View NONE status across restarts.
New option under Screen / Preferred / MultiTrack / View None - This causes new MultiTracks to display only the centered station rather than everything around the station. You can still do a View / ALL once the MultiTrack is opened.
Packet Scroller improvements:
Scrolling Station/Packet log control! - See Configure / Scroller including the ability to filter packets with APRS-IS-style filters and/or display only local RF-received packets.
New Configure / Scroller / Freeze On Click - Makes it easier to catch a station packet that you see rolling by.
New Configure / Scroller / Show Igate/Digi - Show the first upstream digi (RF received) or IGate (-IS received). APRSIS32 makes the scroller wider while APRSISCE (WinMo) replaces the displayed callsign with the digi or Igate.
Add (n) to the scrolling station/packet log if duplicates of a packet are received via APRS-IS. - This is attempting to diagnose duplicate packets received from the APRS-IS, mostly due to >30 second delays of injected packets.
Object support improved:
Remove 999 object limit (G6UIM) - Yep, if you really get carried away with objects, APRSISCE/32 can handle your needs!
Support Object Group-level Enable, Via, and Kill menu options - Makes maintaining those 100s of objects easier.
Support Object Group Path and Interval specifications
Support Compressed-format coordinates on objects (Comprs checkbox on Object configuration)
Initial support for creating MultiLine objects from accumulated Object Tracks - Create an object, move it around with the popup coordinate menu, and then convert it to a MultiLine.
Support Fixed-Position and Variable-width compressed delta MultiLine Objects, both creation and display. These are spec-extended MultiLines with more positional accuracy. They are created as above, but with the Comprs option selected before converting the track to a MultiLine.
Support "Driving" along a MultiLine object (pre) fetching tiles at the then-current zoom level. You can re-drive the MultiLine at different zooms as well. Driving is paced on the rate of map tile delivery and won't move until the current fetch queue is empty. Note that the map must stay visible for this to work (disable any screen savers or blanking if you're driving a long track).
New Port type support including:
Support D700(RO+GPS) port protocol (Receive-Only w/NMEA passthrough available)
Support D700(KISS) and Simply(KISS) port protocols.
Fixed new KWD700(KISS) port type to support Digipeating. (Colin 2E0XSD) - Not sure what I had to fix here, but it was something…
Support direct BlueTooth SPP ports - But only for the native uSoft Bluetooth stack
Support for devices sending NMEA and RF data on the same port - See GPS/NMEA checkbox on Configure / Ports
Enhanced NEMA parsing to prevent satellite display errors (G6UIM) - APRSISCE/32 now supports >12 channel GPS units.
Satellite Tracking improvements:
New Control-O Satellite objects include AOS: (invisible) and LOS: (visible) information in their comment in delta time format.
Revamp of the Satellite code to show AOS LOS and expected elevation, TLE downloads rather than hardcoded internal TLEs. You can even paste temporary TLEs directly into the Satellite Details window (still initiated by Control-O for Orbits).
Support TLEs coming from a web URL - Auto-loads at startup or on demand via Satellite Details window.
Support TLEs coming from clipboard via the "Paste TLE" on the Satellite Details window.
Satellite tracks and circles, in fact not just satellite but ANY lines.
If the old TLE set was downloaded, it will offer to view ALL of the satellites.
Primitive Destination support:
Left (normal) click station menu now includes "Set Destination" - Only provides distance and bearing, but will eventually get fancier.
Geocache information dialog now offers "Destination"! - This really needs a compass rose with distance to be really useful.
IGate improvement:
Implemented "free" position -IS to RF IGate after a remote message is gated. - Only a single next posit from the originating station is gated to local RF per message gated from -IS to RF.
More miscellany:
Warning if there is a failure in validation of IS logon
Support configuration of minimum direct distance to be called DX. For Status (G4ILO)
Support for CE 5.0 on x86 devices - Namely the WebDT 366
More power information for WinMo/CE5 - Some platforms actually provide current draw.
WinMo now transmits current draw in telemetry where A4 used to be
Fix message lines beginning with ) error G6UIM+M6AKN - APRSISCE/32 used to confuse this with an Item-In-Message packet.
Support TACTICAL-received nicknames - These are specially-formatted APRS messages addressed to TACTICAL.
Filters now support positive (+) terms. Where a single minus (-) would knock out a match, and any match would pass the filter, ALL + terms must match for a pass condition. This applies to the Control-G FilterTest as well as the Configure / Scroller / Filter.
Include telemetry definition messages (PARM/UNIT/EQNS/BITS) in the t/t filter - Not sure if the official APRS-IS t/t does this, but APRSISCE/32's internal filter implementation does!
And for even more changes, features, and fixes, pull the full release notes from the Files section of the Yahoo group. It also contains the entire ToDo list and various conversational notes for upcoming (sometime) features!
Here's the details for APRSISCE6P120229.zip and APRSIS32120229.zip
Any time an APRS-IS server responds with an "unverified" connection, an internal message is queued informing the user. Remember, APRSISCE/32 is for licensed amateur radio users only! But, for those providing a viewer at home (and a password of -1), this warning only occurs once per version upgrade.
Support CE 5.0 on x86 compatible devices. This has been tested with a WebDT 366 and works!
Support direct BlueTooth SPP ports. You no longer need to pair the device to create an outgoing COMM port. This has only been tested on the Microsoft BT stack (Win32), the Windows Mobile 6.x BT stack, and whatever stack comes with CE5.0 on a WebDT 366.
Added a GPS/NMEA checkbox to the Port Configuration dialog. If your RF port provides NMEA data as well, check this box to enable the GPS functions of APRSISCE/32. Note that passthrough data will not appear in the <YourPortName> trace log, but will be in the NMEA trace log.
(WinMo/CE5 only) Added additional power information when you double-click the battery status bar to the extreme right of the screen. The amount of information will vary based on what your hardware platform provided has built into your system.
Change Track() to Follow() in screen title and bottom of circle. Show Pan(xxxx) and Pref(xxxx) to keep visible the "centered" station.
Left click menu now shows "Center On Xxxxx" or "Return To YYYY" to hopefully be more clear.
Honor more Windows Theme colors, especially window background and window text colors. The Black theme may work better for night use of APRSIS32. (Fred KJ4LFJ)
When running with Configure / Beacon / After Transmit, APRSISCE/32 will now zoom and center on ME on startup and will revert to the last saved view after Transmit is clicked. It has always zoomed in, but wasn't centering on ME (unless you were centered on ME when you closed) which was less than helpful. (Lynn KJ4ERJ)
Sometimes a satellite in use (top bar) would paint in white instead of colorizing to reflect signal strength. The interpretation of the GPGSV sentences has been enhanced to prevent this from occurring. (Steve G6UIM)
No longer ask about retrying if the CoralCDN fails an upgrade, just do it. In development mode, it also sends an APRS message to KJ4ERJ-DB so I can track the failures.
Control arrow keys now pan the map. And other keys do other things. See http://aprsisce.wikidot.com/quick-keys for details.
Remove /999 from Configure / Objects / Create as there is no longer a 999 limit on objects (Steve G6UIM)
Better handle messages that start with ) but are not Item-In-Message (http://www.aprs.org/aprs12/item-in-msg.txt) (Steve+Liz G6UIM+M6AKN)
Add delta times to Beacon timestamp, Uptime, and APRS-IS transition (ME only) in station popup.
If a WM_HIBERNATE is ever received on WinMo, send an APRS message to KJ4ERJ-DB (Development mode only).
Define newest platform ToCall (http://www.aprs.org/aprs11/tocalls.txt) of APZTPK TrackPoint, Nick N0LP
Don't put two coordinates (Now and Last) in the station popup if they're the same, especially on WinMo.
Include the parsed packet path for each station in a multi-station popup menu. (Kevin W7BOZ)
Don't disable APRS-IS while downloading a new version (makes it awful hard to report CoralCDN failures!)
Correct Item-In-Message parser to correctly handle full-length (9 character) object names (like Monastery).
Support "Send To Xxxxx" on Object (not station (yet)) popup menu where Xxxx is the most recent station to which a Chat message was sent. The selected object will be transmitted as an Item-In-Message to suitable stations (like APRSISCE/32) or as a text message describing the object's location (similar to QRU's messages). If the sending station doesn't know where the chatting station is located, then the coordinates are sent instead of a distance and bearing. (In my initial tests, the object was 5,000+ miles away at 0,0!)
If MultiTrack is not supported (or if all MultiTracks are in use), center the main window on newly received Item-In-Messages if Configure / Messages / MultiTrack New Items is checked.
Add "MultiTrack New Items" to Configure / Messages on WinMo devices to support auto-centering on newly received Item-In-Messages.
Support Object Group-level Enable, Via, and Kill menu options. If anything is enabled, the option will be checked and selecting it will clear whatever object is checked. If the option is unchecked, the group is already cleared and selecting it will set all objects in the group. So, selecting a check will clear all, selecting a non-check will set all.
Add (but disabled for now) Object Group-level Interval and Path settings. The menu option displays the current setting of all objects in the group. Interval displays the average of enabled objects, and Path will display "*Mixed*" if they differ.
Put Lock(XXXX) instead of Follow/Pan/Pref(XXXX) if Screen / Follow / Locked is checked (Rick KD4DRA) Note that if the Follow station has a track, there will also be a line from the center of the screen back to that station while panning indicating that it will jump back there on the next position update.
Locking automatically re-centers if an XXXXX is known. Unlocked will let the screen where it is.
Corrected keyboard "L" to toggle lock in the window that has focus, not the main window.
Correct KJ4ERJ-DB debug APRS message when CoralCDN update fetch fails.
Right click now offers the options menu even if there's only a single station under the click. It used to auto-center on that station, but that made it impossible to access the other features of the right click menu like "Set Destination" and other coordinate-based stuff.
Set Destination is available only on the main window, not MultiTracks.
Left (normal) click station menu now includes "Set Destination" to set the selected station as a destination. Note tha the destination information (currently distance and bearing) will update when either ME or the destination station moves!
Expanded a few of the left (normal) click station menu options to (hopefully) be more clear. Center->Follow, Address->Lookup Address, Nickname->Configure Nickname, Lookup->WHO-IS Lookup, Message->Send Message
Corrected a not-quite-leak unplanned growth in dynamic menu construction (and you wondered what that Menus: N/M was at the bottom of the OSM Map Tiles popup…)
Some of you knew it had to be coming soon, the Geocache information dialog now offers "Destination"! Yes, you can now navigate to a cache with distance and bearing…
"Free" (passthrough) GPS updates no longer move position when GPS is disabled.
Support Configure / Screen / Symbol Size Adjust to increase (+) or decrease (-) the size of symbols (and correspondingly scaled fonts) on screen.
Support Object Group Path and Interval specifications. Whatever you enter slams ALL objects in the group! Note that if you expect to set all paths the same as the default path offered, you have to make some modification to it or the program will think it doesn't need to update the other objects. I know, it's stupid, and I'm lazy, but it's also late.
Support Configure / Screen / Tracks / Follow and Others to set number of blocks (following station) or points in line (non-following) for tracks. 0 = ALL (consider performance, please!)
Force the currently configured BT name into Device dialog even if it is not found in current enumeration.
Generate a FixType from a $GPRMC for Kenwood single-sentence NMEA passthrough
Define APQK as Earthquake data (APQxxxx wasn't picking it up).
Fix dragging issue when the right mouse button is hit. (Patrick)
Left (normal) click's Configure Object was inadvertantly tied to the "Send To XXXX" option requiring a recent chat partner. (Randy WF5X)
Remove (made non-forced) ShapeCache messages about "NOT aging out" shapes in the cache that are being referenced. I filled my phone with a 60MB .LOG file over 3 days with the recent flooding alerts.
ShapeCache:WinMain:2011-09-07T19:03:57 GetShapeObject:LAC103(01CE4EF0) Has 1 References! NOT Aging Out!
Change Line descriptions from Down/Right to Up/Left and Down/Left to Up/Right to better reflect offset from specified point.
Support D700(RO+GPS) port protocol (Receive-Only w/NMEA passthrough available)
Support D700(KISS) and Simply(KISS) port protocols.
Better handle (and Trace Log) aged port transmits dropped from non-connected port. Was seeing some serious delays in IS-Server-forwarded packets when a dual full-feed was saturating the system.
Correct "Version Still Available" reminder internal message truncation.
Sequence UDP transmissions to allow server-detected dropped packets.
Corrected Control-O display of the TLE data size and added the URL from which the data was retrieved. (Greg KO6TH)
Fixed new KWD700(KISS) port type to support Digipeating. (Colin 2E0XSD)
Add new CONVerse port type that sends MYCALL, UNPROTO … VIA, and CONV/^C commands to transmit. UNTESTED! Theoretically this port type will also accept interleaved NMEA strings as well, but expects all APRS packets to be on a single line (no line break between header and payload).
Change "Follow" popup menu option to "Follow (Center)" just to help clarity.
Remove speed limit and too quick checks from My Objects to allow quickly moving them through a sequence of points to build up a (potentially long) track.
Shuffle Object options around on station popup menu.
Initial support for creating MultiLine objects from accumulated Object Tracks. Send ?APRSO RteSquare to KJ4ERJ-DB and see the result. It's supposed to go out to the corners of the main streets, but the scale factor +44/-45 doesn't allow that precision at that distance.
Locally-created MultiLine Objects are now forced to be 2 digits of extra precision on creation to ensure that a 5 character sequence ends up on the transmission. (James)
"Shrink Track" now moves the object back to the previous point.
Clicking within the bounding box of a non-closed MultiLine Line (not Area) no longer puts the object into the popup menu. You have to click the object itself or its label.
Remove forced display of the QRU Trace Log when QRU message activity is logged. (Steve G6UIM)
Add (n) to the scrolling station/packet log if duplicates of a packet are received via APRS-IS. This shouldn't normally happen except in the event of close timing and/or multiple APRS-IS feeds into a single instance (don't ask me how).
Process ?APRS? (beacon position), ?IGATE? (transmit <IGATE capabilities), and ?WX? (transmit weather if configured) generic queries per the aprs101.pdf spec. Note: These are NOT APRS messages, but completely different packet datatypes.
Added missing ,TCPIP to 3rd party transmission header (re-read the spec…).
Implemented "free" position -IS to RF IGate after a remote message is gated. Logged to IGate trace log and shown in APRS-IS OK pane double-click as IGate: N Msg:M (P Pos). Whenever a remote -IS station's originated message is gated to a local RF station, a note is made that the remote -IS needs a position transmission. The next time a position report is heard from that remote -IS station (the APRS-IS servers will deliver one), that remote report is wrapped in a 3rd party header and gated from -IS to RF for the benefit of the message recipient.
From http://www.aprs-is.net/IGating.aspx: Passing all message packets also includes passing the sending station's position along with the message. When APRS-IS was small, we did this using historical position packets. This has become problematic as it introduces historical data on to RF. The IGate should note the station(s) it has gated messages to RF for and pass the next position packet seen for that station(s) to RF.
Define symbol names for Bob's newly defined overlays (see http://www.aprs.org/symbols/symbols-new.txt):
GATEWAYS: #&
/& = HF Gateway <= the original primary table definition
I& = Igate Generic (please use more specific overlay)
R& = Receive only IGate (do not send msgs back to RF)
T& = TX igate with path set to 1 hop only)
2& = TX igate with path set to 2 hops (not generally good idea)
PORTABLE SYMBOL: #;
/; = Portable operation (tent)
\; = Park or Picnic
F; = Field Day
I; = Islands on the air (redundant with /i)
S; = Summits on the air
W; = WOTA
Fixed precision multiline object parser's bogus trace log. This is what killed all Development APRSIS32 instances on 9/20/2011.
Support Compressed-format coordinates on objects (Comprs checkbox). This makes the object transmission less readable, but shorter.
Note: Numeric overlays are incompatible with compressed coordinates per the spec (Page 37 of aprs101.pdf says "The presence of the leading Symbol Table Identifier INSTEAD OF A DIGIT indicates that this is a compressed Position Report and not a normal lat/long report." (emphasis added)
Default to sending compressed coordinates for "Send To XXXX" Item-In-Message transmissions for size/length considerations, but only for non-numeric table/overlay symbols.
Support Fixed-Position and Variable-width compressed delta MultiLine Objects, both creation and display. Simply check the Comprs checkbox when the object is created, move it around to accumulate a track, and then convert the track to a MultiLine. There are limits, so don't get too carried away! You can convert the object then add more track and convert again which is better than accumulating a too-long track and ending up with nothing after the conversion.
Support "Driving" along a MultiLine object (pre) fetching tiles. Click a MultiLine, select My Object, and Drive MultiLine then sit back and watch. Odometer counts up and Destination counts down to each turn. Max move is the circle scale miles. It will not move until the tile fetch queue is empty.
Fixed Drive MultiLine so it doesn't move from one end of the line to the other at the begining. It will now Jump to to the start and begin driving along the line.
Fixed location of the odometer in a GPS-disabled view on the WebDT 366 (it was up under the menu bar).
Initialize Total Miles Driven at driving start instead of accumulating multiple runs.
Force DUPE-IS packets into the Packets trace log with the number of seconds and -IS port from which the duplicate was received (Rick KD4DRA) If anyone notices (n) IS dupe notifications after this upgrade, please check the Packets trace log for details and send it to ten.lrra|JRE4JK#ten.lrra|JRE4JK. Note: a full feed can expect to see several and firenet.us seems to send through more than a few. I'm really interested in those folks that are getting just a few here and there, especially if the (2) appears after the station has scrolled up the list for a bit.
Add Coral CDN failure reason (and subsequent Direct fetch if it fails) to KJ4ERJ-DB message. Anecdotal evidence suggests that maybe 10% of the Coral hits are failing, now that the user isn't bothered with the retry question, I'm OK with that number….currently anyhow.
Add ,qAC,SERVER to verified packets originated on down-stream connected clients. NOT if they already have a q-Construct (see http://www.aprs-is.net/q.aspx and http://www.aprs-is.net/qalgorithm.aspx).
Decidedly ugly packets: http://aprs.fi/?c=raw&call=JA8EFI-3&limit=25&view=normal Note the NULL character at the end…
Ok, the (n) -IS dupe detection is now a bit smarter. I found that I (stupidly) wasn't taking the toCall into account, just the source call and the payload. However, it's not Mic-E packets that are changing toCalls, but a bunch of UI-View instances! These are now logged in the Packets trace log as (Near)DUPEs, but will get their own (non-(n)) entry in the scrolling list. I'm still seeing DUPEs, though, on a full feed. They're coming in via two diffferent IGates, but everything else is the same. And I now detect a TRUE-DUPE as one that is a complete duplicate down to the entry IGate and q-Construct. My theory on the DUPEs is that two different IGates hear the packet nearly simultaneously and deliver it to different core APRS-IS servers, neither of which have yet heard the other so they both let it through. I'm suspecting that dupe detection only occurs on incoming, not inter-server, connections so the dupes then propagate throughout the APRS-IS.
Now, something you've all (well, actually a verbose minority) have been waiting for: Scrolling Station/Packet log control! You can do any/all of the following (see Configure / Scroller):
Hide NoParse (see the NoParse trace log)
No Internals (Yes, you can eliminate the infernal internal telemetry packets!)
Not ME (would also serve to get rid of telemetry packets and definitions as well as your beacons)
Not Mine (more than ME, less than the world)
RF Only (for those that don't want to see what the -IS server is echoing back)
Show All (Defaults to checked - Provided for easy remote support to restore ALL packets)
Filter… (Yes, you can enter your own custom APRS-IS-style filter!)
Support configuration of minimum direct (no used path components) distance to be called DX. Also a minimum distance to trigger an immediate Status Report (if DX is included). Configure / DX also shows (and can reset) the MaxEver DX information. (Julian G4ILO)
Revamp internal handling of the Dupe detection list. This may or may not reduce CPU consumption on full feed instances. Double-clicking APRS-IS OK pane includes memory consumption and packet length information (Development only).
APRS-IS OK Double-Click now includes APRS-IS duplicate packet counts along with IS-Server Passed packet counts (these used to be invalidly counted as IGate). There's also a new QNOT counter that you will hopefully never see. Let me know if you do because I need to figure out why.
(Probably temporarily) send a message to KJ4ERJ-DB on a successful Coral CDN upgrade download. Anecdotal evidence suggests that it's working but I'd like to see for sure. (Development only)
Only force a scrolling packet/station pane repaint if a new packet was added. This should improve performance slightly on a filtered Scroller list.
Removed forcing of DUPE packets into the Packets trace log. Moved all such logs to a non-forced Packets(ISDupe) Trace Log.
New option under Screen / Preferred / MultiTrack / View None which, when checked, defaults new station-following MultiTrack windows to View / None to show only that station. The default is to keep the current behavior of View / All. Coordinate-based, NWS, and Item-As-Message MultiTracks are unaffected by this new preference, only user-created station-centered MultiTracks. Oh, and Saved/Permanent MultiTracks also follow the preference as they are by definition station-centered. (Poll: 65% View/All 35% View/None so it became an option)
New option under Screen / Filter Circle that adds an Automatic r/ (Range) filter for the scale of the Main window's circle (I would have used an a/latN/lonW/latS/lonE but I REFUSE to handle +/-180 crossing), but only if this is larger than the Configure / General / Range. This will tend to fill the circle with stations regardless of your zoom, so if you zoom out to see the world, you'll probably get LOTS of stations. (Poll: 12% Yes, 66% Option, 12% Never, so it's an option)
OK, it's a hack, and it's hard-coded (the TLEs at least), but you can now get a real-time forecast of both the ISS and the UARS satellites. Simply hit Control-O and they should appear on your map. You can Screen/Follow/Find either ISS or UARS to bring them up in a MultiTrack. When they are visible, the Az and El should be in their comment which is also shown at the bottom of the MultiTrack window. Thanks to Steve, G6UIM, for getting me the latest TLEs that I built into the code.
Still to come: AOS/LOS calculations & display, Footprint circle display, User entry of TLEs, Web refresh of TLEs & Satellite selection from same.
MultiTrack View None preference wasn't being used when restoring an Await (which most are) MultiTrack. Fixed.
New Control-O Satellite objects include AOS: (invisible) and LOS: (visible) information in their comment in delta time format.
Saved MultiTracks now remember their zoom level. This is ONLY when first being remembered and not every time. Eventually they'll remember position, size, shape, AND zoom, but I got tired of my Always ISS MultiTrack opening up too far in (not to mention the OSM hits it was taking as it flew across the oceans).
Tracking Control-O satellites (now only the ISS) now display a multi-line circle representing their footprint. For those of you with other satellite tracking applications, let me know how close I'm coming.
Obviously I've dropped the UARS satellite from the hard-coded TLEs as it should now be on the ground…or in the ocean…somewhere…in pieces.
APRSISCE/32 now suppresses the }…..{xxx Multiline portion of an object's comment from several places. This is really important as the satellite circle is a rather LONG MLE string.
Satellite tracks and circles, in fact not just satellite but ANY lines, that cross the -180/180 or -90/90 transition points get really weird. I still have to figure out how to fix this. Just wait the circles out, or clear the tracks, and things look better.
Fixed a bust in Filters when an overlay was specified and a non-overlayed alternate symbol still passed. s//S/V should only pass V-overlayed (Visible) Satellites.
Filters now support positive (+) terms. Where a single - would knock out a match, and any match would pass the filter, ALL + terms must match for a pass condition. This should be useful for better control of -IS to RF IGating so I'd encourage you all to give it some tests. Things like sS +m/10 should get you all satellites that are within 10km. Without the + support, that same filter would get you all satellites AND EVERYTHING within 10km.
Oops, just tested it and I'm being stupid. sS +m/10 gets you EVERYTHING within 10 km, including satellites. +sS +m/10 is the proper ANDing filter.
Question: Should a + filter be allowed to ADD stuff or only REMOVE stuff? I'm leaning to the latter in the face of sS b/KJ4ERJ* +m/10 to get satellites OR my stations, but ONLY within 10 km, but not pick up everything else within 10 km.
Finally, if you want to really go nuts, there's a new question when you hit Control-O. If the old TLE set was downloaded, it will offer to view ALL of the satellites. If you say No, it will only bring up an internally hard-coded TLE for the ISS. (Yes, I know, this will eventually be dynamic and refreshing). Remember, the only way to STOP the satellites is to restart the client.
And don't panic. I've added a 5 second delay before cranking up the satellite work after you answer the question.
Oh, and if the TLE set is not available from the Internet, the question is not asked and the internal ISS TLE is used.
Fixed the +NOW passtime that would sometimes come out of the satellite orbit calculations. (Steve G6UIM)
Attempt to use a shorter satellite name by various means to eliminate duplicate satellite objects bouncing around. (Steve G6UIM)
If you open a MultiTrack on ME and then select View / Symbol / Sat/Pacsat V (assuming you've already done the Control-O and the satellites are popping around), you will only see satellites in that popup when they are visible. (Just make sure you stay centered on ME and not one of the satellites!)
Quietly ignore $PSTMECH DeLorme proprietary NMEA sentence. (See http://forum.delorme.com/viewtopic.php?t=7185)
Only inject satellites when visible OR within 10 minutes of AOS (killed) along with one Kill after LOS (hopefully).
If a satellite is MultiTracked (or Awaiting by SAT-nnnn name), it will continue updating even when not visible.
Exempted catalog number 25544 (ISS (ZARYA)) from the previous invisibilty rule. Note that this entire hack will disappear eventually and become user-configurable.
Changed satellite object names from the friendly name to SAT-ctnbr, the catalog number from the TLE. See below for an automatic (transmittable) nickname so the friendly name still shows up.
Add Send Owner Message to Object popup menu if an object's owner is known, not ME, and is thought to support messaging. (Jim KB3TBX)
Support TACTICAL-received nicknames (See http://tinyurl.com/433evuz - Just don't ask me how to force receiving TACTICAL-addressed messages via APRS-IS). If the tactical string is longer than APRSISCE/32's Nickname Label (15 characters), then the Comment is also overriden on that station with the full tactical string.
The Satellite orbit tracker issues internal, automatically trusted TACTICAL definitions for the SAT-ctnbr to translate to the satellite's friendly name. Yep, that's why I'm now supporting TACTICAL!
Define bunches and bunches of named colors for future use. (See http://en.wikipedia.org/wiki/X11_color_names)
Define Track Colors for use in rotation. Default is that only Black is enabled.
See Configure / Screen / Tracks for new color support. Hopefully there'll be a Wiki page describing the various methods of setting Track Colors.
Support defined track color in Nickname configuration.
Support "MultiTrack When New" on Nicknames. This causes an automatic MultiTrack to open when the station is first heard.
Remember current zoom level for Always-open and Nickname-created MultiTracks when the client is closed. If you close the MultiTrack before the client, the zoom level is not recorded.
New "Satellite Details" that allows selection of individual satellites for internal packet construction and also shows dynamic next pass information. Tri-State checkbox is Checked: Always NotChecked: Never GrayChecked: Only just before and through a pass
Support altitude-based footprint circles, colored as the track with min/max altitude configurations and separate enables. Hiding under the Screen / Label options including Configure. (Steve G6UIM)
Note that ML circles are created when the packet is first received if the Enable is checked and the altitude is within the configured range. You can disable to not display these, but they may not re-appear when you enable until the next packet is received within the configured altitude.
See http://en.wikipedia.org/wiki/Line-of-sight_propagation and I use the Range = 1.23*sqrt(Height) where Range is miles and Height is feet (just like in the raw APRS packet).
Remove the obnoxious world-spanning left/right line wraps on Satellite tracks and circle plots.
Disable and/or do not offer MultiTrack button on Screen / Follow / Find dialog if all MultiTrack windows are in use
Corrected (I hope) the missing pass durations that were on some future AOS satellites.
Support TLEs coming from clipboard via the "Paste TLE" option on the Satellite Details window. Simply copy a single or set of TLEs into the clipboard and then click that option to add/update the satellites contained therein. Pasted TLEs are NOT filtered against the hard-coded active satellite list.
Support TLEs coming from a web URL. Note that this web page must send ONLY raw text TLEs (like http://www.celestrak.com/NORAD/elements/amateur.txt), not HTML-prettified (like http://fastrac.ae.utexas.edu/for_radio_operators/users/phpBB3/predictedorbit.php, but you can copy/paste those). User-entered URLs are also not filtered against the active satellite list. The default celestrak URL IS filtered as it always has been.
Include http://dinesh.cyanam.net/dl/SRMSAT_TLEs.txt in the default TLEs loaded at Control-O. See the http://srmsat.in/ for a new 70cm listening opportunity.
Note that Pasted TLEs are NOT remembered across a restart, but successfully Fetched TLE URLs are recorded and automatically re-loaded on Restart (or Control-O if you closed the Satellite Details window). If you enter a URL that you don't want loaded anymore, you need to edit the XML file and delete the appropriate SatelliteURL entry.
Oh, and details about the Pasted or Fetched TLEs can be found in the (getting too crowded) Satellite Trace Log. Errors are shown there even if the log is disabled.
Removed, due to the restructuring, the ability to only ask for the ISS to track. You now have to uncheck the remainder of the active amateur satellites to see just the ISS. Eventually there'll be an option in the Satellite Details to hide unselected satellites to clean up that usage scenario.
Changed the default SRM URL to http://dinesh.cyanam.net/dl/SRMSat_Updated_Keps.txt. If you edit your XML file, you might want to remove the pre-launch one that ended in …SRMSAT_TLEs.txt. (Steve G6UIM)
Added the ability to reload or remove (with confirmation) a TLE URL. Now, if I could get File-based TLEs to load, right?
Added "Hide UnChecked" / "Show All" menu options. When uncheckeds are hidden, ALL of the remaining checks are disabled so that one doesn't disappear while you're checking it. Unfortunately, this means that you can't tell which are forced on and which aren't. Late breaking: I think I just figured out a way around that. Film at 11 (http://en.wikipedia.org/wiki/Film_at_11).
Ok, when hiding unchecked satellites, you can only toggle the enabled ones between always on (checked) and visible on (tri-state/indeterminate). To disable or enable a satellite, you have to "Show All". Otherwise, when the rotation bounces through disabled, the satellite would disappear and you'd end up clicking on a different satellite's checkbox.
Also when doing a "Show All", the bottom of the window may take a while to repaint. I just beat my head against that particular wall long enough, so I decided that we can all live with it. Dynamic window sizing is a pain…
Actually, I had another inspiration and the Show All gets the window painted better than it was. You still might see a flash of black at the bottom, but it should go away sooner than 1 second on a reasonable speed machine.
HideUnchecked is now remembered and recalled across restarts. WHY am I doing so much work with this stupid window when I'm thinking about moving it elsewhere anyway?
If you're not going to get a pass within the next two days, the Satellite Details window now displays NONE like a MultiTrack window instead of a large number of days. (Steve G6UIM)
Support loading and remembering TLE files. Just like URLs, if you select an already loaded file, you get the option to Reload or Remove (with confirmation) the File. File-based TLEs are not filtered for known actives. Face it, if you know it's not active, take it out of the file!
Ok, with all this capability of loading TLEs and such, please don't get carried away because I'm NOT planning to do scroll bars on the Satellite Details window. If you load too many for your screen height, you're hosed until you remove some sources and restart the client.
The Satellite Details window will now bring itself to the front 5 seconds after starting. That's the delay before the satellites are running as well to avoid killing the system at client startup.
I added a Satellite station symbol to the system notification area that will bring the (non-minimizable) Satellite Details to the front. It also displays a notification popup when a satellite AOS occurs.
Corrected the spec-compliant MultiLine objects to still give a circle when they're crossing the international dateline. The circle might flatten, but at least it's there. Why didn't someone tell me it would disappear while crossing the line?
MultiTrack windows now save and restore their position, size, zoom, and View NONE status (if it's not NONE, it's ALL on restart). Note that the save only happens AFTER you start running the new version! Also, the windows still need to be totally on the screen (not even a pixel over the edge) or they'll jump back to the center on restart.
A new View / Altitudes option shows those stations that are transmitting altitude.
Altitude labels now include Footprint range if enabled for display. Track altitudes include the same. Now you can see the range change with altitude across the track and also see the range while zoomed in on a flying station.
Trace Logs now remember their last position and shape, even if you got multiple operating sessions without opening them, they'll go back there when you do.
Satellite Details now remembers its position and shape and will restore there when next created.
When a satellite is in view, it is now updated every minute instead of every 2 minutes until LOS.
Confirm on Close is now configurable via a CheckBox in Configure / General. If this is checked, APRSISCE/32 will ask for confirmation before closing and also offers a Restart option at that point.
If Confirm on Close is NOT configured, About will offer a Restart option if there is no new version or the check fails.
Discovered that if you close and re-open a trace log window without shutting down in between, the position and shape are not used. I now save position and shape when you close a window OR close the client sot that it will come back as it was within a single session.
Remove "Lookup Address" from station popup menu if Internet access is disabled.
If any Configure / Scroller / … option is checked, Show All is automatically unchecked. When the last specific option is unchecked, Show All is re-checked. Show All still trumps others if explicitly checked. This gives an easy way to toggle ALL on for a quick glance and restore your preferred settings by simply unchecking Show All.
Added MaxEl to Satellite Details for upcoming passes and El N+/- / M to indicate rising or setting out of MaxEl (eg El 53- / 70). These also show in MultiTrack windows.
Changed Satellite Details to display the string that would be returned from an APRS messaging satellite query. This elimiinates the need for the +/- indicators above, although they'll still show in the MultiTrack windows. See if you think there's enough information on the passes for a remote query.
Fixed a crash issue when NWS shape files are not accessible (finally - Moved to a new laptop and didn't bring the shapes with me!).
Fixed Configure / NWS / ShowMe to not have a bunch of non-printables stretched across the bottom of the map.
Some -IS to RF gated messages were getting ,TCPIP in the 3rd party path twice. This should no longer happen.
New Configure / Scroller / Freeze On Click - A single normal click (in the scroller of course) will freeze the scroller allowing you to read it. Clicking on any station ID will bring up the popup menu as it used to. Moving the mouse OUTSIDE the scroller will resume its normal behavior, but there cannot be any menu open either. A right click in the menu will currently un-freeze it as well until I find a better thing for a right click to do. Oh, and the APRS-IS OK text will be a pink background while the scroller is frozen. While frozen, any new packets that come in are processed normally, but are not added to the scroller. When you unlock the scroller, any new incoming packets will be added from that point forward.
New Configure / Scroller / Show Igate/Digi - This will expand the width of the scroller to show the last Digi thought to have handled the packet OR the IGate that injected it into APRS-IS. The new column will be blank for a station that injects its own packets directly into APRS-IS. Third-party packets received over RF (# at the end of the station) will show the original IGate that gated the packet from -IS to RF, not the RF path it took to get to you. There's a pre-configured set of <PathAlias>es added to your XML configuration file. Eventually, they'll have an online configuration capability, but for now if there's an alias used in your area that's not on my original list, you can add it there. The definition of an "alias" is the string you entered followed by digits, dash, or asterisk in any order.
When the packet scroller is frozen, it now displays a red border to remind you that it's not updating.
When a frozen scroller is released, it will now receive all packets that were received while it was frozen, of course limited by the full size of the scrolling packet buffer (64 packets, if anyone has a taller screen than that, please let me know!) - The easiest way to see this effect is to bring up and enable the Packets trace log and watch the correlation between it and the packet scroller when frozen and active.
A right click in a non-frozen scroller will bring up the station menu as the old left click used to. If the scroller is locked, a right click unlocks it. Any click outside the scroller also unlocks it.
Clicking on an entry in the packet scroller will now display the packet represented at that entry, not the most recent one heard from that station. This allows seeing the duplicates if you're running with Show IGate/Digi enabled.
Re-define APRX0n-APRX3n to OH2MQK aprx as apparently that software is no longer Receive-Only
Include telemetry definition messages (PARM/UNIT/EQNS/BITS) in the t/t filter. Now a t/m -t/t will give only messages that are NOT telemetry defs.
Correct a packet scroller repaint issue when multitracks are closed with buddies in the list. It now refreshes the non-buddy status correctly.
Refresh the station's Buddy status even when Buddy Count goes to zero (closed last MultiTrack). Otherwise the last multitrack window's centered station would continue to reverse-video in the packet scroller.
I discovered that APRS-IS's dupe filter seems to be 30 seconds from the MOST RECENT reception of a duplicate packet. So, my 8+16+8=32 seconds message retries weren't actually working and the first APRS-IS retry was only going through after the NEXT 32 seconds or 64 seconds after the first transmission. I now skip the +8 and +16 retries and pick up the first retry to APRS-IS at 32 seconds. This should improve retries through remote IGates as well! Note that the +8+16+8 all still go out via local RF if there is such a port!
Found and fixed a bust in the IS-Server support that was causing packets received from one downstream client to not make it to all other (properly filtered) downstream clients.
Fix formatting error in Bluetooth trace log when name fails to resolve because the BT adapter didn't show up after a reboot.
First cut: Screen / Paths (defaulted on) and View / Paths (show only stations involved with known paths). Yes, I'm now accumulating and drawing path lines. Give it a look-see and tell me what you think. Remember, it's a first cut.
A thin red line is a direct link, a wider green line is a digipeated link, red-over-green means both happened there
ToDo: a) Fix parser to prevent invalid coordinates from blowing paths across the planet
b) Time-out the line segements (user configurable) - Currently accumulated forever
c) Classify links: Direct (no used hops), First Hop, Digi Hop, Final Hop (to IGate or ME(RF)) (Need visibility ideas)
d) User configurable "reasonability" length
e) Filter actual stations against configurable Path Aliases (not good to have a WIDE1 station moving around)
f) Provide visibility into "stations heard", "stations hearing" and link traffic count/age
Change default for Screen / Paths to FALSE. Too confusing for the first-time user. (James VE6SRV)
Reduce the number of OSM fetch threads used for getting tiles for immediate display. The center tile has always been a single, dedicated, priority thread. There is now only one thread to fetch surrounding tiles sequentially. A final thread sedately sites in the background fetching adjacent tiles to be ready for panning motions.
Never prefetch zoom levels 17 or higher. These are extremely detailed street-level views that are built on demand and place a great load on the servers. The only way to get these tiles is to manually pan/zoom to the areas where you NEED that level of detail. To see the raw zoom level, double-click an empty spot on the map and look at the z: on the top line.
Validate overlay byte per spec. Overlays are only A-Z and 0-9. To get compressed 0-9, use a-j (APRSISCE/32 automatically does this for you). This WILL cause some stations to no longer appear, but they also don't appear on aprs.fi! (aprs101.pdf page 91)
Note: If you currently use an invalid overlay, it may be reset to a valid value at any point. Please verify your Configure / General symbol setting.
Increase validation of individual Mic-E character ranges. You can see the results in the "NoParse" trace log. Verified my new rejects vs APRS.FI's raw log interpretation of the same station.
View / None with Screen / Paths checked now labels the path links on the screen and (theoretically) no longer displays ME's paths unless it is the center.
Station information popup now contains HeardBy: and Hearing: entries with callsigns of direct (not digipeater) stations. Note that this can make the popup really wide for a busy station, but it's the quickest place I have to show the info right now.
WinMo now transmits current draw in telemetry where A4 used to be. Scales -500-499mA to 000-999 with EQNS to match.
Added Clear / Clear Paths. Note that Clear / Clear Tracks (as well Station Popup / Clear Tracks) clears accumulated paths as well.
Add Screen / Follow menu options to MultiTrack windows (don't ask me why they weren't there before!).
Add Screen / Paths / Age … selections. Yes, eventually the times will be configurable! (I don't understand why zooming clears all but Last or All, but I ran out of time this morning).
Add Screen / Paths / LclRF (show only RF-received paths) and Type (Direct, First, Middle, Final) filters.
Corrected pan/zoom clearing paths until something kicks the display. Paths still take a while to disappear, but it's getting closer.
Corrected retention of Screen / Paths / LclRF Only setting. It was incorrectly recording Screen / Paths / Visible
Screen should now properly force a refresh when a path expires out of visibility. Screen / Paths / Age / Flash (10s) should perform better even with a slow (or RF) feed.
Station info popup should now reflect your OWN station in the HeardBy: if you're on RF. (ME wasn't getting into the station lookup list as it was defined too early).
Corrected Configure / Beacon / Compressed to actually work with numeric overlays (which shift to a-j per the overlay spec).
Corrected the "reasonable" check that was allowing vertical and horizontal lines to be too long as it was an OR that should have been an AND.
Added Screen / Paths / Max Length to configure the max length (in miles or kilometers) of any displayed path. The default is 400, but you can make this bigger to see HF APRS hops.
If you get two copies of a single packet via two different digi routes, they should both now appear in Flash (10s) mode and disappear when they're supposed to. Prior to this fix, middle hop stations may or may not have shown up with paths in this situation since the end points were already visible from the first packet.
Message packets received via RF will now show the * and boxed symbol (if direct) in the packet scroller. (Someone in the UK a LONG time ago!)
Non-Parsable packets received via RF will now show the *, but NOT the boxed symbol as the packet wasn't parsed to determine actual hop count.
Windows Mobile (APRSISCE) now forces the GPS to Disabled at startup to work around the yet-to-be-fixed crash on startup with an enabled GPS. (VK1NUT)
A station's information popup's Hearing: and HeardBy: list of stations is now constrained by the parent window's Screen / Paths / Age setting. So, if you're looking at Paths aged 10 minutes, the station information popup will only show the HeardBy: and Hearing: stations for that same time period. The actual Age is included as a delta time in (). It is most disconcerting to be monitoring Flash(10s) paths and see no Hearing or HeardBy if you're a bit slow on the mouse trigger! If you want to see them ALL, then you have to set Screen / Paths / Age to All.
Change "Send Owner Message" for objects's popup menu to "Send <Call-SSID> Message" where Call-SSID is the owning station. This makes it one step easier to identify an object's owner. Previously, this information was at the bottom of the Object's detailed information popup.
Renovate the way coordinates are stored internally and mapped to the screen. This is in anticipation of a performance improvement required (IMHO) by the increase in number of coordinate-based screen elements (namely paths).
When panning around with a center-locked station, it will be force-returned to center on the next position update but at least 5 seconds AFTER you last quit panning. This means you can drag the map around to see stuff and a GPS-fed ME-centered screen won't keep bouncing back to center ME. (Paul KJ4DXK)
Changed station popup menu from "Clear Track" to "Clear Track & Paths" as that is what it does. Double-clicking the Odometer only clears Tracks. The Clear menu can clear all Tracks or all Paths separately. There is still no way to clear the Paths from a non-moving station. Would you ever want to?
Added Restart button configurability to About box. Configure it via Configure / General near the bottom. The default is ON which presents a Restart button on the About dialog even if there is no new version available..
For the adventurous among you, there's a new XML element called <SavedPositFilter> that you'll find at the bottom of the file. Set it to an APRS-IS-style filter (b/* for all) and it will save and reload the matching most-recent posit packets when the client is closed and restarted. I do NOT recommend this on a full-feed instance unless you really clamp down on the filtering! (Read: VERY slow to restart!) Also, an amazing number of posits contain non-printable characters. It turns out that the XML format doesn't support saving characters with ASCII values less than 32, so some stations may not be restored. Also, the saved posits are just that, posit packets. There's no recalling of the RF/IS status of said station, but they all appear to have been heard from APRS-IS. That said, the AGE of the posit is recorded and restored and used for expiring old stations, so if your client is down for a long time, you can expect to see the loaded stations for up to 30 seconds before they disappear due to age.
Non-Used AltNets are no longer stored in the XML, but are re-learned from the saved posits and/or the live feed after a restart. Any AltNet that you've actually USED will be recorded and be provided in Configure / AltNet after a restart.
Weather objects now try up to 3 times before they automatically disable themselves. They also send an internal message indicating the failures. (Kevin W7BOZ)
Eliminated the double-load of APRSISCE/32.XML during startup. This will hopefully decrease the startup time as the XML configuration file continues to grow in size.
I also optimized the pre-load of the configuration that determines if that instance is already running. For those of us on WinMo, this means MUCH snappier restoration of a hidden APRSISCE instance when you re-select it from the menu (or in my case, lower right hand key that says "OK", see Settings / Personal / Buttons and I assigned Button 4 to APRSISCE6P)
If you use Configure / Beacon / After Transmit, APRSISCE/32 would sometimes not put the screen back where it was when you closed after confirming your position. It should be better about it. (And the full message should show up on WinMo!)
Improved speed and progress indication of re-loading saved posits by disallowing popups and disabling the (possibly incompletely painted) window until the progress bar (theoretically on TOP) finishes. Then the window paints and operation proceeds as normal. Note that you'll only really see this if you're saving LOTS of stations through your <SavedPositFilter> filter (say 500+ on WinMo or 5000+ on Win32).
Moved the coordinates in a DX: status report to the end so that the distance, bearing, and time appear on APRS radio displays.
Dramatically improved XML parsing time especially with lots of SavedPosits or TelemetryDefs (like a large or full feed instance would accumulate).
Even more dramatically improved (49 seconds down to 17 seconds) the reload of 27,000 SavedPosits. And these improvements equate to runtime-performance improvements as well as they were done in the per-packet processing logic, especially as new stations are discovered which is continually occurring as stations age off the map and others come onto the map.
Ok, loading 30,000 or so stations takes 10-15 seconds on restart. I'm calling that one "fast enough". There will probably be more improvements on this once I start using the newly-cached coordinates for screen position calculations which in turn will reduce the number of trig function calls when screens are panned and/or zoomed. You can see some of these trig calls effects if you have Screen / Save Posits / Reload Paths (see below) checked on both WinMo and Win32. Win32 RIPS through the second pass and WinMo takes just about as long for each of the two passes. Win32 processors have floating point while the WinMo devices do it all in software (typically).
Reloaded cse/spd beaconing stations no longer start their dead-reckoning display again, unless you closed and restarted within 5 minutes in which case it will jump out ahead based on approximately how long it has been since the original beacon was received. There's some discrepancy based on how long you were actually down that I still haven't accounted for.
Don't Dead-Reckon Signpost stations per "This requires a mod to APRSdos so that it does not dead-reckon this sign!" from http://www.aprs.org/traffic/traffic.txt. (Patrick K3PDK's 495IL-Ptr object)
Screen / Paths / Age setting is now remembered and recalled for the main window across a restart.
Reduced criticality level of some TraceLog messages (NWS, Objects, ShapeFiles and such). This should reduce the size of some APRSISCE/32*.LOG files.
Finally added Configure / Save Posits / Filter… and Reload Paths. The former shows how many stations will be saved with the current filter (0 if you have an invalid or no filter) and allows entry of an APRS-IS-style filter. The latter does a double-pass over the saved posits during reload in an attempt to re-establish the paths between them. A double-pass is necessary as a path is not recorded unless the station is already known, so the first loading pass generates an incomplete path picture. If Reload Paths is not checked, then NO paths will be reloaded (speeding the reload somewhat), but allowing new paths to be learned quickly as the digi/igate stations will (hopefully) have been reloaded (if you restart soon enough that your saved stations don't age out 30 seconds after loading).
QRU-queriable objects must still be in a group that starts with a ?, but an actual QRU query no longer needs the ?. This means that you can send a message to QRU that simply contains HOSP and get a response (once all the QRU servers upgrade). Sending INFO <LargeNumber> to QRU does some interesting things!
QRU (?)INFO responses will now word-wrap at 67 characters and are prefixed with "de <callsign>" where callsign is the base call of the QRU server's configured callsign-SSID.
Fixed a missing "Enabled = FALSE" that was causing KWD710(APRS) ports to digipeat even after complaining that it wasn't supported. Julian, this MIGHT be part of your G4ILO-5 issue, but I'm not sure.
Filter entries are validated against the APRSISE/32 internal filter parser. This doesn't meant that they'll actually work with any other server, but at least the syntax is validated. This applies to Configure / General / Add Filter along with the Scroller and Save Posits filters. The IS-Server port also issues a different response to incoming client connections if their filter is bad.
Finally, there's a new Screen / Paths / Station (Packet) (and the old one is now called Network (Links)) that shows ONLY the most recent packet handled by the followed (centered) station. It is currently 2 pixels wide and Orange in color. With this option checked, if you follow an IGate, you'll see the full path of the most recently gated packet highlighted in Orange. If you follow a digi, you'll see an orange line possibly going through the digi between a source and destination station. If you're on a mobile station, you'll see the path of its last packet in orange. And, if you bring up the station information popup, there's a new entry for Packet(age): that lists the stations that handled the packet. (Kevin W7BOZ)
Billy Mason, KD5KNR, reported an issue with KWD710(APRS) ports and NMEA/GPS passthrough causing corrupted station IDs to show up on the map. A few logs later and I find that when APRSISCE/32 transmits, an NMEA packet can get truncated (lost <CR>) and pre-pended to the next APRS packet. I've added code to ignore any line that starts with a $ but doesn't have a valid NMEA *xx checksum at the end. This will drop the APRS packet, but there's no definitive way to split them apart once they've been concatenated. That's what the <CR> is supposed to be for!
Station (Packet) path drawing was including position-less stations out to 0,0. It will now skip the hop to/from a positionless station leaving a gap in the drawn packet path until all station locations are known. This can happen with amazing regularity with an RF station running with a Range of 0, especially for digipeaters out at the fringes.
Fixed the e/ (Entry) filter to scan the packet path for q-constructs. Some servers are tracing beyond the q-code and breaking my e/ filter implementation.
Ensure that qAR is on locally-RF received packets when cross-connected to a downstream client via an IS-Server port. Paths for such packets were stopping at the station just before the locally-receiving RF IGate.
Due to internal changes in coordinate and rectangle mapping, and forcing path-involved stations to be visible, some station popup menus were appearing in very strange locations as un-initialized variables were being referenced. This is hopefully fixed. See next entry also.
Station symbols forced onto the map for a path weren't clickable. Their labels were, but the icon wasn't. This has been fixed.
If you follow (center) one of your own stations, it will be labeled even if Configure / Screen / Label / Callsign / Not Mine is checked. This is quite important for Screen / Paths / Station (Packet) viewing.
Corrected the station info popup Packet: path display to not show your own callsign for unknown station IDs. It will now show *. Note also that defined <PathAlias>es are not recorded and do not show and the non-used path components are also not there. If you want to see the full path, then you need to look in one of the other logs, the Station (Packet) and Packet: displays are only for known station visibility.
The startup optimizations inadvertently eliminated the -Safe.xml updating as well as the version upgrade copies. These have been restored.
Found yet another invalid APRS coordinate packet that I was passing. Not any more! K8CAD-3 (what's wrong with 44.1416NS085.3457W# ?) should now be relegated to the ocean off the east coast of Africa (0,0). (Not much I can do for KF0ZH, that's really where s/he claims to be! Do a Screen / Follow / Find and wait for it to appear…)
Fixed startup focus issue caused by my shuffling of things around for loading posits. (Brian KC2KJQ, Geoff VK2AGC)
Station popup last packet handled (Packet:) now shows distance/directions as well as total traversal distance if all posits are known. (Not on WinMo, though, screen's too small)
Interesting observation that I should have expected is that all of this Path visibility stuff doesn't work worth beans on a heavily filtered, zero-range, specialized instance like my flight monitor that only as "s/'O^X@=/^O@Q -s/_ b/N4GVA*" as a filter (and zero range). It knows about the stations, but NOTHING about the infrastructure!
I think I fixed the busted <MyCall> that was showing up in the Packet: path display. It should now show all involved station callsigns, even if a posit (or in fact any packet) has not been heard from them. I was fighting a bug that caused your own station's callsign-SSID to show in place of the unknown stations. (Index 0 is unknown, but it also happens to be ME)
In my hurry to get the startup focus fix out the door for testing, I included a "PathError" automatic TraceLog popup that affected ALL RF-enabled IGates. This has been removed. (Philip KB5ASY)
Show PHG circles as long as they're fewer than Configure / Screen / Label / Max Visible. It used to be based on station count, it's now based on PHG-enabled station count.
Support one Opacity setting for Network Links. Station (Packet) display remains full color density. Shuffled the menu around a bit as well. Let me know what you think. I like it somewhat, but I'm not sure I like it a lot. I'm struggling with what should be under Screen / Paths and what should be under Configure / Screen / Paths (like Opacity and Max Length).
Support Network (Links) / Opacity setting individually (but not persistent yet) on MultiTrack windows.
Fix retention and recall of Following track color (Edwin K9KUV)
Implement preview of Configure / Screen / Paths dialog. Has WAY too much in it, but all is necessary and more won't fit on WinMo. Note the Apply button and see if you can imagine what it'll do.
Ok, Screen / Paths / Appearance should now work. If done from the main window, it will ask about remembering the settings across a restart (ie making them permanent). If one from a MultiTrack, it only affects that window for that execution session.
Configure / Objects / Group Interval prompt shows secs and should have been mins. Edwin K9KUV)
Removed Configure / Screen / Paths cascading menu. It's all controlled via Screen / Paths now.
Dynamically change Paths Appearance dialog title to include title of affected window, main or MultiTrack.
Corrected MultiTrack's Screen / Paths / Configure… to be Appearance… for consistency.
Added an Expert button to the Paths Appearance dialog to enable/disable widths and colors and such so as to not change them by accident.
Screen / Paths / Appearance… is now a mode-less dialog. You can keep it open and play with the settings while still panning and zooming the map.
Corrected PathConfig's All Times, it would set back to Last instead of sticking.
New View / Chooser menu option for non-modal View checkbox chooser (Win32 only). Not all View menu options are yet supported as I'm still trying to figure out Platforms and Symbols.
Fixed ALL opacity calculations. For some reason, they were being multiplied by 3 and then divided by 100 to scale to 0..1 for drawing. I've removed the *3, so you may need to go reset your Opacity settings (NWS, DF, PHG, Paths) as they are now actually 0..100% scaled.
Add ability to force display of ME's most recently handled packet, regardless of follow status. See Screen / Paths / ME (Packet) (Kevin W7BOZ)
Fixed Configure / Save Posits / Reload Paths to actually reload the paths. The second pass wll now take substantially longer than the first pass since the packet isn't getting lost in between the passes. So, if you're not doing path analysis, I'd recommend NOT checking Configure / Save Posits / Reload Paths.
Added an "all" or not all (red circle) indicator just to the right of the scale +/- scroller. This is in preparation for saving View filter settings. Clicking "all" will toggle the View / All setting. If toggling it off leaves View / NONE, then the Chooser is automatically activated to allow direct selection of the preferred view. Hopefully the red circle'd all will help people realize that they've got the view filtered and there may be more stations to see.
Corrected a MultiTrack restore issue when tracking an object like ISS. The MultiTrack wasn't detecting the object properly from the Saved Posits.
Fixed a mistakenly broken packet-path drawing color when ME is the only packet being drawn.
Changed default Paths Opacity from 10% to 50%. You all might want to do the same as this only applies to new upgrades.
Put the All/NotAll drawing on a timer. It will eventually disappear after 5 seconds elapses since the last "significant" (zoom, pan, orientation…) change to the map. It is intended as a reminder that not all stations are being displayed as well as (sometimes) providing direct access to the View / Chooser. Even if it is invisible, clicking in the space it would ordinarily occupy still works.
Move Screen / Paths / Appearance… and View / Chooser… dialogs to the left edge of the parent window by default (instead of center) so that (maybe) the map that they're affecting will be in view and you might not have to move them out of the way.
After fixing the Save Posits / Reload Paths option to actually DO what it says, it takes nearly as long on the second pass as the first, so I've changed the default for that option to FALSE. This will only affect new upgrades, and of course, if you turn it on, it stays on.
Restore missing *N duplicate counter on non-frozen Packet scrolling log (Rick KD4DRA)
Do an instant retry on failed weather object formatting, even before the 3 timed retries (Kevin W7BOZ)
Don't force a Weather Object trace log to visible on a format failure (Kevin W7BOZ)
Add message when Transmit is forced with a non-fixed enabled GPS (James VE6SRV)
Don't label Saved Posit packets as IS[APRS-IS] but as IS[Recovery] in the Packets trace log and don't count them in the hourly APRS-IS counts.
Strip {seq from TACTICAL messages before processing (Curt WE7U)
Include TACTICAL message received timestamp in delayed prompt for acceptance (Curt WE7U)
Show From: (DefinedBy) in Nickname configuration dialog. This is the @ that appears in the Screen / Labels / Nicknames menu, but only if you've accepted remote TACTICAL nicknames. (Curt WE7U)
Correct saving/loading of NULL characters in the configuration caused by …
Default non-symbolized TACTICAL callsign symbols to \?
Remembered, but subsequently disabled TraceLogs were still coming up enabled on the next restart. Fixed.
Corrected sense of non-Fixed Transmit message. It was alerting when it HAD a fix and NOT alerting when it didn't. (Steve G6UIM)
Corrected expiration of NWS objects if they were in a Saved Posit across their expiration time. They'll now expire after restart.
Reject all Saved Posits if more than 14 days old.
Improve Multi-Line shape performance by remembering expanded zones and not rebuilding from shape files if unchanged, but restated. This improves Save Posits / Reload Paths performance as well as general runtime performance if zone-based NWS objects are restated periodically (like NWS-WARN vs NWS_WARN saves 50%).
Show NWS zones (and possibly (ERROR)) in station information popup. These are the things that are matched to avoid re-loading MultiLines from ShapeFiles (as in thousands of points in tens or hundreds of parts).
"MultiTrack When New" Nicknames now inherit saved MultiTrack settings if they restore during Saved Posit reloads.
Add NWS event Duration: (issued to expires) to NWS "station" information popup. And delta time until expiration on Expire: line as parenthetical. Should this delta replace the absolute expiration time in the NWS station's popup menu for quicker visibility?
Screen / AutoZoom View - Need to do a Wiki page describing this one based on my cryptic e-mail.
Fixed (hopefully for the final time) the message about lacking a GPS fix. Stupid programmer moves and multi-faceted IF statements whose else is more than it appears. Thanks to all who reported it.
Screen / AutoZoom View now zooms further in if a station's label is clipped outside, or even if part of the symbol is outside (it formerly only tried to get the center point of the symbol into the circle's rectangle).
Change the metric speed abbreviation from kph to the standard km/h. (Steve VK2ARS)
When panning an AutoZoom window that is Locked on the center, it now jumps back to center BEFORE zooming out when anything hits the edge of the screen.
Rotate the slash in the "Not(All)" circle to 45 degrees instead of horizontally across "all". I'm not sure I like this, so please give me feedback. There just isn't enough resolution to make the diagonal slash look good?
Change "all" to "one" (without the circle) when View / None is selected. I'm not sure if I like this either. Is there a better word?
Add a minimize button to the Satellite Details window. (Steve G6UIM)
When unchecking (disabling) an NWS Office, ask if it should be removed from the list. (Chuck NA6BR)
Add the bottom center text of the circle (but not S) to the label avoidance area.
Change Configure / NWS Shapes / ShowME to Show Center to more accurately describe what it really does.
Enable Configure / NWS / Show Offices / Show Individuals based on Enabled NWS office count, not Configured NWS office count.
Support individual settings for Screen / AutoZoom View / In and Out. Out must be enabled before In can be selected. If Screen / Follow / Locked is checked, In doesn't do anything. There's a race condistion that will ping-pong in and out under certain circumstances.
Split View / Platform / Android into U2APRS and APRSdroid counts
Correct spelling of APZTKP (was APZTPK) per http://www.aprs.org/aprs11/tocalls.txt
Work on AutoZoom adding a few more features including AutoZoom menu access to Screen / Follow / Locked setting.
Fix refresh load of TLE files in the Satellite Details window. It was incorrectly attempting to load the file as a URL.
Fix (hopefully) Satellite Details checkboxes appearing to be in the wrong place. They really weren't, they just weren't drawing properly.
Change Configure / NWS Shapes / Show Me to Show Center to better reflect what it really does.
Timestamp in Scroller popup menu reflects time packet entry was received, not most recent packet.
Keep labels away from bottom center screen title.
Correct internal d/ digi filter to only look at USED (*) path components, not all. This now seems to match the javAPRSSrvr filter implementation's behavior.
Include entry call in diagnostic menu when a new NWS product is discovered. Also queue an internal message to notify user. These should be VERY rare, but there's some testing going on in Europe somewhere that isn't using the standard product IDs yet.
Loaded Overlay objects are now correctly identified as Internal so they should no longer purge away. (Randy WF5X)
Loaded Overlay objects no longer fade out over time, even though they were not being purged. (Randy WF5X)
Switched Overlay loaded objects from Items to Objects to support _ in object name like UI-View. (Randy WF5X)
APRSISCE/32 was losing saved station positions across a system reboot as the milli-second elapsed time value in Windows reset to zero. I now offset this value by one year for delta-time calculations across system restarts.
If ME is involved in a View / Paths filter, it should now properly include itself in Screen / AutoZoom View activities.
At some point in the past, I messed up the entry server determination for NWS objects which disabled the Finger-ability of suitably configured entry servers. This should now work properly.
Remove scale digit from X radiation parsing and format as uSv/hr for display. (OH3NWQ)
Correct memory corruption when accumulating a path of more than 9 components (including srcCall>toCall & q-Construct). See LongPaths trace log (no need to enable).
Recognize APYTxx toCall for YagTrackers (http://www.aprs.org/aprs11/tocalls.txt)
Recognize Mic-E manufacturer type code * (APOZxx www.KissOZ.dk Tracker. OZ1EKD and OZ7HVO) (http://aprs.org/aprs12/mic-e-types.txt)
Remove obsolete and ambiguous Mic-E telemetry parsing in favor of upcoming |base91| compressed telemetry.
Define APDSXX, APBPQX, APLQRU application identifiers (http://www.aprs.org/aprs11/tocalls.txt)
$ULTW weather parser didn't handle below zero (remember I live in Florida!) (Bob WB4APR + N1TX-3)
Corrected APBPQX to APBPQx for substitutionary version number provisions.
Correct negative weather value interpretation (swapped isdigit() and =='-' checks).
Fade Buddy symbols based on Buddy Age, not normal station aging time. (Craig N0EQ)
Define APJYxx and APLOBJ application identifiers.
Support Auto-Saving of GPX tracks whenever an initial track is saved. (Bob K9UDX)
Close a few small memory leaks which accumulate over time.
Remove lots of obsolete and less-than-informative Trace Logs in prep for general release.
New XML configuration file elements:
<Screen.FilterCircle> - Screen / Fitler Circle configuration option
<Screen.SymbolSizeAdjust>
<Screen.Tracks.Follow> - Number of blocks in following station's track (0 = all)
<Screen.Tracks.Others> - Number of points in non-following station's track line (0 = all)
<Scroller.*> - All the new Scroller control parameters
<MultiTrack.ViewNone> - Screen / Preferred / MultiTrack / View None option
<ColorChoice> & <TrackColor> - Defines colors and which will be used
<Nickname.OverrideColor> <Nickname.Color> - Nickname track color options
<Nickname.DefinedBy> - Station (or blank for local) that remotely updated Nickname via TACTICAL
<TACTICALSource> - List of stations that are "trusted" for TACTICAL adoption without confirmation (Accepted "Always" before)
<View.Footprint.Enabled/Min/MaxAltitude> - Screen / Label / Footprint configuration
And more than I care to enumerate!
Performance enhancements including:
Restored shadow circle painting performance enhancement inadvertantly busted with the CE5 implementation.
Working towards a more optimized lat/lon/zoom to screen point mapping solution generalizing work done on NWS area drawing.
More ToDos that were completed in this and previous releases:
Support sending "Item-As-Message" to stations