GPS parser which read raw GPS messages, selects only the valid ones and sends them to CAN bus

Overview

EagleTRT GPS System for Fenice

GPS parser which read raw GPS messages, selects only the valid ones and sends them to CAN bus

Compiling

GPS Logger

gps_logger works both with a real GPS connected via USB and with GPS simulator of Eagle-CLI

In order to compile it you can just do

gcc gps_logger.c -O3 -lm -o gps_logger

The genereted executable works with the real GPS, but if you want to test the GPS with the simulator you should use the TEST flag

gcc gps_logger.c -O3 -lm -D TEST -o gps_logger

Keep gpslib.h in the same folder of the gps_logger

CAN Listener

In order to start and stop the GPS logger when needed, there is can-listener which looks for the starting/ending CAN messages sent to the telemetry, so it is easier to find the desired data later, based on timestamp of the execution

In order to compile it you can just do

gcc can_listener.c -o can_listener

Makefile

You can also just use make command to compile the source files (only working with the real GPS compilation for now)

Executing

GPS Logger

To execute it you should also provide the port where it is connected and the path to the folder where you want to save the logs

If you are using the real GPS the port should be /dev/ttyACM0, but after some plugs and unplugs the number could change since it is a serial port

./gps_logger /dev/ttyACM0 /path/to/gps/log/folder also port

If you are simulating the GPS the port should be /dev/pts/n, where n is a number

./gps_logger /dev/pts/n /path/to/gps/log/folder

CAN Listener

When you execute this script you can also provide a different path of the GPS Logger, otherwise it supposed to be in the same folder and it searches for it there

Moreover you need to define the folder where the GPS Logger would save its data

./can_listener /path/to/gps/log/folder

./can_listener /path/to/gps_logger /path/to/gps/log/folder

Systemd service for CAN Listener

You can also use a service to keep the CAN Listener executing, searching for the activation/idle service. Remember to edit the ExecStart option providing can_listener path

TODO

  • Format and upload the code
  • Pass the log paths
  • Print informations on the screen
You might also like...
all valid pull requests accepted!!

Hacktoberfest_2021 Hacktober Fest Details Important Notice The repository has been marked as "Excluded Project" by Hacktoberfest Algorithm. I have no

Contribute on this repository with valid pull request.

Hacktoberfest2021 (Excluded) Hey 👋 everyone , hacktoberfest is back with biggest beginners friendly opensource event. Event will start from 1st of Oc

Ring powered by an adafruit gemma + neopixel that sends a positive affirmation message to me via morse code

Positive Affirmation Morse Code Ring ✨ Ring powered by an adafruit gemma + neopixel that sends a positive affirmation message to me via slowed-down mo

WIP / DIN-rail compatible WiFi security camera with additional features (doorbell detection, magnetic / reed switch door & PIR sensor...) that sends you alerts on Telegram if someone unauthorised breaks into your house.
WIP / DIN-rail compatible WiFi security camera with additional features (doorbell detection, magnetic / reed switch door & PIR sensor...) that sends you alerts on Telegram if someone unauthorised breaks into your house.

WIP / DIN-rail compatible WiFi security camera with additional features (doorbell detection, magnetic / reed switch door & PIR sensor...) that sends you alerts on Telegram if someone unauthorised breaks into your house.

SSH tarpit that slowly sends an endless banner

Endlessh: an SSH tarpit Endlessh is an SSH tarpit that very slowly sends an endless, random SSH banner. It keeps SSH clients locked up for hours or ev

Grassroots DICOM read-only mirror. Only for Pull Request.

This is the source code of GDCM. It is available from sf.net website. Official GIT repository is at: https://sourceforge.net/p/gdcm/gdcm/ For a genera

WTD is a python tool for replacing values with the C preprocessor macro which defined them.

Where's That Define WTD is a python tool for replacing values with the C preprocessor macro which defined them. An example of this is when trying to u

ContactGot is an offline desktop app, where clients can leave their info, while an administrator can manage which information they need to gather on certain projects.
ContactGot is an offline desktop app, where clients can leave their info, while an administrator can manage which information they need to gather on certain projects.

ContactGot Contents Description How to use Requirements Engineering Installation Documentation Design Architecture Demonstration 1. Description During

Owner
E-Agle Trento Racing Team
University of Trento's Formula Student Team
E-Agle Trento Racing Team
Steals plaguecheat.cc login information and sends them over Discord webhook

PlagueStealer DO NOT USE THIS!!! I TAKE NO RESPONSIBILITY FOR ANY DAMAGE CAUSED How to use: Make a Discord webhook (watch this if you dont know how: h

Sinner 3 Dec 28, 2021
Arduino M-BUS Master node for Arduino MKR M-BUS Shield

Arduino M-BUS Master node for Arduino MKR M-BUS Shield This software will read out a M-BUS device connected to an Arduino MKR board equipped with our

null 6 Nov 30, 2022
Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Paulo Rafael Ramalho 0 Jan 1, 2023
The PNT Integrity Library provides users a method to verify the integrity of the received GPS data and ranging signals, thereby improving resiliency against potential GPS signal loss.

PNT Integrity Library The PNT Integrity Library provides users a method to verify the integrity of the received GPS data and ranging signals, thereby

Cybersecurity and Infrastructure Security Agency 42 Jan 6, 2023
multi-sdr-gps-sim generates a IQ data stream on-the-fly to simulate a GPS L1 baseband signal using a SDR platform like HackRF or ADLAM-Pluto.

multi-sdr-gps-sim generates a GPS L1 baseband signal IQ data stream, which is then transmitted by a software-defined radio (SDR) platform. Supported at the moment are HackRF, ADLAM-Pluto and binary IQ file output. The software interacts with the user through a curses based text user interface (TUI) in terminal.

null 70 Dec 27, 2022
CAN-BUS sniffing for Volkswagen Golf MK7 (and most likely other MQB platform cars)

MQB-sniffer CAN-BUS sniffing for Volkswagen Golf MK7 (and most likely other MQB platform cars). Currently this is more a work log for future reference

null 22 Dec 23, 2022
You may learn how to make successful pull requests and get your first valid open source contribution by using this repository.

Your-First-Contribution You may learn how to make successful pull requests and get your first valid open source contribution by using this repository.

Veshraj Ghimire 24 Aug 23, 2022
SAE J1939 protocol free to use for embedded systems or PC with CAN-bus

Open SAE J1939 SAE J1939 is a protocol for shaping the CAN-bus message in a specific way that suits industrial vehicles such as tractors, machinery, t

Daniel MÃ¥rtensson 127 Dec 23, 2022
CAN bus extruder, more resistant to noise,reduce a lot of wires for your 3D printer

PandaCAN is an extruder control board that connect to main board with CAN interface, more resistant to signal noise,reduce a lot of wires for your 3D printer.

Mark 87 Nov 11, 2022
Extension for PHP to interface efficiently with a Controller Area Network (CAN bus) 2.0A / 2.0B

PHP-CanBus Extension PHP-canbus is THE extension for PHP on Linux that allows PHP code to interface efficiently with a Controller Area Network (CAN bu

Adamczyk Piotr 5 Sep 10, 2022