Commit Graph

87 Commits

Author SHA1 Message Date
Harald Schäfer ae7ce5368c Laika cleaner flow (#27633)
* laika flow

* test fixes

* unexpected type

* unexpected type

* explicit type

* ref commit

* back to prev val

* ref 2
old-commit-hash: e05e7850e176c4a229608c3972c665b11510d9e3
2023-03-22 19:10:19 -07:00
Harald Schäfer 6d0116ae80 Ttff logs (#27610)
* ttff in logs

* More meta info

* cleanup

* passess tests

* unused import

* fix linting

* ttff of 0 is invalid

* ref commit

* bump cereal

* Update ref_commit

* sort ephem status list

* sort ephem status list

* update ref
old-commit-hash: 204f7d862390d86ab958275cd887b8cbc3e66f66
2023-03-16 22:09:05 -07:00
Adeeb Shihadeh 869a9af32d Revert "LAIKAD: TTFF, and ephemeris statuses in logs (#27591)"
This reverts commit 8324a349b4c267a83d96ff3f3c9d25f0b5bd7fcf.

old-commit-hash: 4cff94366f751e53363c811a129f0d2dd93b4655
2023-03-16 19:01:45 -07:00
Harald Schäfer af464f3b94 LAIKAD: TTFF, and ephemeris statuses in logs (#27591)
* ttff in logs

* More meta info

* cleanup

* passess tests

* unused import

* fix linting

* ttff of 0 is invalid

* ref commit

* bump cereal
old-commit-hash: 95216de5910c62bf81a7bf6053b5917de98dc825
2023-03-16 17:00:54 -07:00
Harald Schäfer e3b77aef5f Laikad: cleanup time range holder (#27595)
* cleanup time range holder

* update

* unused import

* unused import

* unused import

* bump laika
old-commit-hash: 896fa029f93501af7871e7e5edced2bc0885d53f
2023-03-15 20:06:29 -07:00
Harald Schäfer 48e4801621 Fix qcom laika caching and test (#27594)
old-commit-hash: 629e5f6bf21460f1f50d0a56c131440e0ab4f0b5
2023-03-15 15:16:47 -07:00
Harald Schäfer 20dfe96afa Use structs in laika (#27585)
* doesnt crash

* New cacher

* unused import

* help linter

* Annotate list

* print error

* fix caching bugs

* wrong name

* small fixes

* fix sum

* wrong brackets

* fix tests

* update ref

* bump submodules
old-commit-hash: 5c704827619e774c9877b4598af06d1c6bca80d2
2023-03-15 00:02:56 -07:00
Adeeb Shihadeh de9a100719 ubloxd: move to system/ (#27536)
* ubloxd: move to system/

* more fixes

* add missing sconscript

* fix valgrind tests

* uncomment
old-commit-hash: c97911dbad15c3cc7dc577b305ab9aed775e021f
2023-03-08 16:11:18 -08:00
Harald Schäfer bc53c9199c Pigeond: Request sat info msgs (#27529)
request sat info msgs
old-commit-hash: 231e9a950dc32b322602815a25486fdc50ec2091
2023-03-08 13:07:33 -08:00
Kurt Nistelberger 7ad3a3fd42 laikad: reduce min satellite number (#27440)
* bump laika

* update laikad tests

* update refs

* bump laika

* update refs

---------

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: b6881220426ac231215bbf4476f6fedd11e3e540
2023-02-28 21:40:54 -08:00
Kurt Nistelberger 5ab2a359df Ubloxd: gps add iodc check (#27162)
* gps add iodc check

* add test

* simplify

* update ref

---------

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: 3d98cb72c08ec5d9b9ac5645ea9effecadd6bc38
2023-02-01 14:19:40 -08:00
Kurt Nistelberger 0135d85a6d Ubloxd: glonass parsing tests (#27125)
* add glonass kaitai parsing

* add kaita generated files

* remove glonass from build

* add string non immediate type

* fix kaitai bug

* cleanUp

* add patch file

* fix scons order

* make lookup const

* remove comments

* rename

* add to release files

* remove printf

* add signs

* add glonass parsing test

* finish up glonass kaitai tests

* move cereal back to master

* ignore test_runner

* sign is not two complement

* address comments
---------

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: e2f5b164bd3dcffc5a11ef552f83296c34991949
2023-01-30 16:34:07 -08:00
Kurt Nistelberger c517e76764 Laikad: add test (#27028)
* add laikad tropo test

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: 027c27cd690120d8ff8823f0b53cc2c9d6af7df3
2023-01-20 22:19:01 -08:00
Kurt Nistelberger 1cd22ead91 Revert "Add low Gnss laikad test (#26987)"
This reverts commit 453c31b007237ae5009c4a9e0bb3afa04aa12f84.

old-commit-hash: 9131da9103718d6ae113ad7b3519037e2b4ffa70
2023-01-19 11:46:22 -08:00
Kurt Nistelberger 84a95cdc89 Add low Gnss laikad test (#26987)
* add low gnss test

* enable laikad

* temp fix for cache

* update replay

* save LaikadEphemeris for testing

* rem

* update refs

* add comment

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: b7ce77b3aa48c3605554f63068a13860023eff86
2023-01-18 22:29:12 -08:00
Harald Schäfer 63efb985cd Revert locationd to gpsLocation (#26963)
* revert locationd laika change

* switch msg

* change proc replay

* back to gpslocation

* update ref

* no np floats in msg

* Ignore empty laikad messages in mapos

* more tolerance

* c++ doesnt work like that
old-commit-hash: 4c33d94d3f088c6f1fc88a0f40f3a828968c1c52
2023-01-14 16:56:14 -08:00
Kurt Nistelberger 9570336e6c Laikad: set active (#26850)
* laikad update, renaming

* update locationd

* fix naming

* address PR comments

* upsi

* .

* draft to fix replay

* fix process relay to allow no response for messages

* final fix for process replay

* .

* bump cereal

* update process replay ref commit

* reduce wait time

* .

* last ref change

* move laikad helpers to laika

* .

* fix ublox test

* update refs

* add proper qcom replay support

* fix gnss support if both is available

* update refs

* remove left over

* revert laikad msg

* move laika back to master

* init

* fix gps valid flag

* change time

* add gnss to ignore

* remove gps_valid flag

* .

* adopt orientation reset threshold

* .

* update laikad

* .

* fix stanstill KF resets

* test orienation reset count

* update laika

* bump cereal

* fix process replay

* update laika repo

* remove handle gps

* add extra logging for cache

* .

* add more log

* .

* .

* update laika

* dont remove gps code

* inc min satellite count

* update magic vals and add acc drop

* update laika

* upsi

* rem

* bump laika

* use nav and correct

* more fixes

* use sftp

* No more glonass

* Revert "No more glonass"

This reverts commit a76124da50a1e25f423ad1137c7a046e1d57811d.

* nump laika

* back support old ephemeris cache

* add health to ephemeris message

* bump laika

* remove print

* fix laikad tests

* clean

* remove extra log

* bump laika

* inc timeout for plotjuggler build

* rem cache clear

* .

* enable gps after checks

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 88423e25df8bfbd8e6a3275eb086f468cf9a59f1
2023-01-13 11:37:38 -08:00
Kurt Nistelberger c469ee2f6c Laikad preperation (#26800)
* laikad update, renaming

* update locationd

* address PR comments

* draft to fix replay

* fix process relay to allow no response for messages

* bump cereal

* update process replay ref commit

* move laikad helpers to laika

* fix ublox test

* update refs

* add proper qcom replay support

* fix gnss support if both is available

* update refs

* move laika back to master

* move cereal back to master

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: 981532f0c32f58e0ba4675fe3b066d7c6d0d9a8e
2022-12-29 16:56:35 -08:00
HaraldSchafer eac9ec1570 locationd: Fix GPS sensor times with fixed offsets (#25920)
* Rewind to qcom time

* Fix test

* Typo

* init unix_time fix

* add gps sensor_time_offsets

* remove all clocks code and add todo

* :emove clocks in unit test

* update refs

* update refs

Co-authored-by: nuwandavek <vivekaithal44@gmail.com>
old-commit-hash: b3324418034fcf09123b614ee2429a4e5bc9d7a5
2022-10-12 17:47:30 -07:00
Adeeb Shihadeh 3e2f436d4c auto-detect pigeon or quectel (#25991)
* auto-detect pigeon or quectel

* persistent

* fix sim

* fix process replay

* fix locationd unit tests

* fix that

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 01d05f66fe5a189209538650dce319b2f7e192ee
2022-10-06 16:46:15 -07:00
Kurt Nistelberger fb06d2769f Sensor events splitup (#25714)
* PoC of reading sensors via interrupts instead of polling

* add Gyro and draft for magn

* add more functionality to gpio.cc

* change LSM gyro to interrupt

* resolve rebase conflict

* update BMX accel interrupt impl

* add interrupt collector thread to fetch in parallel

* change get_event interface to return true on successful read

* update BMX gyro interrupt impl

* update gpio.h/.cc according to comments

* address comments, rename Edgetype enum

* Edgetype to EdgeType

* update sensor interrupt interface

* add error handling, and read fd on trigger

* avoid sending empty messages

* fix build

* use gpiochip

* less diff

* gpiochip on both edges, but skip falling edge if rising edge is detected

* init last_ts with 0

* update sensord testcases

* update sensord testsweet

* test for pipeline

* readd with_process

* add null check

* move tests update to seperate PR

* sensord: improve test coverage (#25683)

* update sensord-interrupt testsweet

* address review comments

* inc stddev threshold

* fix format string

* add version 0 check again

* relax strictness after c3 with bmx tests

* relax strictness after tests

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>

* address PR comments

* fix typo

* remove 4ms limit, and skip first 0.5sec of data

* revert disable_interuppt change to destructor

* fix and remove timing skip

* make gpiochip generic

* sensord port

* change from sensorEvents to separated events

* fix gyro usage

* add splitted sensor tests

* modify debug script sensor_data_to_hist.py

* refactor get_event interface to remove sensorEvent message type

* update locationd to non sensorEvent usage

* tmp commit

* fix replay

* fix accelerometer type

* fix sensor to hist debug script

* update sensord tests to split events

* remove rebase artifacts

* port test_sensord.py

* small clean up

* change cereal to sensorEvents-splitup branch

* upate sensorEvents in regen

* fix route generation for splitted sensor events

* regen cleanUp from sensorEvents change

* .

* remove light and temp from locationd

* add generic init delay per sensor

* .

* update routes

* move bmx gyro/accel to its own channel

* adopt sensor tests to bmx channel

* remove rebase artifacts

* fix sensord test

* handle bmx not present

* add bmx sockets to regen

* .

* .

* code cleanUp

* .

* address PR comments

* address PR comments

* address PR comments

* lsm clean up

* readd sensorEvents

* rever regen.py

* .

* update replay refs

* move channels

* fix artifact

* bump cereal

* update refs

* fix timing issue

Co-authored-by: Bruce Wayne <batman@workstation-eu-intern2.eu.local>
Co-authored-by: gast04 <kurt.nistelberger@gmail.com>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 29d3ed2ce63a65f793dc0ecb553180a0d0fba03e
2022-09-29 14:31:54 -07:00
Adeeb Shihadeh 35ff65121e pre-commit: add codespell (#25571)
old-commit-hash: 6590fb2b93baedb2e1c5267b4f191f8e20fcd1d2
2022-08-30 11:20:55 -07:00
Robbe Derks 78881cf731 Pigeond (#25561)
* split out pigeond from boardd

* also want to turn off power

* fix manager calls

* move to sensord folder

* release files:

* add assistnow code

* no bare except

* add test script to test TTFF

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 13489d092e2c09119e880022507d7331cf54c615
2022-08-26 23:11:46 -07:00
Adeeb Shihadeh d9c279aea9 params: make python and c++ API match (#25573)
* params: make python and c++ API match

* few more
old-commit-hash: 90a4565eb29fe95fc83acf6e4f0ea0851c284d61
2022-08-26 20:46:19 -07:00
HaraldSchafer fa226dd852 Support quectel gps (#25299)
* qcom clock gets corrected randomly it seems

* Use quectel gps

* fix small laikad bugs

* Support both

* Support ublox and qcom clock model

* fix laikad test

* fix typo

* Back to original value

* More typos

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 11da2804f6f0ffdc6d9bc0b146c8a308d6b66018
2022-07-28 10:56:59 -07:00
Gijs Koning 2686b4f8e3 Bump laika and catch Downloadfiles exception.
old-commit-hash: c7771d1783ef7d7e1efb29e81aae44ad26747c5c
2022-07-14 11:49:27 +02:00
Willem Melching 1c8af02e54 laikad: add residual threshold for pos_fix (#25082)
* laikad: add residual threshold for pos_fix

* update ref

* update test
old-commit-hash: 7a4c33795a12eefff4c3e5c311f40eae2cf3506b
2022-07-08 09:20:16 -07:00
Gijs Koning c64a61e652 Laikad: Use clocks for faster fetching orbits (#25060)
* Use clocks msg to for first fetch of orbits. Which is sent earlier than ublox msgs

* refactor last_fetch_orbits

* Add comment.
Add test

* increase timeout

* Add clocks to process replay
old-commit-hash: eaf7eb42784732136e52cd031035e9c5ab520e6e
2022-07-07 04:06:51 -07:00
Gijs Koning 02ee2fd12d laikad: Improve logging, fix warning and more exception handling (#25005)
* change logs and add some debugging. Add test

* Less logging and better check for exceptions when parsing orbits

* Fix debug log and fix kf initialization
old-commit-hash: 20ccfed9c1d75de2a589294a5407e15304fd3f4a
2022-07-01 07:43:36 -07:00
Willem Melching 0071d28b7b add laikad to process replay (#24889)
* merge

* Fix closing process executor after fetching orbits

* cleanup

* Add ref commit and revert test_processes hack

* Fix

* Fix ref

* Fix test

* Temp

* Temp

* Trying

* Trying

* Cleanup and change test

* add ref commit

* remove print

* fix test getting stuck

* cleanup fetch_orbits

Co-authored-by: Gijs Koning <gijs-koning@live.nl>
old-commit-hash: 3823f55476b56fd3db0afe686b1d2f3d508817bc
2022-06-28 13:43:15 +02:00
Willem Melching 88a90035cf split locationd and liblocationd tests (#24977)
* laikad: use cython version of gnss kf

* fix import error

* test liblocationd separate

* Revert "laikad: use cython version of gnss kf"

This reverts commit bdd769b9554e7e45e976dabd6595403943e864bb.
old-commit-hash: b95e68778271cccf558452686e022ae57f25a701
2022-06-27 21:31:54 +02:00
Gijs Koning 4b338d69db Laikad: More logging and use last_pos_fix for correcting (#24868)
Use last available pos_fix for correcting measurements.
Improve logging measurements
old-commit-hash: 5958e78037e468795e0db8d42d5209e1e41aec18
2022-06-16 06:21:33 -07:00
Gijs Koning 61dcb8729c Laikad: Cache orbit and nav data (#24831)
* Cache orbit and nav data

* Cleanup

* Cleanup

* Use ProcessPoolExecutor to fetch orbits

* update laika repo

* Minor

* Create json de/serializers
Save cache only 1 minute at max

* Update laika repo

* Speed up json by caching json in ephemeris class

* Update laika

* Fix test

* Use constant
old-commit-hash: c3fa9151f39994984b60a19cdd7425dba73ec2fc
2022-06-15 02:32:07 -07:00
Gijs Koning e03eddea87 Laikad: process executor to fetch orbits (#24843)
* Use ProcessPoolExecutor to fetch orbits

* update laika repo

* Minor
old-commit-hash: a2d2378ee147f2db59aecd3401677cb2427d1ced
2022-06-13 05:02:31 -07:00
Gijs Koning 735a7770dc LaikaD: Fix offline handling (#24781)
* Test handling no internet correctly.

* Clean

* Comment

* remove del
old-commit-hash: a9bdc792a184d191824d2ec089658eb3a96f1e45
2022-06-08 07:33:05 -07:00
Gijs Koning 2fabc9d509 Laikad: Use process for parsing orbits (#24769)
* Use Process instead of Thread to fetch orbits

* small refactor

* Cleanup
old-commit-hash: e7234e22b4d11cc8f349d02855df9b3414096c0d
2022-06-07 20:55:39 +02:00
Gijs Koning 7bf243b61e Laikad: cleanup fetching orbits (#24759)
* Seperate prediction orbits from regular observation orbits and download them efficient

* Cleanup

* clean and update laika

* Fix test

* Fix test

* Fix checking pos fix

* space
old-commit-hash: 8d8055f00f11fcdf0a8a235de5218d9c2fd2f5ad
2022-06-07 03:25:58 -07:00
Gijs Koning 9771eebb62 Laikad: Fetch orbit data in thread (#24654)
* Add fetching orbits thread

* Use ephemeris type enum. Send list of std floats.
Speed up parsing orbit data by skipping redundant old data

* Remove Glonass from supported constellation for now

* Fix latest time msg

* Add small laika update

* Fix
old-commit-hash: 7df54792d8c04d842d44536723edb7b8370c47a1
2022-06-04 09:25:20 +02:00
Gijs Koning 8976820211 Add ephemeris parsing to laikad (#24642)
* Always send valid messages

* Use ephemeris and move astrodog in laikad

* improve test

* Always correct measurements

* Cleanup

* Fix test

* Update laika
old-commit-hash: a51aaaf1970fa864a8a2de7c59abd1db277c123a
2022-05-25 06:26:58 -07:00
Gijs Koning e72a8d9330 Add gnss kalman filter to laikad (#24578)
* Add gnss kalman filter to laikad

* Fix analysis

* Fix analysis

* Update laika

* Refactor a bit

* cleanup, improve unit test

* Also commit test

* fix

* Always return messages. Use Measurement struct that contains std and valid keys

* Push cereal

* Change prints to cloudlog

* Always send valid messages

* Only send gnssMeasurement msg when measurementReport type
old-commit-hash: ef97329c0e825d477577bf27cbaf772753f077ca
2022-05-20 03:21:17 -07:00
grekiki 7cd23af9b1 Mypy fixes for --check-untyped-defs (#24372)
more type fixes
old-commit-hash: 17e33978cdd9322918e9d5d388f7fa47aa30e9b7
2022-05-12 14:08:11 +02:00
Gijs Koning d849330ca1 Bump laika (#24454)
* Fix after laika repo changes

* Update laika
old-commit-hash: f7c2eefad9897830bf7bce290dec1dfc7d97e1d2
2022-05-09 04:05:08 -07:00
Gijs Koning 0010b565f5 Test gnssUblox message processing (#24404)
* Add simple test for processing ublox messages

* Add simple test for processing ublox messages

* Update selfdrive/locationd/test/test_ublox_processing.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>

* Update

* Push laika ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: e6f9f12d1c9faae8f718306bcd2862278a083351
2022-05-06 06:44:38 -07:00
Gijs Koning c082f26d63 Laikad: the basics for ublox msg processing (#24359)
* Add laikad that receives ublox messages and publishes corrected measurements and position fix

* types

* cleanup

* laikad version 1 with uncorrected measurements

* push

* Fix glonass frequency and delete redundant test

* Update after cereal and cleanup

* Add test, fix laikad and remove process replay for now

* update laika

* add hatanaka to packages. Used to decompress orbit data

* Fix pip
old-commit-hash: b64fe6e339c8b8b3f5016a9c58b553c91abc5bdf
2022-05-06 04:41:14 -07:00
HaraldSchafer b0444b39d2 Body cleanup + 100Hz locationd (#24168)
* use PID

* 100hz on the branch

* Better defaults

* fix int clip

* More cleanup

* Fix pid comments

* only notcar gets 100hz

* cleanup

* fix tests

* ignore

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: f54e724b5dd8b95e03dd4f46676c5e854bafaea6
2022-04-09 15:22:29 -07:00
Vivek Aithal 069fe1a749 locationd: Commissue fix (#23951)
* check allAliveAndValid only at filter init

* revert cereal and bugfix test

* rename filterValid to filterInitialized

* bump cereal

* correct err

* update refs
old-commit-hash: dfc12926144df063fb6bd20a97bb4390a4f5a4ef
2022-03-15 14:40:29 -07:00
Vivek Aithal 5bad0f4400 locationd, paramsd: Check conditions before updating kalman filters (#23789)
* update filters only when all messages are alivbe and valid

* update message valid and fix unit test

* update refs

* move check outside loop

* modify fake message fn in test

* deprecate inputsOK and resolve PR comments

* avoid double looped list comprehension

* follow import conventions

* modify paramsd valid to only be invalid in case of commIssue

* update refs
old-commit-hash: 7e6903b58f141b94d645f25c5e0ce15825b60075
2022-03-02 01:01:29 -08:00
Willem Melching fec321a178 calibrationd: convert existing calibration to numpy (#23494)
* calibrationd: convert existing calibration to numpy

* use numpy functions
old-commit-hash: 8444f8267da10aaf52789d03f6d46d6b90be13ab
2022-01-11 15:25:01 +01:00
Adeeb Shihadeh 1d324e09c4 skip falling device test
old-commit-hash: 1a6881edc6318bf30d2ba451d75eeb7d1b53389d
2022-01-06 14:05:13 -08:00
Ewout ter Hoeven f206ebd054 Pyupgrade 3.6: Update syntax with Python 3.6+ features (#23305)
Updated Python code with Python 3.6+ features:
- utf-8 encoding is now the default (PEP 3120)
- Replace list comprehensions by Generator Expressions (PEP 289)
- Replace yield loop by yield from (PEP 380)
- Remove the (object) subclass when defining a class
- Replace the IOError alias by OSError (PEP 3151)
- Define sets with curly braces {} instead of set()
- Remove "r" parameter from open function, which is default

Co-Authored-By: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-Authored-By: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>

Co-authored-by: Adeeb Shihadeh <8762862+adeebshihadeh@users.noreply.github.com>
Co-authored-by: GregorKikelj <96022003+GregorKikelj@users.noreply.github.com>
old-commit-hash: 332f568a8241fba9459cb70c76840b9670e6993a
2021-12-24 11:18:39 -08:00