Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gps and Pps support #1517

Open
wants to merge 180 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
f52e75d
Initial commit
kazemaksOG May 2, 2024
fc3f7cd
Update .gitlab-ci.yml file
krioyo May 19, 2024
f613b86
Update .gitlab-ci.yml file
krioyo May 19, 2024
1811513
Update .gitlab-ci.yml file
krioyo May 19, 2024
491a8a3
removed unnecessary tests
May 21, 2024
daa7e79
removed comments instead of commenting them
May 21, 2024
fa08fa6
main.rs file that is one the Rashberry Pi.
May 15, 2024
1d6a719
convert the collected pps data (unix_timestamp) to UTC_timetamp
ardacengaver May 15, 2024
aadcc65
Convert the unix timestamp collected from pps to NtpTimestamp(the for…
ardacengaver May 15, 2024
62c92d3
Changed code such that it works ons the RP
May 15, 2024
985d341
NtpDuration and NtpInstant structs are added to format the timestamp …
ardacengaver May 15, 2024
ae78e05
last_ntp_timestamp initilization is fixed
ardacengaver May 15, 2024
c8dd9ad
inplementing ntptimestamp for pps
akanikoloudis May 16, 2024
a1f3a9a
The bug in pps signal where the ntp timestamp wasnt correctly given i…
ardacengaver May 16, 2024
ad8984c
Removal of to_bits_short function (unused and broken)
May 17, 2024
f60cc55
Changes in log2 method (before had bad programming practice without S…
May 17, 2024
778861f
Added tests for the NtpDuration part
May 17, 2024
23b5bd4
Added tests for the NtpTimestamp part
May 17, 2024
5c99e52
pps_source
akanikoloudis May 17, 2024
62d809d
This is the code we implemented in order to get both gps and pps data…
ardacengaver May 17, 2024
57cd635
added a simple combintaion method for gps and pps but this will proba…
ardacengaver May 17, 2024
5d41ecd
Added a first part of collecting the GPS without the usage of GPSD
May 19, 2024
ecdeaab
callibration_implementation
akanikoloudis May 20, 2024
8b67599
extra
akanikoloudis May 20, 2024
4bd49f7
gps and pss is calibrated and the gps is now gathered without using gpsd
ardacengaver May 20, 2024
57d4bfc
Added a simple kalman filter implementation to the existing implement…
ardacengaver May 20, 2024
2829bea
Refactor and add test cases + documentation
kayracode May 27, 2024
406b118
Add documentation to gps code
kayracode May 28, 2024
6e4bca6
Refactor simultaneous.rs and import modules
kayracode May 28, 2024
1e0243f
Added tests for "nmea_time_date_to_unix_timestamp", "parse_nmea_time"…
May 29, 2024
2818448
Refactor and document kalman.rs using nalgebra library
kayracode May 28, 2024
482e671
Simultanous.rs is deleted and merged with main.rs as it is the main f…
ardacengaver May 30, 2024
4d8043d
specific rust version in pipeline
May 31, 2024
f9a3990
#1 added gps spawner
May 15, 2024
9ec9269
#1 first gps source implementation
May 16, 2024
7c9c6f2
#1 removed wrong tests
May 16, 2024
4a92f9e
#1 first gps integration
May 19, 2024
da9bfb9
#1 more gps integration
May 21, 2024
53f3720
#1 gps always usable
May 21, 2024
9f66e02
#1 pipeline fixes
May 21, 2024
3d2bc8d
#1 more pipeline fixes
May 21, 2024
31b1d4d
#1 even more pipeline fixes
May 21, 2024
fc1745c
First adaptation of the kalman filter to gps data
ardacengaver Jun 2, 2024
1fd8179
Make gps field optional + fix arisen problems
kayracode Jun 2, 2024
0103b8f
Make related structs pub for testing
kayracode Jun 3, 2024
f909ee1
Add edge-case, unit and smoke testcases to source.rs
kayracode Jun 3, 2024
314b1cd
Add comments on tests
kayracode Jun 3, 2024
cd7b6e9
Remove unnecessary comment
kayracode Jun 3, 2024
c575b09
added tests for the updated kalman filter
ardacengaver Jun 3, 2024
5137acd
testing added for processing the data in source.rs
ardacengaver Jun 3, 2024
c76266f
#7 fixed some warnings
Jun 5, 2024
8f345e7
#7 hardcoded offset for testing functionality
Jun 6, 2024
1cc5619
#7 fixed isseu for test
Jun 10, 2024
f184ec8
#7 process gps data first
Jun 10, 2024
eba130b
#7 gps data non existent when reading from packet
Jun 10, 2024
781b549
#7 added conditional for setting gps data
Jun 12, 2024
c4fdd2d
Changed the fields of the input
ardacengaver Jun 14, 2024
bde16b6
fixed errors
ardacengaver Jun 14, 2024
1905dc9
fixed syntax
ardacengaver Jun 14, 2024
0f9dc6d
gps_sources changes
akanikoloudis Jun 13, 2024
f84831a
changes on the parser
akanikoloudis Jun 13, 2024
3ea215f
Made the GPS retrieval ready for integration
Jun 14, 2024
dbe104e
#16 fix dependencies
Jun 14, 2024
0e44ffb
#16 fist nmea parsing inside codebase
Jun 14, 2024
566a25f
corrected the NTPDuration calculation from the GPS Data
Jun 15, 2024
0679df2
pipeline fix
Jun 16, 2024
7ed6bf5
#16 fixed linter errors
Jun 16, 2024
c2972ff
undo pipeline fix
Jun 16, 2024
088f08d
pipeline fix second try
Jun 17, 2024
d2dd091
pipeline fix third try
Jun 17, 2024
8d09a80
fourth pipeline fix
Jun 17, 2024
5188cdc
pipeline fix 5th try
Jun 17, 2024
4a06098
pipeline fix undo
Jun 17, 2024
2da04b4
update of cargo.toml file
Jun 17, 2024
ceebf22
#16 fixed msrv version
Jun 17, 2024
a5a7ded
pipeline fix
akanikoloudis Jun 17, 2024
9b55a0a
pipeline fix try
akanikoloudis Jun 17, 2024
93ab37e
9 initial changes for selection
Jun 6, 2024
a0f5ff5
14 removed some logging
Jun 12, 2024
92b1110
pipeline fix
Jun 17, 2024
46e2988
fixed selection procedure
Jun 17, 2024
33038dc
gps fix: its works!! #TMA
Jun 18, 2024
400aa20
tests fixed
ardacengaver Jun 18, 2024
f880286
tests fixed
ardacengaver Jun 18, 2024
9c713c2
#16 only one stable update fix
Jun 19, 2024
bc9c57f
#16 uncommented
Jun 19, 2024
3e78ada
16 another fix for integrating gps
Jun 20, 2024
17f8170
#16 fix for running with ntp servers
Jun 20, 2024
11b16b9
#16 pipeline fixes
Jun 20, 2024
45a2d90
fix pipeline
ardacengaver Jun 20, 2024
2831912
Integrating PPS into selection prodedure smoketest
akanikoloudis Jun 15, 2024
fb8ff89
add pps_source for the ntp proto
akanikoloudis Jun 16, 2024
a13a384
getting the offset and fixing toml issues
akanikoloudis Jun 17, 2024
5daf1b7
open the pps port and creating a struct for it
akanikoloudis Jun 17, 2024
1dc1699
fixing path
akanikoloudis Jun 17, 2024
6fe856e
modifying the codeto handle pps source,integration
akanikoloudis Jun 17, 2024
3cd73f7
fixing issues
akanikoloudis Jun 17, 2024
7b6602b
fixing imports
akanikoloudis Jun 18, 2024
9ebe59c
alex
akanikoloudis Jun 18, 2024
30bd8e2
integrating measurment for the pps
akanikoloudis Jun 18, 2024
fe4d78b
fixing tests
akanikoloudis Jun 18, 2024
00ac798
changes in the passed parameter
akanikoloudis Jun 18, 2024
0131064
fixing duration
akanikoloudis Jun 18, 2024
be8343f
fix parsing pps
akanikoloudis Jun 18, 2024
a8c6ca1
fix import
akanikoloudis Jun 18, 2024
d9ea37c
fixing unsafe issue with lib
akanikoloudis Jun 18, 2024
9ca51f4
11 integrated pps retrieval into codebase
Jun 18, 2024
73820b7
Michiel changes combining pps with time sources
Jun 19, 2024
c3175f2
fixed some warnings
Jun 19, 2024
058e132
kalman algorithm for pps
ardacengaver Jun 19, 2024
bc5a474
fixed typo
Jun 19, 2024
d938c32
fix pipeline
ardacengaver Jun 19, 2024
8d3673d
gps remove of abs() and printstatements in pps part
Jun 19, 2024
33194d1
few fixes
Jun 19, 2024
9d5502c
small changes in logic
Jun 19, 2024
e046bdf
#11 rebase
Jun 20, 2024
224d573
pps and gps is working with ntpsources to produce an offset and a fre…
Jun 20, 2024
e6974ef
11 fix pipeline isseus
Jun 20, 2024
f1df188
changed pps polling method
Jun 21, 2024
9592c7c
Added PPS Index flow
Jun 21, 2024
f745ebc
added pps id flow
Jun 21, 2024
d46ef46
add the implementation with client base of pps (remove instead of com…
Jun 21, 2024
2e76bec
integrated with the combine method
Jun 21, 2024
1a99852
fully working combination of pps and all other sources!
Jun 21, 2024
0877be0
changes to mapping method
Jun 21, 2024
8231ef0
fix pipeline
kayracode Jun 21, 2024
f3fdcd5
11 add pps source id
Jun 21, 2024
b5b5d95
final changes, working product!
Jun 21, 2024
51b87e1
11 pipeline fixes
Jun 21, 2024
7358077
added with gpsd functionality (via TcpStream)
Jun 9, 2024
48d9a8e
improved data retrieval speed
Jun 11, 2024
8a4b7bd
added with gpsd functionality (via TcpStream)
Jun 9, 2024
ea0e376
improved data retrieval speed
Jun 11, 2024
c58ff91
17 config for gps
Jun 20, 2024
d9c7d81
Added the project's official README content
kayracode Jun 20, 2024
45bec5f
Updated README for our project
kayracode Jun 20, 2024
eb092b1
stratum 0 for gps and rebased
Jun 21, 2024
fd4ab1f
17 add pps config
Jun 21, 2024
81daecd
adding smoke test
akanikoloudis Jun 21, 2024
c095e4a
example
akanikoloudis Jun 21, 2024
6742fd8
initializationdata handlingand state update ppsgps
akanikoloudis Jun 21, 2024
28d3c5e
testing with different offsets
ardacengaver Jun 21, 2024
4f4e59c
polling testing
akanikoloudis Jun 21, 2024
e1860a2
testing functinalities of pps source
ardacengaver Jun 21, 2024
bc1661e
gps test and pss test spawners
ardacengaver Jun 21, 2024
d83f59b
pipeline fixes
ardacengaver Jun 21, 2024
e72ba67
document source.rs file for tha kalman algorithm
ardacengaver Jun 23, 2024
2d457c3
documentation for combine_with_pps.rs file
ardacengaver Jun 23, 2024
150030c
document source.rs file in ntp-proto
ardacengaver Jun 23, 2024
2126c51
document the function added to time_types.rs
ardacengaver Jun 23, 2024
34c4000
Add tests for InitialSourceFilter and SourceFilter
kayracode Jun 23, 2024
8a00cd4
Add tests for absorb measurement and transition after 8 measurements
kayracode Jun 23, 2024
309c9de
test edge cases for select.rs file
ardacengaver Jun 23, 2024
c1c83da
Create the testcase and helper method
kayracode Jun 23, 2024
0386273
Fix text crate setup errors
kayracode Jun 23, 2024
9d8bf4e
More tests that test the combine_sources function
kayracode Jun 23, 2024
9d8659c
unit testing gps_source.rs file
ardacengaver Jun 23, 2024
383561f
test new functions on source.rs
ardacengaver Jun 23, 2024
593fc7e
Add additional tests for the combine_sources method
kayracode Jun 23, 2024
35dee84
pps source action tests
akanikoloudis Jun 23, 2024
25b57c7
unit testing for from_unixtimestamp function
ardacengaver Jun 23, 2024
ffbbeea
Add tests for InitialSourceFilter and SourceFilter
kayracode Jun 23, 2024
67b86e3
Add tests for absorb measurement and transition after 8 measurements
kayracode Jun 23, 2024
ec43782
Create the testcase and helper method
kayracode Jun 23, 2024
25dbb6f
Fix text crate setup errors
kayracode Jun 23, 2024
fc34085
More tests that test the combine_sources function
kayracode Jun 23, 2024
2861502
test new functions on source.rs
ardacengaver Jun 23, 2024
2cd1ca0
Add additional tests for the combine_sources method
kayracode Jun 23, 2024
f6ca5b7
pps source action tests
akanikoloudis Jun 23, 2024
1f0d034
unit testing for gps_source.rs
ardacengaver Jun 23, 2024
b9f7f0d
Add MOCK TESTING for GPSD
kayracode Jun 23, 2024
6cc4a4c
Remove unused import
kayracode Jun 23, 2024
2215c95
Fix by moving the struct in tests
kayracode Jun 23, 2024
e4f7fbd
Remove unused import 2
kayracode Jun 23, 2024
8eb63c9
removing commented out code
akanikoloudis Jun 25, 2024
c6f9820
removed some comments and prints
Jun 26, 2024
e4eb4e9
moved and removed files
Jun 26, 2024
cb93058
removed last print statement
Jun 26, 2024
ad38476
linting changes
Jun 26, 2024
2000d53
fixed error
Jun 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,9 @@ rustflags = ["-C", "force-unwind-tables"]
#
# [target.x86_64-unknown-freebsd]
# linker = "~/.cargo/bin/cargo-zigbuild zig cc -- -target freebsd -g"

[target.arm-unknown-linux-musleabi]
linker = "arm-linux-gnueabihf-ld"

[target.aarch64-unknown-linux-musl]
linker = "aarch64-linux-musl-gcc"
53 changes: 53 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/rust/tags/
image: "rust:1.78.0"

stages:
- lint
- test
- build
- deploy

before_script:
- apt-get update
- apt-get install -y pkg-config libudev-dev

lint-clippy:
stage: lint
script:
- rustup component add clippy
- cargo clippy -- -D warnings
only:
- branches
- merge_requests

# Use cargo to test the project
test_cargo:
stage: test
script:
- rustc --version && cargo --version # Print version info for debugging
- cargo test --workspace --verbose

# Optional: Use a third party library to generate GitLab JUnit reports
# test_junit_report:
# stage: test
# script:
# # Should be specified in Cargo.toml
# - cargo install junitify
# - cargo test -- --format=json -Z unstable-options --report-time | junitify --out $CI_PROJECT_DIR/tests/
# artifacts:
# when: always
# reports:
# junit: $CI_PROJECT_DIR/tests/*.xml

build_job:
stage: build
script:
- echo "Compiling the code..."
- cargo build --workspace --verbose

deploy:
stage: deploy
script:
- echo "Define your deployment script!"
environment: production
Loading