Skip to content

Instantly share code, notes, and snippets.

@tdenewiler
tdenewiler / $GPRMC GPS NMEA sentence breakdown.txt
Last active September 26, 2022 20:22 — forked from tomfanning/$GPRMC GPS NMEA sentence breakdown.txt
$GPRMC GPS NMEA sentence breakdown
$GPRMC,170047.00,A,4121.23302,N,00201.31654,W,2.703, ,200417, , ,A*64
$GPRMC,hhmmss.ss,A,llll.ll, a,yyyyy.yy, a,x.x, x.x,ddmmyy,x.x,a,m*hh
| | | | | | | | | | | | \- 13 Checksum
| | | | | | | | | | | \--- 12 Mode indicator, (A=Autonomous, D=Differential, E=Estimated, N=Data not valid)
| | | | | | | | | | \----- 11 E or W of magnetic variation
| | | | | | | | | \--------- 10 Magnetic variation degrees (Easterly var. subtracts from true course)
| | | | | | | | \---------------- 9 UTC date of fix
| | | | | | | \-------------------- 8 Track made good in degrees True
| | | | | | \-------------------------- 7 Speed over ground in knots
| | | | | \---------------------------- 6
@tdenewiler
tdenewiler / CMakeLists.txt
Last active February 14, 2024 08:30
ROS Synchronization Example
cmake_minimum_required(VERSION 2.8.3)
project(sync_example)
find_package(catkin REQUIRED COMPONENTS message_filters roscpp sensor_msgs)
catkin_package(
CATKIN_DEPENDS message_filters roscpp sensor_msgs
)
include_directories(${catkin_INCLUDE_DIRS})
@tdenewiler
tdenewiler / accounting.py
Last active April 10, 2017 14:15
Useful calculations from banking account information. Calculates and plots monthly savings from a combined set of account data in CSV format.
#!/usr/bin/env python
# coding: utf-8
"""
Use at your own risk. No warranty implied. There might be errors in the code.
Useful calculations from banking account information.
Assumes data has been downloaded in CSV format from Wells Fargo website.
CSV files should all be placed in data/ directory with arbitrary names.
@tdenewiler
tdenewiler / answers.py
Last active April 26, 2022 02:09
Find ROS Answers users with most karma from answering questions
#!/usr/bin/env python
"""Get interesting information from http://answers.ros.org."""
from operator import itemgetter
import requests
from requests.exceptions import ConnectionError as ReqConnectionError
from tqdm import tqdm
from tabulate import tabulate
# pylint: disable=invalid-name