Skip to main content

Writing Your own GPS application for Windows Mobile using .NET C# OR Visual C++ - Part 1 Introduction

Hello Folks!!!! As promised here I am with writing your own GPS Application … Part1. So let us see what the heck GPS is? I remember old saying “You should think that opposite person is layman or dumb while explaining something otherwise your lecture may not reach 100% audience”. I love this concept and try to apply whenever I am explaining to others (At times experience people may be bored with simple concepts but nevertheless I wanted to target dumbest person.

Introduction:

Our ancestors had to go to pretty extreme measures to keep from getting lost. They erected monumental landmarks, laboriously drafted detailed maps and learned to read the stars in the night sky. They are simply awesome and GREAT!!!!

Imagine driving to an important meeting with girl friend and realizing that you're lost. (Ohhh god, please give me enough strength to face her and take the heat from her J ). Your first impulse would probably be to call her and ask for directions (If she is really familiar with the map and places in the vicinity). But if you're not sure where you are, getting directions can be tricky. You may end of landing in wrong place and probably going to miss a sweet and romantic evening/day with her. So you may not want to land into this kind of situation. OK … read on.

Things are really not that difficult with today’s advanced technology. For less than $100, you can get a pocket-sized gadget that will tell you exactly where you are on Earth at any moment. As long as you have a GPS receiver and a clear view of the sky, you'll never be lost again.

GPS is acronym for Global Positioning System. Initially it may sounds like Rocket Science but in reality the technology behind GPS Client devices is not that difficult. As we'll see, the Global Positioning System is vast, expensive and involves a lot of technical ingenuity, but the fundamental concepts at work are quite simple and intuitive.

When people talk about "a GPS," they usually mean a GPS receiver / GPS Devices. The Global Positioning System (GPS) is actually a constellation of 27 Earth-orbiting satellites (24 in operation and three extras in case one fails). The U.S. military developed and implemented this satellite network as a military navigation system, but soon opened it up to everybody else.

Each of these 3,000- to 4,000-pound solar-powered satellites circles the globe at about 12,000 miles (19,300 km), making two complete rotations every day. The orbits are arranged so that at any time, anywhere on Earth, there are at least four satellites "visible" in the sky. It is simply amazing … right? I am amazed with this technology J.

In simple terminology think that GPS Receiver as “Cell Phone” and Satellites as “Cell Phone Towers”. Please remember that this is only for example purpose readers should never try to co-relative GPS technology with Cell Phone technology.

GPS receiver's job is to locate four or more of these satellites, figure out the distance to each, and use this information to deduce its own location. This operation is based on a simple mathematical principle called trilateration. Trilateration in three-dimensional space can be a little tricky, so we'll start with an explanation of simple two-dimensional trilateration.


Artist's concept of the GPS satellite constellation

....... To be continued in next part


Comments

Anonymous said…
Keep up the good work.

Popular posts from this blog

WinCE / PocketPC / Windows Mobile Power Battery Timeout - Solution

Hello Folks, I am back with yet another WinCE / Windows Mobile Solution this time it is something exciting and it is on Power Batter Suspend timeout related stuff. It is really challenging task to optimize battery life of any embedded device. Sometimes we want to control back light and battery suspend related activities through our program. OK .. here is simple question how do you control Back light, suspend timeout .. etc event through program ? To answer this question one has to understand "How WinCE operates w.r.t Power driver and what exactly happens behind the scenes". To simplify things ... i am going to divide whole things in three parts 1. WinCE OS Part whihc include Power / Battery drivers. 2. Application 3. Registry Registry : It is the place where all values gets stored i.e it acts as media for storing and retrieving values. I hope it is clear that Registry is nothing but global storage media and it has NO power to trigger anything. So that means it is of new us

What is the Current Directory in Windows CE & Windows Mobile ?

Lately i encountered  a situation where i had to find the current directory from where my application is running and all my config files reside. Question is "How do I find the current directory?" on Windows CE/Mobile devices. Desktop / PC it is just piece of cake but Windows CE / Mobile devices don't have a concept of a current directory.  Which means all pats are absolute and there is no concept called relative path. Due to lack of relative paths most of the files are loaded to the "Windows" directory and that is how Windows directory is crowded. Alternatively you can hard code directory path and insist user to load files always there. But i hate to hard code values or copy files to Windows directory.  So this has triggered to find a solution to identify my current directory. Since there is no concept of a current directory on a Windows CE / Windows Mobile device how would one locate a resource for which only a relative path is known?  That is what following c

Android Bluedroid debugging

Android Bluedroid Debugging  i.e New BT Stack from Android Community: Wow ... its been more than 2 years i updated my blog ... Am i too lazy or too busy or combination of both. Combination of both -:).  Anyways today i see a need to update my blog with some important info regarding Bluedroid debugging. Bluedroid is the latest and greatest Bluetooth stack from Android developed by Google & Broadcom jointly. So obviously Google does not have interest or resources to maintain two stacks hence they are going to drop famous BlueZ stack for good reasons.  BlueZ stack comes with lot of good tools like hcidump for debugging and i see all those tools no more work starting with Android JB MR2 a.k.a 4.3 which has Bluedroid integrated full-fledged.  So Bluedroid got to have new tools or some tools to debug but as usual Google is very poor at documenting the things and they leave finding puzzles to developers out there. SO today's quest is fining the debugging tools for Bluedroid.