Month: November 2010

Creating a kernel with only the drivers used by your computer

If you want to create a kernel with only the driver for your system then use the diet-kconfig:
http://mirror.leaseweb.com/kernel/people/tiwai/misc/diet-kconfig

Move to kernel source code that you want to compile and execute:
$ ./diet-kconfig -a i686

When you selected all basic information then leave it and execute:
$ make
$ sudo make install

Tip: if you want to convert all modules into built-in driver in the kernel then just edit the kconfig_mod function of diet-kconfig replacing ‘$1’=m/’ by ‘$1’=y/’ .

Interpreting NMEA data

If you are debugging GPS data, then GPGGA is the most important data to get Lat/Long position. Example:

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Where:
     GGA          Global Positioning System Fix Data
     123519       Fix taken at 12:35:19 UTC
     4807.038,N   Latitude 48 deg 07.038' N
     01131.000,E  Longitude 11 deg 31.000' E
     1            Fix quality: 0 = invalid
                               1 = GPS fix (SPS)
                               2 = DGPS fix
                               3 = PPS fix
			       4 = Real Time Kinematic
			       5 = Float RTK
                               6 = estimated (dead reckoning) (2.3 feature)
			       7 = Manual input mode
			       8 = Simulation mode
     08           Number of satellites being tracked
     0.9          Horizontal dilution of position
     545.4,M      Altitude, Meters, above mean sea level
     46.9,M       Height of geoid (mean sea level) above WGS84
                      ellipsoid
     (empty field) time in seconds since last DGPS update
     (empty field) DGPS station ID number
     *47          the checksum data, always begins with *

Source: http://gpsinformation.org/dale/nmea.htm