Kasuei Consultant Group
a group of enthusiast developers from Hong Kong
Products
Wi-Fi Graph
Hitchhiker
Footstep
Shindig
Quick Access
Navigation
Main Page
Random Page
Create a new Page
All Pages
Categories
Administration
Administration
File Management
Edit Sidebar
Login/Logout
Language Selection
Your Profile
Create Account
Quick Search
Advanced Search »
Back
History
Footstep
==Introduction== Footstep is an application that runs on Windows Mobile platform, it multiplex data from a GPS device and mimic as a Bluetooth GPS device. The GPS data could come from built-in GPS chips, or from another Bluetooth GPS device (requires devices with Bluetooth 2.0, or supports multipoint connection). While footstep multiplex data, it can also logs GPS data to file, or thru custom DLLs. ==Initiative== We got a [http://www.globalsat.com.tw/eng/product_detail_00000076.htm|Bluetooth GPS device] and we run navigation software on our beloved [http://www.pdadb.net/index.php?m=specs&id=57|HP iPAQ 4150]. They worked together for merely more than a year, very robust and worked impressively well. We also own a [http://www.pdadb.net/index.php?m=specs&id=475|HTC StrTrk], and got an unlimited data plan too. We want to run [http://www.microsoft.com/windowsmobile/livesearch/default.mspx|Live Search for Windows Mobile] and [http://www.google.com/mobile/gmm/index.html|Google Map Mobile] and use theirs GPS positioning feature while we are using our iPAQ 4150 by sharing the Bluetooth GPS device. Furthermore, we also want to blog where we are on the Earth. [http://www.twitter.com/|Twitter] perhaps? So, we spawned this project! ==Planned Features== * {S:Tick} Multiplex GPS data and emulate as a Bluetooth GPS device * Log GPS data to file ** It could be extensible to support custom provider *** Custom provider may not send data to the Internet immediately, instead, they may log it to file and send it once Internet connectivity is detected *** Scheduling of data transfer will be controlled by custom provider * On-demand start ** {S:Tick} It will only start talking to GPS when another device connect to the Bluetooth COM port ** We want to keep [Footstep] in startup list and start it automatically when the device boot * {S:Tick} Set system clock based on GPS time, a handy feature {S:Grin} * {S:Tick} Semi auto-configure Bluetooth and GPS Intermediate Driver ** {S:Tick} Supports [http://msdn.microsoft.com/en-us/library/ms850332.aspx|GPS Intermediate Driver] on Windows Mobile Standard (SmartPhone) platform * {S:Tick} Vibrate when cannot connect to GPS device while emulating or logging ** {S:Tick} Supports Windows Mobile Standard (SmartPhone) * Display an overlook of trail ** Demonstrate capability of custom DLL, or as a built-in feature * {S:Tick} Marquee status bar messages for showing multiple messages with only two lines of text ==Planned Plug-ins Workflow== * {S:Tick} When a GPS signal is received (every 1-2 seconds), will send a copy of the signal to plug-ins * {S:Tick} Send heartbeats to plug-ins every 60 seconds, nomatter whether connected to GPS or not ** Plug-ins developer are recommended to create worker threads on their own for long jobs * {S:Tick} Plug-ins can host a new Form for options and features * {S:Tick} Plug-ins will have one menu item show up on right softkey, the menu item can be a submenu * Plug-ins can show one two-line message in the main screen * Plug-ins can be disabled ** Unload event will be sent when plug-in is disabled or Footstep is closing ==Progress== We started the project on 2008 June 19, and here is the progress (in reverse chronological order): * [image||{UP}Images/calendar.png] 2008 June 29 - "Path Tracer" real world testing ** {S:Tick} Filters to show only selected segment of GPS data, or current segment ** {S:Tick} Path are color-coded by the velocity you are going * [image||{UP}Images/calendar.png] 2008 June 28 - "Path Tracer" (custom plug-ins) ** Writing Path Tracer custom plug-ins to try out APIs provided by Footstep *** {S:Tick} Log GPS data to XML file *** {S:Tick} Draw GPS path to screen, with auto refresh *** {S:Tick} Purges old GPS data, will stores up to 5 segments of GPS data (segment is an one hour GPS data, or a GPS power cycle) ** {S:Tick} Fixed issues on June 22-25 * [image||{UP}Images/calendar.png] 2008 June 25 - More real world testing ** The issue mentioned in June 22 is reproducible under following steps: *** Turn everything on, make sure they can talk to each other *** Turn off Bluetooth navigation device *** Move SmartPhone out of range of Bluetooth GPS *** Turn off Bluetooth GPS while SmartPhone is still out of range *** Turn on Bluetooth navigation device and Bluetooth GPS *** Navigation device can talk to SmartPhone, but SmartPhone cannot talk to Bluetooth GPS * [image||{UP}Images/calendar.png] 2008 June 22 - Optimizing and real world testing ** {S:Tick} Optimized to use as little CPU as possible when in background mode ** {S:Tick} Real world testing: fire-and-forget (left in pant pockets) *** Reboot SmartPhone once because Bluetooth was jammed (cannot connect to Bluetooth GPS device, but able to receive incoming Bluetooth requests) * [image||{UP}Images/calendar.png] 2008 June 21 - Multiplexing GPS signal ** {S:Tick} On-demand multiplex GPS signal to connected Bluetooth device *** {S:Tick} Users can manually click "Locate Me" to get one single update from GPS (for testing GPS connectivity) ** {S:Tick} Vibrate worked on Windows Mobile Standard (SmartPhone) *** {S:Tick} When a Bluetooth device is connected (2 shorts) *** {S:Tick} When a Bluetooth device is disconnected (1 long) *** {S:Tick} When failed to connect to GPS (3 longs every 30 seconds) ** {S:Tick} Set system time based on GPS time * [image||{UP}Images/calendar.png] 2008 June 20 - Working with GPS Intermediate Driver API ** {S:Tick} Work with GPS Intermediate Driver *** {S:Tick} Show lat/long, heading and speed on main screen * [image||{UP}Images/calendar.png] 2008 June 19 - Initial project, targeting for Windows Mobile Standard platform with .NET Compact Framework 3.5 ** {S:Tick} Wizard to configure Bluetooth and GPS Intermediate Driver *** {S:Tick} Setup GPS Intermediate Driver for paired and configured Bluetooth GPS devices *** {S:Tick} Setup multiplexor port (GPDx:) for GPS Intermediate Driver *** {S:Tick} Select different GPS Intermediate Driver
ScrewTurn Wiki
version 2.0.33. Some of the
icons
created by
FamFamFam
.