Commit Graph

22 Commits

Author SHA1 Message Date
Shane Smiskol 1c4deed968
CANParser: move can valid threshold into parser (#690)
* use can_valid flag from parser and make it consider counter checks

* clean up

* don't show incorrect messages

* add comments

* move threshold to cpp parser

* only the refactor in this pr

* fix bug and same logic as old cython wrapper can invalid

* still print everything

* clean up

* whoops

* make these properties

revert that
2022-08-19 16:19:36 -07:00
Adeeb Shihadeh 4885685171 fix that 2022-08-08 19:08:04 -07:00
Adeeb Shihadeh 8016dd43ac CANParser: better error for undefined messages 2022-08-08 18:58:35 -07:00
Shane Smiskol b302f6934e
Dynamically parse DBCs (#602)
* initial commit, bring over from deanlee's PR based on newer commit

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* fix msb, lsb, size

* fix lsb

* clean up

* need this for CI

* add missing body checksum/counter

* get dir from BASEDIR first, then $HOME

* fix CI

* doesn't work

* just hardcode when compiling

* remove process_dbc

* add test for startup time

* test can parsing

* fix

* better

* bye bye dbc.py

* fix startswith

* add function to get dbc names for plotjuggler

* check DBC_FILE_PATH

* revert

* rename

* slightly more consistent at ~0.57 seconds

* make sure the tests make sense

* test ms per line

* use ctre

* Revert "use ctre"

This reverts commit 5e1a4440e465c901403a9717bbdef5b573e9838e.

* compile regex at import time

* add debug print and lower test time

* add comment

* 0.02 ms per line max

* better error messages

* only include what we need, and make it explicit

* check total time

check total time

* no global

* always a list

* not a c loop any more

* default to list

* use hex

* make static (only calculate path once)

* seems to be more consistent now (30-38 ms)

Co-authored-by: Dean Lee <deanlee3@gmail.com>
2022-05-12 17:59:33 -07:00
Adeeb Shihadeh 004db342a8
CANParser: add flag for bus timeout (#586)
* CANParser: add flag for bus timeout

* bump to 500ms

* 10x most frequent msg

* little test

* per bus

* Update can/parser.cc
2022-04-12 22:34:27 -07:00
Shane Smiskol c3d3c71aa7
CANParser: fix missing updated values (#561)
* test to make sure we don't throw away updated values if we get multiple can frames from boardd

* call cpp's update_string from update_strings

* fix test

* split in half

fix
2022-02-10 14:40:15 -08:00
Shane Smiskol 053a761244
CANParser: add field for all values from a cycle (#558)
* could work

* should be light-speed

* clean up

* clean up

* make sure updated is empty if nothing is updated

updating without a msg is undefined behavior

* should be fast enough

* more test

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-02-10 13:01:30 -08:00
Adeeb Shihadeh f74f93629b
CANParser: minor speedup (#560) 2022-02-09 22:46:28 -08:00
Adeeb Shihadeh 24538ceb04 Revert "CANParser: add field for all updated values (#548)"
This reverts commit da47fe5e45.
2022-02-09 22:01:25 -08:00
Shane Smiskol 6770f1cdfb
CANParser: remove ts field (#557)
more usages
2022-02-09 11:59:15 -08:00
Shane Smiskol da47fe5e45
CANParser: add field for all updated values (#548)
* add updated field

* rename to updated

* draft

* clean up

* function for resetting

* *minor* refactor

* clean up names

* keep track of updated vals in the cc parser

* remove extra lines

* remove ts

* match parser_pyx

* cleaner to just call the cpp function as we don't need to aggregate updated values

* draft

* some tests

* fix test

* clean up

clean up

* test clean up

* add clarifying comments

* Revert "remove ts"

This reverts commit fd4558289d6667a42ab41c4511b0d8fe54eb7fc8.

* fix order

* use vals

* fix dup
2022-02-07 15:36:00 -08:00
Shane Smiskol eea4ba1cba
CANParser: remove configurable default values (#527) 2022-01-27 17:02:12 -08:00
Jacob 1e655cc6ad
CANParser: reduce repeated dictionary creations (#506)
Co-authored-by: Jian Cheng <jian.cheng@mindcruise.ai>
2022-01-24 15:46:00 -08:00
John Belmonte ac37f4885f
clean up CANDefine constructor (#417)
* clean up CANDefine constructor

explicit `d[foo] = {}` not needed if `d` is `defaultdict(dict)`

* cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-09-02 13:53:06 -07:00
Adeeb Shihadeh 79530d3038
CANParser: add option to enforce message checks (#385)
* CANParser: add option to enforce message checks

* fix testss

* nice error msg

* fix tests
2021-04-24 23:09:56 -07:00
grekiki 699dc63a88
Scons cython builder (#316)
* migrate to home pc

* style

* this works

* this is hacky

* why doesn't this work

* this should work

* no lint

* link against libdbc wtih abs path

* new env

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-11-26 16:11:23 -08:00
vanillagorillaa fb90ff7a46
Fix all typos in opendbc (#299) 2020-09-29 11:59:26 -07:00
grekiki ccd7d3e438
Fix 222 (#296)
* Added exceptions to packer and parser

* added exception tests

* improve style

* linter is annoying

* static analysis fix

* static analysis fix2

* static analysis fix3

* clean up the code

* update exceptions

* style1

* style2
2020-09-10 15:01:34 +02:00
Adeeb Shihadeh a59f03c179 cleanup parser_pyx 2020-08-02 13:02:07 -07:00
Adeeb Shihadeh 55e9af71fc fix warnings in parser_pyx build 2020-06-29 16:18:45 -07:00
Willem Melching 541705bf33 move CANDefine to parser code 2019-12-03 09:13:37 -08:00
rbiasini e155e01748
Can migration (#199)
* moved CAN to opendbc

* also dbc was needed

* dbc test also added
2019-11-22 21:46:33 -08:00