RoadMap Changelog
Roadmap v1.2.1 (February, 2009)
This list is current as of 2/8/2009, created with the help of
cvs2cl.pl -l "-d2008/11/29<2009/2/8"
- Fixed online help access, and added preferences items to allow
fetching local or web versions of the help.
Roadmap v1.2.0 (January, 2009)
Items marked (*) originated on Ehud Shabtai's roadmap_editor code branch.
- New roadmap icon, designed by fmiser/Philip from the roadmap
mailing list. Thanks Philip!!!
- Support for building .rdm data from OpenStreetMap country snapshots,
in addition to quadtiles. Preparatory work for allowing navigation
using those maps. (Danny Backx)
- New 'V' key-binding to create waypoint from current GPS position.
- Refactored the documentation into more files for easier maintenance.
Switched to "txt2tags" (from "aptconvert") for generating online
copies of docs.
- Added "advanced style" support, which adds many new line types etc.
Currently still disabled via ifdef.
- Allow fatal message popups that occur very early to actually be seen.
(Previously we were exiting before they were made visible.
- Added license message to About menu.
- Added ability to suppress on-screen errors entirely. (Joshua Layne)
- Added ability to auto-build makefile dependencies.
- Many source files now support doxygen format function and file headers.
- Added commandline arguments for setting the system and user config, and
the icon path.
- RoadGPS console now shows sun and moon positions. (from Morten Bek)
- Tooltips now include key-binding help.
- Added support for OLPC XO laptop, in the form of scripts to bundle
RoadMap as an activity.
- Allow suppressing the "Lost Satellite" message with a timeout parameter.
- Resurrection of WinCE support, from Danny Backx (uses minw32ce).
Includes GPS autodetection, and CAB files for installation.
- Added several revisions' worth of support for Apple iPhone and iPod,
from Morten Bek.
- Remove many redundant repaints, for better performance on slower
machines.
- Preserve label, dynamic orientation, and 2D/3D preferences. (Joshua Layne)
- Add timeout which allows map to stop tracking the GPS after a short
delay if it's now off-screen. (Useful when you pan away from the
GPS, to stop the map from continuing to move.)
- Rationalized the units used for storing and passing altitude.
- Improve handling of GPS devices that come and go.
- Added GPS time to GPS console screen.
- Merged RoadGPS functionality into RoadMap, so separate executable
is no longer necessary (though still available).
- "North Up" is now the default mode. It's much more efficient.
- Code can now more easily destroy previously displayed message boxes.
- Can now handle many more satellites, and satellites with bigger ID
numbers, in RoadGPS.
- Fixed issue with new fields appearing in gpsd2 protocol sentences. We
should now be tolerant of such changes in the future.
- Improved handling of messages that pop up when the GPS reception is
poor.
- Added ability to scale sprites, either individually, or all at once.
- Added font size control for RoadGPS.
- config files can now have CR ('\r') characters at end of line.
- Added ability to disable progress bar display, and configure its delay.
- Improved efficiency of map paths specified with "/..." -- the trees
are now only walked when needed.
- Make the screen much more responsive when lengthy rendering is in
progress. User "type-ahead" (or "mouse-ahead") can now interrupt
rendering.
- Added a progress bar to show expected duration of lengthy repaints.
- Small optimizations to how often the screen is refreshed.
- New support for "overrides.mk" file allows build preferences to be
specified without editing any distributed files.
- New "--user" and "--icons" command-line arguments to accompany
"--config" and "--maps". If specified, the values of the "--icons" and
the "--config" options are passed to roadgps when it is started, so that
it can find its config and icons in the same places.
- Modify what what focus is saved on shutdown -- if the focus
is GPS, then preserve it, otherwise, "hold" the screen at the
current center, and preserve that.
- New key bindings, for full-screen toggle (F11) and to handle the
special keys on the XO (OLPC) laptop.
- Fixed problems resulting when flite not installed.
- Initial localization support, ported from editor branch by
Alessandro Briosi. (*)
- Reorder latitude/longitude fields in Find-->Position dialog, to
better match common practice. Added in-dialog syntax help as well.
- Properly render fully-shaped TIGER polygons. Polygons with holes,
and overlapping polygons, may still not render correctly.
- Screenshots (where supported) are now named with date/time.
- Various QT/QT4/QPE4 fixes from Junqian Gordon Xu and
Alessandro Briosi.
- Added support for building .rdm files from OpenStreetMap
data. See (temporary) README.osm for usage details.
- Validate value of AGG selection during build. Fix misleading text
in README regarding AGG selection.
- Rearrange options processing slightly so standard toolkit options
can be discovered (e.g. "-sync").
- Fix bug which flipped sign of some lat/lon values between 0
and -1 degrees.
- Improved aesthetic in roadgps, from Alessandr Briosi.
- Added ability to add text (with optional outline box) to a sprite,
either directly, or via a screen object that can provide dynamic
text values.
- Added minimal "mapinfo" action, which reports dimensions and location
of current map view. (Help-->Map Parameters)
- Support for overlay rendering of externally-provided polygon objects.
(Pascal Martin).
- Support for VII location protocol. (Pascal Martin)
Roadmap v1.1.0 (October, 2007)
Items marked (*) originated on Ehud Shabtai's roadmap_editor code branch.
- GPX data interchange support has been added. A single GPX file,
containing waypoints, routes, and tracks, represents a RoadMap
"Trip".
- Landmarks (waypoints) can be created/deleted/edited/moved either
via mouse or dialog. Deleted landmarks are saved, and can be
undeleted (even into a different trip).
- GPS track display (breadcrumb trail) based on distance, time, or
path deviation, with robust saves to disk, even if roadmap
crashes.
- Street and landmark labels are now rendered on-screen, using
either the system or a primitive internal font (which has
tuneable size). Labels will be angled to align with the
street, if the font permits. (*)
- "Feature" files -- GPX-based lists of "points of interest", with
tuneable coloring, display sprites, labeling, and decluttering
- Per-side-of-street address ranges now work correctly. (*)
- Roads with no addresses are now searchable. Addresses now
stored as unsigned.
- Address searching now knows about "common" streat/road abbreviations.
- Can now display screen dimensions (in miles or km) in a "sign"
display message.
- "Long lines", those which begin and end in non-adjacent squares,
are now saved in a separate list. This guarantees they will always
be displayed. The extra expense is similar to that for polygons,
which are also not displayed "by square". (*)
- Support for Canadian RNF maps added.
- Support for US State boundary maps added.
- Paths in preferences (e.g. Map.Path) can now specify directories
ending in "/...", to indicate that tall subdirectories should be
searched as well.
- AGG support. GTK2 can now display using anti-aliased lines. (*)
- Long and right clicks can now bring up a configurable popup menu.
- Extended the implementation of popup menus -- they can now be bound
to other menu items, which allows for cascading menu
effects. Popups can also be bound to toolbar buttons.
- On-screen state indicators and control points (i.e. active icons)
based on RoadMap sprites, for display and control of some RoadMap
features. On-screen sprites can now invoke any action or popup,
just as menus and toolbar buttons can. (*)
- 3D "perspective" viewing mode mode. (*)
- Railroads will now be displayed.
- Performance improvements (both space and time) for very sparse maps.
- GTK/GTK2 dialogs are now modeless.
- Allow for more polygons (from 65K to 1M).
- Additional QT support for tooltips, button icons, initial
width/height settings. New QT4 support.
- Makefiles rewritten for better modularity and readability. Rules
for tarball creation incorporated into makefiles.
- rdmgenmaps is now easier to use -- can now specify a state name. Also,
all of the rdmgenxxxxx scripts now take a more uniform set of options, and
they all have proper usage messages.
- buildus got a new "-c" option, which tells it to look for maps
along the configured Map.Path preferences item.
- Can now replay NMEA data from a file (produced, for example, by gpsbabel)
- Signals are now caught gracefully, so that unsaved
landmark/trip/track files can be preserved.
- Performance improvements -- if processing a county above a
given zoom level produces no drawing, this will be remembered,
and that county won't be processed again at that zoom level or
above.
- Support for latest census maps (2006se)
- ImageMagick (for "convert") now optional when building.
- 64-bit compatibility. Probably needs further testing.
- Map schema changed to eliminate hard-coded layers.
- Many buildmap improvements, in terms of modularity.
- Initial work on architecture independent map exchange format and tool.
- Initial work to allow cross-compiling RoadMap for WinCE using
arm-wince-mingw32ce toolchain.
Roadmap v1.0.12 (November 4, 2005)
- Makefile cleanup: everything must now be built in src. If only
one toolkit support is to be built, use the DESKTOP option. Please
read the README file for more information.
- Small addition to the README file, section "troubleshooting".
- RoadMap uses a minimum refresh period to avoid recomputing the screen
too often. This period is now a preference. Not that you normally would
want to change this, but this helps on some very specific setups.
- The --debug option now accepts a list of source files as parameters.
- Reworked the roadmap_trip.c API, to have a common API between the
current trip module and the upcoming one from Paul.
- Make RoadMap resynchronize with the graphic engine (X11) before drawing
a new map. Don't redraw if the graphic engine is busy. This is intended
as an attempt to avoid overloading the X server on a PDA (Paul Fox).
- Support defining a sprite as an alias of another sprite (Paul Fox).
- Show the preference categories sorted in alphabetical order, to
makes it easier to retrieve a category tab.
- Expand all paths, including the hard-coded ones (Ehud Shabtai).
- Fix the handling of the end-of-file when the GPS source is a NMEA log
file.
- User preference to decide what side to draw the toolbar on: top
(default), right, bottom or left. (Not yet available on Windows CE.)
- A fix for the shape gap filler code in buildmap. buildmap generated
wrong shapes for long lines (Ehud Shabtai).
- The menus are now user configurable, in a way similar to the toolbar.
The actions can be renamed, to match the size of the screen better
(Paul Fox and I).
- The minimal mouse/pen movement required to initiate a map drag is
now configurable: some screen digitizers have a significant jitter,
but a large value is incomfortable on a desktop machine (Paul Fox).
Roadmap v1.0.11 (September 9, 2005)
- Merged a patch from Gergely Molnar to make screenshots of the
RoadMap canvas. Only the first patch was merged (single screenshot).
Still trying to figure out how the 2nd patch works (record a "movie"
of the trip).
- Removed arbitrary string size limits in the driver's protocol by using
dynamically allocated strings (garbage collected using reference count).
- Fixed a gcc 4.0 complain.
- Fixed some type errors in the math functions (max() is for int!).
- Fixed a bug in the NMEA decoding (thanks to Ehud Shabtai). This bug
might explain several other issues people had.
- Many changes to make RoadMap more portable to other OSes.
- Added some missing files to the distribution: a default "session" and
the man pages.
- The toolbars can now be configured by the user, to fit small screens
with the user's preferred controls.
- RoadMap now supports the gpsd native protocol. The user can select
to use either the NMEA raw mode (gpsd://...) or the new native mode
(gpsd2://...).
- RoadMap is now available on Microsoft Windows CE.
(port implemented and maintained by Ehud Shabtai).
- Drivers can now "link" to RoadMap using a TCP connection (required
for WinCE, which does not provide pipes).
- RoadMap can now redistribute the NMEA data to the drivers (it simulates
the NMEA data if the feed protocol is not NMEA).
- Fixed the sunset/sunrise calculation (tested against LA, London, Paris).
- Added the object pseudo-protocol: Roadmap to use one driver's object
as GPS source. This makes it possible for a driver to supply the GPS
position. Configuration syntax: object:.
- Merged a patch by Ehud Shabtai, plus some improvements: when zooming
in, the streets now have a border and look more professional.
- Merged a patch by Ehud Shabtai: the map view follows a mouse drag.
- Updated RoadMap to support the US Census Bureau 2004 Second Edition.
- Avoid repeating an error message when a map file is not found.
- Changed the RoadGps log file mechanism to let the user select what
and where the log file will be (using a file selection dialog).
Roadmap v1.0.10 (may 15, 2005)
- Added a decoder for the NMEA sentence GPGGA (provides the altitude).
- Added the altitude to the information that can be shown on the
display (using the tag %H).
- Fixed the Find / Position dialog, which now decode the ISO 6709-1983
format correctly, with extensions: the traditional W, E, N, and S
are accepted, either as prefix or suffix.
- Fixed some packaging errors (the make files need to be in the binary
distribution so that "make install" can be used) and improve the
documentation in this regard.
- Fixed the roadgps screen (GTK2 bug) and merged some of the ideas
from RoadMap/Kismet (satellite rectangle is proportional to signal
strength, but I keep the bargraph for now--more readable).
- Don't require the user to acknowledge each map download (very
inconvenient when driving). Another (good) idea from Kismet users.
- Accept NMEA sentences from any standard source. Correct interpretation
of proprietary NMEA sentences.
- Fixed the QT map background problem (was always white). Does QPE
needs hardcoded colors?
- Kismet users don't want the navigation enabled. Deal with all users
preferences by recording the navigation flag in the RoadMap session
(so that the user's choice becomes persistent).
- Kismet users don't want to hear any voice. Deal with all users
preferences by recording the voice mute flag in the RoadMap session
(so that the user's choice becomes persistent).
- Kismet users don't want the display to rotate. Make the rotation a
user preference instead of a menu choice. This simplifies the user
interface, the code and will (hopefully) make everyone happy.
- Implement a driver architecture to allow interfacing to other
systems without modifying RoadMap. This also make it possible to
show other (fix or mobile) objects than the vehicule.
- Implemented a (useless but fun) "ghost" driver to serve as a test
for the driver mechanism and as a small example of a RoadMap driver.
- Integrated the Kismet interface as a RoadMap driver. Still untested.
- Removed the spurious message that trip "default" does not exists when
starting RoadMap for the first time.
- Modified the make files to solve problems on MAC OS X.
- Expanded on the description of the installation directories and
added a related entry in the help menu.
- Merge a patch by Horst Raap to show small distances in meter or feet.
- Added a driver for gpsdrive's friends protocol.
Roadmap v1.0.9 (March 7, 2005)
- Fix a compilation problem with gcc 3.4 and possibly gcc 3.3.
- Almost completly clean the "north, south, west, east" thing.
- Fix some GCC "pedantic" warnings.
- Get rid of the C++ comment style in plain C code (no "//").
- Change the search path for configuration files: this search
path is now hardcoded (chicken and egg problem if the path
to the configuration file is itself configured..) and is
independent from the map search path. It also include /etc/roadmap
to let sysadmin configure a local machine setup.
- Change the default map search path to become more compliant with the
Linux FHS: use /var/lib/roadmap and /usr/lib/roadmap (all "share"
files should be architecture-independent, but the rdm files are C
structures..). The directories /usr/share/roadmap and
/usr/local/share/roadmap are still in the default path to maintain
compatibility, but these will be removed in a future release.
Please notice the default preferences file has not been modified yet.
- Don't blindly assume GPGSA always includes the max number of satellites.
- Remove an obsolete --path option (regression in 1.0.8).
- Support the 2004 edition of the Tiger files.
- Extensive cleanup of the make files for building a Debian package
(or more exactly to facilitate the building of a Debian package).
Roadmap v1.0.8 (November 8, 2004)
- Fix a GPS source selection problem: when launched from RoadMap,
roadgps now uses the same GPS source option as set for RoadMap.
- Generate an error is a required configuration file is missing,
such as schema (thanks to James L. McNeill for finding this one).
- Improve the make files: it is now possible to choose one toolkit
at the top level (option DESKTOP=toolkit) and the gtk2 makefile
behaves better when used with a cross compiler.
- Temporarily allow the use of obsolete GTK features to stay
compatible with GTK 2.4.
- Use the "action" design pattern for describing the menu and toolbar,
as this is the normal way for GTK 2.4 and QT 3. The GTK and QT code
has not been migrated yet: the roadmap_factory translates the new
data structure into the old GUI interface for now.
- Redesigned the interface between buildmap_main.c and buildmap_tiger.c
to make it more generic and to be able to support shapefiles (see below).
This redesign causes the interface of buildmap to be different from
previous versions (rdmgenmaps was upgraded and still has the same
interface as before).
- Added a prototype of shapefile support. This is not yet fully usable
as is, except if you are ready for some coding on your own :-). The
problem is that shapefiles are really a family of formats rather than
a well defined standard. (provided by Stephen Woodbridge.)
- Added support for the Digital Charts of the World, i.e. major routes
for most of the world. Still incomplete, but functional. This can be
viewed as a simple example on how to convert shapefiles. (provided
by Stephen Woodbridge.)
- Fix the usdir.rdm format--a short was used for fips (reported by
Stephen Woodbridge). Note this fix means that usdir.rdm MUST be
upgraded. RoadMap was modified to check this. Note also that only US
territories in the Pacific and caraibes were impacted by this bug.
- Fix for a potential division by zero when a block contains only
one address (thanks to Stephen Woodbridge for finding this one).
- Fix a RoadGps crash when receiving the position of 16 satellites:
RoadGps was limited to 12 satellite max, and did not check the NMEA
data was over this limit..
- Increase the limit on the number of "squares" RoadMap can visualize
on one screen. This is an internal limit that prevents from zooming
out when using maps generated from the Digital Charts of the World.
- Some minor cleanups in the RoadMap code: replace as many insane
"north, south, west, east" sequences of argument with a new type
used all over the place. This is unfinished business, still.
Roadmap v1.0.7 (July 5, 2004)
- Fix some gcc warning against libpopt primitives.
- Fix some potential overflow problems (no actual problem was reported).
- Switch to gcc 3.3 and QT3. RoadMap compiles clean with QT3 as long
as the QT2 compatibility header are installed (qdialog.h, qlist.h
qvector.h, etc..).
- Follow suggestion by Akkana Peck: tolerate spaces between the '?' and
the city name when using fuzzy searches.
- Follow suggestion by Paul Fox: tar files to use a directory name made
with the version number (i.e. roadmap-1.0.7).
- Fix a street selection problem: activate the proper county when
the user selects a street from a list (Find Address..). Bug reported
by Mark Whitis.
- GTK2 only: set the first item as selected when opening a list.
Roadmap v1.0.6 (May 30, 2004):
- Fix by Paul Fox: RoadMap may crash at the intersection of counties
if the street search causes another map to become current.
- Minimally decent help, using the HTML manual and a web browser.
- Minor documentation changes: describe the use of aptconvert, make it
explicit that RoadMap can be used without a GPS receiver.
- The documentation tar file now contains a complete copy of the RoadMap
web site's html pages.
- Take into account the disappearance of roadmap.saignon.net.
- Please note: some sqlite code has been included, but no functional
point of interest is available yet.
Roadmap v1.0.5 (December 25, 2003):
- The Familiar package is now built with "-march=armv4 -mtune=xscale"
(thanks to Philip Blundell for the info).
- Integrated the sunrise/sunset calculation from Eric Domazlicky. At
that time this information is only used for display. In the future
it may be used to decide between night and day themes.
- A regression was fixed in buildmap: merging address range ended
with the wrong city name. The maps on the RoadMap sites are not
impacted.
- Merging the ranges created another problem: at some point RoadMap
checks if the given address matches the street side, a invalid check
when it comes to a merged range. The check was improved to limit the
odds of not finding an address, but a potential problem still remains.
Note that the maps available on the RoadMap web site have no merged
range, and are thus not impacted.
- Some cleanup in the RoadMap icon management: the search order is
not only more logical, it has also become documented.
- Some cleanup in the declutter section: the obscure rules for
decluttering polygons and shapes have been replaced with rules
based on the visible size of each object. This is step one toward
a more sensible declutter management, as suggested by Russ Nelson.
- Rethink the drawing (stacking) order of information on the map, so
that waypoints sprites don't show up on top of the street signs.
The order is now, from bottom to top: waypoints, trip info, street
signs.
Roadmap v1.0.4 (November 22, 2003):
- Changed the name of the familiar package to "roadmap" to
conform with Familiar's guidelines.
- Repaired the voice problem with GPE (waitpid() does not work
when RoadMap started from the application manager--might be
caused by a process group not set?).
- Use some official road signs (and a few hand-made icons) for the
toolbar, because the Gnome toolbar setting "Icon Only" has a weird
effect when there is no icon (thanks to Mathias Kolehmainen for
helping to solve this problem--my archives show the first sighting
was actually reported by Darrick Hartman long time ago).
- Made the icon above optional with the preference item General.Icons,
so that one can avoid using them on small screens (such as the iPAQ).
For small screens, either the icons or the label will be shown, not
both.
- Do not use SIGCHLD by default, since there are the above problems
with GPE.
- Added a "documentation" package, for those downloading the Familiar
package through IpkgFind or a Familiar feed.
- Made the documentation available as HTML on the RoadMap web sites
(RoadMap README--renamed "Manual"--and the Familiar INSTALL notes).
Roadmap v1.0.3 (November 2, 2003):
- Fix loading the sprite file twice if one directory earlier in
the path does not have a sprite file (contributed by Mathias
Kolehmainen).
- Add preliminary support for GPE (tested with familiar v0.7.1).
- Create a desktop environment: .desktop file and pixmaps. The
icons were produced using the (excellent) SignMaker applet.
{{ http://www.kurumi.com/roads/signmaker/sm220.html }}
The desktop environment was made according to the GPE
guidelines (icons size 48x48).
- Cleanup the make files: use GNU make's conditional for handling
the GPE or QPE options and the DEBUG mode.
- Make it possible to cross-compile RoadMap, for example by using:
make CC=arm-linux-gcc AR=arm-linux-ar
- Support 2 new general purpose signs, placed at the center of the map:
"Info" and "Error".
- When the visible area do not match any available map, generate an
information sign on the screen, so that the user knows what's going on.
- Reorganized the familiar packages: no more Gtk 1.2 and map packages.
The map files are now looked for on the MMC/SD or CompactFlash device
using the Familar standard mount point in the hope this makes RoadMap
better integrated in Familiar/GPE.
Roadmap v1.0.2 (October 5, 2003 -- the Scot Wilcoxon version :-):
- Fix RoadMap crashes when ~/.roadmap does not exist (contributed by
Scot Wilcoxon).
- Integrate a GPS position offset, as a work-around for map problems
(rework of a patch contributed by Scot Wilcoxon). Compare to the
original patch from Scot, this change uses different types for the
GPS and map positions, so that there is no confusion when to adjust.
The adjustment logic has also been isolated in its own module (likely
to be modified soon, as the current constant offset method is way too
simplistic). The adjustment is also performed as late as possible, so
that the original GPS position is the one saved in the session file.
- The GPS steering is not reliable when the speed is too low (too close
to GPS error margins). This was taken care of wherever the steering was
used: the roadmap_gps module is now taking care of this at once so that
the rest of RoadMap can rely on stable data.
Roadmap v1.0.1 (September 14, 2003):
- Added a "Hold Map" menu item (and toolbar button), to hold the map
still when one tries to select a street or just check the map. Looking
at details when the map is moving is quite uncomfortable..
- Added a "GPS position" entry in the Find menu.
- Separated the geocoding code from the address dialog code, so that
the geocoding function can be reused in other places without depending
on a GUI interface.
- The map builder code was modified so that the left and right ranges
are merged when matching (i.e. same range, one odd numbers and the
other one even numbers). This reduces the overall size of the map
files by 4-5% (75 MBytes saved for a total size of about 1.6 Gbytes).
The map files available on the RoadMap web sites have not been
regenerated (this is not worth the effort).
This change does not cause any map compatibility issue with previous
releases of RoadMap.
- Added much more keyboard bindings, so that almost all the alphabet
characters are in use now.. This was done to please my loyal Zaurus
fans :-) Also added a "dump" of the current bindings when using the
--help option, so that people can check what is supported.
Roadmap v1.0 (September 1, 2003):
- The "trip direction" red arrow sprite was acting weird when moving
the map's view (pan and rotate). The cause was that the sprite's
coordinates were not rotated as these should have been.
- Fix a RoadMap crash when GPS data is received while downloading: this
was because RoadMap was mapping the file being downloaded, before
it was complete. The (temporary) solution is to freeze any RoadMap
GPS and screen update. The long term solution should be to transfer
the map to a temporary file and then rename it.
- Implement download using the HTTP protocol.
- Uncompress gzip, bzip2 and lzop files after download, detected using
well known suffixes. Downloading compressed files helps cut the
download time by a factor of 2 in average (using gzip).
Roadmap v1.0rc9 (August 24, 2003):
- Added an on-the-fly map download mode. When this mode is enabled,
and if a map file is not found, RoadMap asks the user to confirm
downloading the map. It is also possible to remove maps, of course.
- Changed the list management in the Qt code, so that a single click
is all what's needed to select an object, rather than a double click
that is always annoying on a PDA (and on X11 as well..).
- Fixed some alignment problems in the Qt module.
- Fixed the ever extending list box in Qt: clean the list before
updating (i.e. repopulating) it.
- Refresh the screen periodically, not each time the GPS information is
received. This helps RoadMap catching up when it is too slow to process
the GPS information on time, and avoid RoadMap to become unresponsive
to user actions. A side visual effect is to make RoadMap seems to
"jump" from a position to the next, becoming not as smooth as before.
- Do not stop a trip just because the map's focus has changed.
Roadmap v1.0rc8 (August 2, 2003):
- Redesigned the navigation module. Navigation is now based on fuzzy
logic and takes into account the position, direction and speed of
the car, as well as the street connectivity (to "promote" streets
connected to the current street).
- Do not stop at the first street when searching for any city (i.e.
when prefixing the city name with '?').
- Add history to the intersection and coordinates dialogs.
- Improve debug trace to be able to filter per source file (i.e. enable
trace for a specific source file only), option syntax: --debug=source.
Roadmap v1.0rc7 (July 4, 2003):
- Do not use SIGCHLD anymore, as it seems to crash in some cases on
FreeBSD (signal portability problem ?).
- Fixed the generation of maps when the street numbers do not fit into
a 16 bit integer (the Hawaii maps must be regenerated).
- Have all the necessary characters in the Gtk keyboard: '?' and '-'.
- Use a lot less memory for the squares grid (but no less than needed..).
- Change the RoadMap user interface to be more compliant with the Gnome's
Human Interface Guide. Mostly, this is following common sense advices.
- Fix yet another "square -2" error.
- Merged QT changes by Latchesar Ionkov.
- Merged an additional feature by Latchesar Ionkov: find a place using
coordinates (Longitude, Latitude).
- Merged and extended the session context changes by Latchesar Ionkov:
RoadMap now saves the latest display context on exit and restores this
context on restart. Basically, the initial RoadMap display now shows
the same area as when the user last exited, using the same zoom level
and rotation.
- Keep the display offsets (up, down, left, right and rotation) in GPS
tracking mode. This way it is possible to position the GPS symbol at
the bottom of the screen or setup the map in a (very rough) "landscape"
mode (beware: the signs are not rotated..).
- Do not show the navigation signs (current street, next intersection)
when not tracking the GPS position. Note that the voice messages are
not filtered the same way (bug or feature ?).
- Selecting a street on the map does not overwrite anymore the location
selected using a dialog (address, intersection or position). This makes
the "L" button much more usable.
- Fixed a few potential memory leaks. There are probably other leaks
because the size of the RoadMap process memory grows when replaying
the same trip log over and over.
- Fixed the error recovery when the user selects a trip file that does
not exist, or when the latest trip has been deleted.
Roadmap v1.0rc6 (June 2, 2003):
- This is a brown bag version: fix 3 regressions and one old bug found
after a single trip (with a brand new GPS receiver :-).
- Voice was silenced.
- Don't consider the direction if the speed is at the noise level. In
this case the direction is pure junk because the only movement is
GPS errors.
- When a sign is shown on more than one line, the text was truncated
to its first line after 1 second. In fact, the text was truncated
after first displayed: any refresh thereafter shows the damage.
- The old bug: the number of parameters in the NMEA GPGSV sentence
actually depends on the number of satellites listed, it is not
always greater than 9.
Roadmap v1.0rc5 (June 1, 2003):
- Integrated the "find by intersection" feature by Latchesar Ionkov:
try "Screen / Show Location..". This is a really neat feature, thanks
Latchesar!
- RoadMap and RoadGps now periodically attempt to reconnect to gpsd
if the connection has failed.
- RoadMap now has a "full screen" mode when using GTK2 (not GTK or QT).
Too bad my window manager does not seem to cooperate: nothing happens.
Or maybe is it a bug in RoadMap? I don't know yet..
- Two garmin-specific MNEA sentences have been implemented: one to detect
when the GPS receiver's datum is not compatible with RoadMap (must be
NAD83 or WGS 84), the second to get the estimated position error (EPE).
Note RoadMap should work with no problem with other brands: the EPE
will stay at its original worst case value and the datum check will
never be performed.
- Fixed several errors in the code that search the closest street (used
for street selection and street navigation). This should lead to
a more stable street identification & navigation.
- The navigation module now searches for the next intersection only
if the car's speed is greater than the GPS precision worst case.
This improves RoadMap's stability when the car has stopped.
- RoadMap is in the middle of a redesign of the navigation module,
using fuzzy logic and considering the car location, direction vs.
the street geometry. This version includes all the changes required
for providing the navigation module with the necessary information.
The next step is to rewrite the navigation module itself.
Roadmap v1.0rc4 (May 11, 2003):
- Fixed a fatal error in the navigation code when driving not too
far from a county border.
- Fixed a fatal error in the map activation code: the current map
was not updated correctly if it was already in the cache.
- The RoadMap debug log messages are now saved to a file. A rough
stack information is displayed (quick and dirty). This is the
result of the bug hunt above.
- The user can now disable and re-enable the navigation features
(this way it is possible to skip them when they crash RoadMap 8-).
- The "trip stop" menu item now preserves the screen orientation
selected by the user when activating the trip.
- Fixed a signal programming bug that hit the Zaurus port
(thanks to Latchesar Ionkov).
- Makefile cleanups.
Roadmap v1.0rc3 (April 20, 2003):
- Hopefully made street tracking more stable.
- Added detection of the next intersection.. with spotty results.
- The navigation module is now called from the GPS event callback
and not anymore from the screen module. This avoids going through
screen-oriented filters.
- Some type cleanups (i.e. use 'const' as much as possible).
Roadmap v1.0rc2 (April 13, 2003):
- Fixed street tracking when more than one county is visible.
- Cleanup and reorganization: prepare the detection of the next
intersection.
- A few code optimizations.
- Fix a RoadGps bug that shows up with GTK2.
- Fix text mixup when both the "selected street" and "current
street" signs are displayed.
- More stable street tracking.
Roadmap v1.0rc1 (April 6, 2003):
- Added Gtk 2.0 support as an alternative GUI.
- Integrated Qt support as an alternative GUI, thanks to Latchesar
Ionkov. The Qt implementation includes an optional QPE support for
the Sharp Zaurus PDA.
- Detect the current street and show its name on the screen.
- Double all street information on the screen with audio messages.
This feature is user configurable, the RoadMap default coniguration
uses the flite program.
- Some code cleanup and reorganization.
- Updated the README file.
Roadmap v0.15 (March 16, 2003):
- Improve trip load and save: use the GTK file selection dialog.
- Trip on-screen information now include current time and speed.
- Trip on-screen information has been made user configurable.
- The geometry of the RoadMap windows can now be configured, either through the
preferences dialog or from the command line.
- Cleanup the roadmap command line options, added --help.
- Some code cleanup and reorganization.
- Updated the README file.
Roadmap v0.14 (March 4, 2003):
- New trip support: save trip, load trip, add & delete waypoints, start
trip (shows additional information), etc.. This comes with a new menu
organization.
- Support for coming back from a trip: targets the departure point.
- Fix toolbar enable/disable logic, which was broken in a previous change.
- Cleanups: make more use of the C's "const" keyword.
- Once again, better isolation of UNIX specific dependencies.
- Improve makefiles, so that a source change is recompiled as expected.
Roadmap v0.13 (February 17, 2003):
- Added scrollbars to the street selection list window, to handle long
lists.
- Add fuzzy city search and make the street number optional, both options
are meant to allow broad searches.
- Add two options to define verbosity levels. Make the log INFO and DEBUG
levels optional, so that they can be used. This adds the --verbose and --debug
command line options to gtkroadmap.
- Add a configurable address history to the address dialog. This history can
be purged from the RoadMap File menu.
- Fixed the missing rdmcompare. When will I stop forgetting new scripts each
new release ?
- Cleaned up the Makefile and made libpopt dependency explicit (thanks to
George MacDonald).
Roadmap v0.12 (February 14, 2003):
- Fixed a floating point exception in buildmap due to a bad calculation of
the grid required to cover a county (maps available for download are OK: this
bug was found when building them).
- Added rdmcompare, a small tool to check that all counties have been
translated into RoadMap map files.
- Fixed two bugs in the address retrieval logic, which caused spurious
multiple matches (it matched the same block more than once..)
- In case of multiple matches, show the list of streets that match and help
the user select one.
- As the county subdivisions and place areas collide, there are unintended
consequences merging the two. For now, only use the place information if
exists (if not, the county subdivision is used anyway). Longer term solution
is to separate the two and search through one and the other separately (and
join the result).
- Isolate the Unix dependencies better: the default directory path to be
defined in one place only. This is still a work in progress.
- Handle the street prefix, suffix and type fields. These may be entered in
the street name field. They are recognized automatically.
Roadmap v0.11 (February 1st, 2003):
- Switched the default to the US Census Bureau's 2002 Tiger file format.
- Fixed a fatal error with 2002 city descriptions.
- Buildmap and buildus can now generate map files to an arbitrary directory
(instead of the current directory).
- Renamed the scripts "makemap" and "downloadmap" in an attempt to avoid
name conflicts with other software projects.
- Take the list of counties from the US Census Bureau's file app_a02.txt
instead of AllSt.txt, because the later does not seem to be maintained (it
does not match the 2002 list of counties anymore).
- Fixed problems with street numbers in Wisconsin (and some other states).
All in all, the street number problem is still a sore point: these are not
numerical, therefore street ranges are not really ranges anymore. The current
code is a hack that attempt to extract a reasonable numerical number from the
actual street "number".
- Fixed a bug with small counties that fit in a single "square": the map
file was generated corrupted and RoadMap could not use it.
Roadmap v0.10 (December 22nd, 2002):
- Fixed the Wyoming visibility problem.
- Fixed the missing unix subdirectory and map build scripts (oops..).
- Fixed the default zoom level logic.
- Optimization: draw points instead of lines when the object was reduced to
a single display point (for example when zoomed out enough to show several
states).
- Optimization: do not show polygons reduced to a single display point.
Please note that the content of the map files has slightly changed due to
these changes. The map files must be downloaded again, or regenerated, when
upgrading RoadMap to version 0.11.
Roadmap v0.9 (December 15th, 2002):
- Fixed the trail declutter level setting.
- Fixed the state visibility problem.
- Fixed the island visibility problem (also known as the disapearing
Catalina Island problem).
- The makefile now has a separate installation for the software (plus
configuration files) and for the maps. This is because the maps are usually
built later on, probably out of the RoadMap directories.
- Started to isolate UNIX API dependencies.
- The buildmap tool can now create maps one state at a time (option
--state=XX).
- Created the makemap and downloadmap scripts to simplify the process of
downloading and building maps.
Roadmap v0.8 (December 1st, 2002):
- Show the Tiger files PLACE as a city: this happen to be more exact than
the county subdivision. As this is a change to buildmap, this requires to
rebuild the maps.
- Add the keyboard to all dialogs, i.e. to the Preferences dialog as well.
- Isolate the GUI toolkit code for the main window: the roadgps and roadmap
programs now use an abstracted GUI API, for which a Gtk implementation is
provided.
- Change the makefiles and the name of the RoadMap's ipk package to allow
for other GUI toolkits support.
Please note that the content of the map files has slightly changed due to
these changes. The map files must be regenerated when upgrading RoadMap to
version 0.8.
Roadmap v0.7 (November 24th, 2002):
- Add cities which FIPS code was the same in 1990 and 2000. These cities was
previously filtered out by mistake.
- Add the freeway ramps, which were also not included before.
- All symbols shown on the map (GPS position, destination, etc..) are now
user-defined. A new configuration file, "sprites", defines the look of these
symbols.
- The symbols have been redesigned, hopefully these are now more fancy.
- The GPS position symbol now indicates the direction of the movement.
- RoadMap shows a compass symbol that indicates the direction of the North
pole. This is especially useful when the map was rotated.
- The configuration files have been reorganized, in part to avoid hardcoding
the properties of the objects on the map (streets and others).
- The module roadmap_config.c has been reorganized to be more generic and
flexible, and to handle the new configuration file organization.
- The canvas widget has been abstracted to make RoadMap more portable. This
is only one step toward portability: the next steps are to abstract the main
window, the dialogs, and then the OS API.
- The drawing commands have been buffered to improve performances and to
minimize the overhead generated by the abstracted canvas layer.
- The trigonometry functions have been replaced with pre-computed tables.
This makes it possible to use integers most of the time: only a handful of
real values are still used. The rotation code has been reorganized to improve
performances.
- As a result of the changes above, RoadMap is now faster than before (seems
to be 30% faster on an iPAQ 35xx).
Please note that the format of the map files has slightly changed due to
these changes. The map files must be regenerated when upgrading RoadMap to
version 0.7.
Roadmap v0.6 (November 1st, 2002):
- This version has been tested on the road with a real GPS (a Garmin 38).
- Avoid redrawing the map twice when tracking the GPS position.
- Add an "install" target in the make file.
- Add a menu description file for Gnome and GPE.
- The street name now stays a minimum of 10 seconds on the screen (can be
adjusted in the preferences dialog), even while tracking the current GPS
position. The selected street block is now indicated by highlighting the two
endpoints only (versus the entire line as before).
- Preliminary support for the 2002 release of the Tiger files.
- Use the popt library for the build tools' line arguments (buildmap,
buildus, dumpmap).
Roadmap v0.5.1 (October 23th, 2002):
- Provide the URL for AllSt.txt in the README file.
Roadmap v0.5 (October 20th, 2002):
- Added support for map rotation.
- Defined four screen modes: show destination, fixed location, track GPS
with map orientation, track GPS without map orientation. Each mode has its own
independent orientation (the 3rd mode being dynamic).
- speedup the street search: focus on a limited area around the cursor.
- Added launcher for roadgps in roadmap's menus.
- A few minor bug fixes.
Roadmap v0.4 (October 13th, 2002):
- Added a Gtk GPS console (roadgps) to help debug the GPS interface.
- Make roadmap really track the GPS position in realtime.
- Did I mention there is now a preference editor? (new in 0.3, actually).
- Significant cleanup of the Gtk dependencies, so a port to QT should be
possible.
- A few more bug fixes.
Roadmap v0.3 (September 29th, 2002):
- Added an interface with gpsd: RoadMap now shows the current GPS position
when available.
- Change the default database path to include the current directory.
- A few more bug fixes.
Roadmap v0.2 (September 2nd, 2002):
- Handle very large grids (more than 64k squares).
- Fixed the 32 bits street numbers bug.
- Create intermediate shape points when the existing ones are too far away
for a 16 bit delta.
- Fix a crash when the current position is out of any known map.
- Fix a crash when the city name has a typo.
- Save the selected destination and current location in the roadmap session
file, so we remember them on the next session.
- Changed the RoadMap defaults to make the demo map easy to use.
Roadmap v0.1 (august, 2002): First release of RoadMap.