Commit Graph

2132 Commits

Author SHA1 Message Date
Andrey 579f3df7ad deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 01:53:17 -04:00
Andrey b439f27284 inline method to reduce confusion 2022-09-14 01:34:52 -04:00
Andrey 34f87a3683 inline method to reduce confusion 2022-09-14 01:24:19 -04:00
Andrey b1451e229c GM 2022-09-14 00:03:38 -04:00
Andrey 32c6aef746 code formatting 2022-09-13 23:44:38 -04:00
Andrey G 2b4012b279 dead code, reduce typedefs (#4566)
* Do lightweight checks first

* Dead getTimeIgnitionSeconds()

Dead since 5274cffff3

* Get rid of efitime_t.

Purpose are not clear. Use efitick_t where ticks are used,
use efitimeus_t for uS, use efitimems_t or efitimems64_t for mS.

* Fix unit tests

* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -04:00
Andrey G 1ca5988877 time routines refactor (#4563)
* Extract time helpers from engine_controller_misc to efitime.cpp

* Rename currentTimeMillis() to getTimeNowMs()

We have getTimeNowNt(), getTimeNowUs(), currentTimeMillis() and getTimeNowSeconds()
Align a bit.

find . -type f -name '*.c*' -exec sed -i 's/currentTimeMillis/getTimeNowMs/g' {} \;

* Rename getTimeNowSeconds() to getTimeNowS()

To align with Nt, Us, Ms versions.

* Some comments about getTimeNowLowerNt()
2022-09-11 13:06:03 -04:00
rusefillc 921b97431f refactoring: type safety 2022-09-11 03:46:50 -04:00
rusefillc cb3c070928 refactoring: type safety 2022-09-11 02:57:35 -04:00
Andrey 50b1d03001 E38 2022-09-09 14:04:22 -04:00
Andrey 73150de8df E38 2022-09-09 01:15:55 -04:00
Matthew Kennedy 715c3efb18 only report vvt position if we have full sync (#4547)
* only report vvt position if we have full sync

* comments

* make it selectable, since that makes the test useful
2022-09-08 16:15:36 -04:00
Andrey 3c1cc0b857 trigger: in corner cases like NB2 and VQ35 those are not revolutions 2022-09-07 22:24:28 -04:00
Andrey 31dbf06c84 os_access.h dead? 2022-09-07 16:00:13 -04:00
Andrey f243f1608c B6 2022-09-06 15:12:43 -04:00
Matthew Kennedy 1efe511be8 add hysteresis to limp rpm, boost, injector duty (#4541)
* add hysteresis

* changelog
2022-09-05 20:56:32 -04:00
Andrey c8cdc50877 wow Leiderman-Khlystov 2022-09-05 20:23:40 -04:00
Andrey 07c08947ba wow Leiderman-Khlystov 2022-09-05 20:02:33 -04:00
Andrey ab3d92b995 tear down Engine god object #4511
just trying different things
2022-09-05 04:24:17 -04:00
Andrey 1eb1f1a101 tear down Engine god object #4511
just trying different things
2022-09-05 04:00:24 -04:00
Andrey 76b74a85ba tear down Engine god object #4511
just trying different things
2022-09-05 02:44:06 -04:00
Andrey 82fa9b191a refactoring: let's use different names for different things 2022-09-05 01:16:24 -04:00
Andrey 75b1549853 refactoring: moving field 2022-09-05 01:15:45 -04:00
Andrey 7706e2d4ae wow Leiderman-Khlystov 2022-09-04 18:29:13 -04:00
rusefi 0f828f19a7 wow Leiderman-Khlystov 2022-09-04 15:58:46 -04:00
rusefi 2cc625871a B6 2022-09-04 11:47:57 -04:00
rusefi ee90371837 B6 2022-09-04 11:29:18 -04:00
Matthew Kennedy fba0906942 more granular trigger error messages (#4526)
* granular trigger error messages

* adjust test expectations

* explicitly test behavior
2022-09-04 09:15:24 -04:00
Andrey e56924310b tear down Engine god object #4511
just trying different things
2022-09-03 07:44:24 -04:00
rusefillc 54e05ba0fc moving state into specific class (#4520)
* moving state into specific class

* moving state into specific class
2022-09-02 14:38:03 -04:00
Andrey 1ffa98ba89 a bit of dead code 2022-09-01 11:47:56 -04:00
Andrey 2b01d856d3 reducing confusion between library header and rusefi main repo header 2022-09-01 11:35:35 -04:00
Andrey 436c294770 refactoring: reducing outputChannels copy 2022-09-01 10:58:16 -04:00
Andrey ea22fcbe95 refactoring: enum name clean-up 2022-09-01 00:23:33 -04:00
Andrey 3eaaf5e293 english do you speak it 2022-08-31 22:56:38 -04:00
GitHub build-unit-tests Action 4fd74a2f2e Trigger wheel definitions 2022-09-01 02:22:06 +00:00
Andrey adde8077dd B6 progress 2022-08-30 05:20:56 -04:00
Andrey c18245d697 B6 progress 2022-08-30 04:38:20 -04:00
Andrey b0a09a2171 B6 progress 2022-08-30 04:07:48 -04:00
Matthew Kennedy dcab243381 knock retard limit table (#4498)
* add max retard table

* ui

* s

* better naming

* s

* test can use base class
2022-08-30 01:57:37 -04:00
Matthew Kennedy 4035d79a91 idle always uses instant rpm (#4499)
* idle always uses instant rpm

* configs

* fully inject rpm
2022-08-29 22:18:06 -04:00
Matthew Kennedy 2926570747 idle coasting table is RPM, not clt (#4487)
* idle coasting table is RPM, not clt

* default

* autoscale

* changelog
2022-08-29 08:15:04 -04:00
GitHub build-unit-tests Action 2c6db0638f Trigger wheel definitions 2022-08-29 02:52:44 +00:00
GitHub build-unit-tests Action 4d7e91b615 Trigger wheel definitions 2022-08-29 02:23:56 +00:00
Matthew Kennedy d660b240c4 B6 progress 2022-08-28 12:33:32 -04:00
Matthew Kennedy 234909a91f remove some uses of EFI_ERROR_CODE (#4496)
* lua hooks

* findAngleMatch

* s

* s
2022-08-28 09:43:21 -04:00
Matthew Kennedy 0d99d828e3 trim table for throttle #2 (#4472)
* add table and wire it up

* trim table ui

* initialization

* changelog

* add a test
2022-08-28 08:28:20 -04:00
Andrey fdacca9152 B6 progress 2022-08-27 20:44:30 -04:00
Andrey 756eae8f54 B6 progress 2022-08-26 12:07:13 -04:00
Andrey 0f0c5598ab B6 progress 2022-08-26 00:30:46 -04:00
Andrey fefa1048fc B6 progress 2022-08-26 00:24:38 -04:00
Andrey caa9f1cf3c B6 progress 2022-08-26 00:21:17 -04:00
Andrey 077bdec25b refactoring 2022-08-26 00:16:36 -04:00
Andrey c17cc38470 refactoring 2022-08-26 00:14:52 -04:00
Andrey 45d8716fcc B6 progress 2022-08-26 00:04:47 -04:00
rusefillc 1ea6535b83 two bugs love to cancel each other 2022-08-25 23:55:42 -04:00
Matthew Kennedy 08d2aee17b dfco delay (#4482)
* dfco delay

* config

* using a function that doesn't exist? who does that

* test new behavior

* clearer test
2022-08-25 21:26:17 -04:00
Andreika fda9448798 [DRAFT] Air by rpm taper (#4486)
* add rpm to getOpenLoop() and getRunningOpenLoop()

* implement airByRpmTaper

* unit-test for airByRpmTaper
2022-08-25 21:23:23 -04:00
Andrey 3d50b20155 B6 progress 2022-08-25 19:26:18 -04:00
Andrey 2277d36cc6 B6 progress 2022-08-25 12:45:47 -04:00
Andrey 52210e2a74 B6 progress 2022-08-25 11:15:54 -04:00
Andrey 0b3478697a Lua code reuse 2022-08-25 10:45:26 -04:00
GitHub build-unit-tests Action fc1748de4c Trigger wheel definitions 2022-08-24 03:41:03 +00:00
rusefillc f5576b05d9 VQ trigger gaps improvement fix #4469
nice, unit test is happier!
2022-08-23 23:32:14 -04:00
GitHub build-unit-tests Action a80234ebdc Trigger wheel definitions 2022-08-22 23:49:31 +00:00
rusefi 3eeff9e388 Lua CAN bus index: let's fail if invalid value specified 2022-08-21 22:31:52 -04:00
Andrey 8f33e1b40f test coverage and some magic constant refactoring 2022-08-21 16:03:34 -04:00
Andrey 2d4b944547 test coverage and some magic constant refactoring 2022-08-21 15:22:22 -04:00
rusefi ea7597e0d6 trigger gap logging: it's a mess :( 2022-08-21 12:38:29 -04:00
rusefi 2f882b1452 refactoring: default argument value 2022-08-21 12:17:50 -04:00
Matthew Kennedy ea733ecbf0 fix inverted vvt (#4464)
* fix inverted mode

* unit tests are great
2022-08-20 20:12:32 -04:00
Matthew Kennedy f5c9c29a39 enable alwaysInstantRpm in some tests (#4461)
* test some with alwaysInstantRpm set

* more
2022-08-19 15:03:20 -04:00
Matthew Kennedy 6218edd040 allow logging multiple warnings at once (#4414)
* allow logging multiple warnings at once

* comment

* .Code

* Revert ".Code"

This reverts commit 2b986bd50035aeec051d11aafd83fdbc1694351c.

* add a better comparison operator instead of conversion

* dot code

* Revert "dot code"

This reverts commit 35f6ae1007c41e3b30ea129a324f33ab4205036d.

* force gcc-10 maybe?

* Revert "force gcc-10 maybe?"

This reverts commit 4ddf8bcefddd354ccdc1da682c5fff1e68d44273.

* vq

* dot code

* dead

* dot code

* return may be null

* static_vector; maybe cyclic_buffer is broken or wrong tool for the job?

* move static vector

* put cyclic buffer back how it was since we don't use it now
2022-08-17 01:12:25 -04:00
rusefi b057c5bd71 random progress 2022-08-13 23:33:30 -04:00
rusefillc 69d582a674 ECU to Mainline DynoLog Data Protocol #4319 2022-08-12 23:53:48 -04:00
Matthew Kennedy fcb9897443 resolve VVT phase using every tooth, not just sync point (#4434)
* resolve VVT phase using every tooth, not just sync point

* fix tests

* comment

* changelog
2022-08-12 08:08:23 -04:00
rusefillc d97bcec161 refactoring: better field name 2022-08-09 20:32:39 -04:00
Matthew Kennedy 5fc7000834 Pt2001 module (#4396)
* pt2001 uses module

* read flag0

* c

* libfirmware

* makefiles

* are unit tests happy?

* bootloader
2022-08-08 08:53:08 -04:00
Matthew Kennedy 24142f8330 Simpler thread controller (#4327)
* s

* Start -> start

* maybe tests are happy

* s

* s
2022-08-02 01:16:13 +03:00
GitHub build-unit-tests Action 9106784bd2 Trigger wheel definitions 2022-07-31 14:26:12 +00:00
Matthew Kennedy d4721bee89 implement sensor checker (#4395)
* implement sensor checker

* use default

* s

* fix

* properly report non-timeout errors

* it's not safe to read Value when invalid

* it's not safe to read Value when invalid
2022-07-30 17:08:48 -04:00
rusefillc 35f9830cca it's impossible to receive AcceleratorPedal sensor via CAN/Lua #4369 2022-07-28 12:08:35 -04:00
Matthew Kennedy 14b39b7b0a unexpected contains information about why it failed (#4393)
* unexpected can contain information

* info printing

* sensors return appropriate error codes

* remove reliance on undefined behavior

* s
2022-07-28 10:04:28 +03:00
Matthew Kennedy 9f6ee5f359 detect bad Lua sensor name when registering (#4391)
* format

* lua error on bad sensor

* comment

* name validation

* soft check before the hard check causes a fatal error

* s
2022-07-27 12:41:21 +03:00
Matthew Kennedy a131c2c559 Reenable sanitize (#4384)
* turn on sanitize, fix overrun

* allow sanitize override, disable it for shared lib

* probably fix android build
2022-07-27 09:22:22 +03:00
GitHub build-unit-tests Action fc41ddc0d3 Trigger wheel definitions 2022-07-23 07:52:13 +00:00
Andrey e3278ad925 Extra gap ratios for custom trigger wheels fix #4375 2022-07-23 03:39:19 -04:00
Andrey 43bc08bc24 Extra gap ratios for custom trigger wheels fix #4375 2022-07-23 03:16:11 -04:00
rusefillc 7536414bfa Revert "Reenable sanitize (#4365)"
This reverts commit da6bf0a775.
2022-07-22 08:15:15 -04:00
Matthew Kennedy da6bf0a775 Reenable sanitize (#4365)
* turn on sanitize, fix overrun

* allow sanitize override, disable it for shared lib
2022-07-22 08:19:54 +03:00
Matthew Kennedy 1596228f10 libfirmware has interpolation tests (#4362)
* move interpolation tests

* what actually happens if sanitize is off?

* oh look there are real bugs to be caught by sanitizer
2022-07-21 15:41:42 -04:00
rusefillc 2bc4fd909d Launch control bug? "range" thing is confusing #4348
a typo and configurable behaviour without UI
2022-07-20 18:48:55 -04:00
Matthew Kennedy 2bf6c94663 fragments (#4357) 2022-07-19 11:02:41 +03:00
Matthew Kennedy 1fd637d27e remove idle offset (#4355)
* remove offset

* remove more completely

* changelog
2022-07-18 15:49:43 -04:00
Matthew Kennedy 1951bbda8b move math (#4353) 2022-07-17 00:16:22 -04:00
Matthew Kennedy cd98ad35c2 use libfirmware for a few things (#4351)
* use libfirmware

* unit tests

* crc

* missed one

* bootloader
2022-07-16 02:22:51 -04:00
rusefillc e91d72bba5 launch control for autocross on micro rusefi #4341 2022-07-14 16:41:50 -04:00
rusefillc 133ab5618b FSIO is dead 2022-07-14 07:52:58 -04:00
rusefillc 75ee3cfa03 RoverK - wow that's odd, but whatever 2022-07-12 03:09:42 -04:00
GitHub build-unit-tests Action 418b23660b Trigger wheel definitions 2022-07-12 04:33:14 +00:00
rusefillc eb4446f466 Make hard-coded gap ratios visible on trigger documentation images #4172 2022-07-12 00:11:25 -04:00
rusefillc cc3cbdabc0 Make hard-coded gap ratios visible on trigger documentation images #4172 2022-07-11 04:21:17 -04:00
Matthew Kennedy 3c88dda538 Add a timeout for Lua ETB adjustment (#4331)
* lua etb timeout

* mocks

* test
2022-07-10 05:46:28 +03:00
Matthew Kennedy 68fb838641 Lua hooks for gear detection (#4328)
* implement

* sim has vss

* write a test

* guard
2022-07-07 23:16:56 -04:00
Matthew Kennedy ab24c5eb35 Rewrite tooth logger buffer management (#4317)
* s

* make it work

* put back enough maybe

* fix console composite log

* unit tests can just use a vector, why not

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-07-04 16:57:17 -04:00
Matthew Kennedy b5d85334c3 hellen board ID detect improvements (#4307)
* move call

* board detections work correctly

* improve detector

* s

* break instead of return

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-07-02 05:19:02 -04:00
Matthew Kennedy 67439afb96 rescale RPM values (#4300)
* rpm configs

* fix

* s

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-29 18:48:30 -04:00
rusefillc 8708fd73cf logging of live data structs was: data points #3614
huh?
2022-06-29 02:42:03 -04:00
Matthew Kennedy 88ff234c91 Injector scheduled by angle, not tooth index (#4208)
* trigger decoder returns a result

* TriggerFormDetails

* s

* don't reach out and touch the engine

* injection doesn't care about teeth

* fix up existing tests

* oh look, we can actually test this logic now without trying to depend on trigger shape!!!

* fix a real bug

* simplify
2022-06-24 17:43:23 -04:00
Matthew Kennedy d5f1235a43 trigger tweaks cleanup (#4278)
* simplify some math

* we say yes to the todo

* and put back that test

* test
2022-06-23 23:11:29 -04:00
Matthew Kennedy f5843258b4 fix (#4279) 2022-06-23 21:35:05 -04:00
Matthew Kennedy 840bf6fb27 wideband live data (#4276)
* wideband live data magic

* test build happy

* test even happier
2022-06-23 20:04:26 -04:00
Andrey edd4dcb004 VAG Lua progress 2022-06-23 16:02:09 -04:00
Andrey 13107964f2 VAG Lua progress 2022-06-22 22:22:49 -04:00
Matthew Kennedy ccec58446b clt based rpm limit (#4267) 2022-06-22 16:49:24 -04:00
rusefillc 0dbecf312e bit math is hard :( 2022-06-20 21:51:21 -04:00
rusefillc 1b8e3bda34 bit math is hard :( 2022-06-20 21:36:10 -04:00
GitHub build-unit-tests Action d2c07806ae Trigger wheel definitions 2022-06-20 15:54:57 +00:00
GitHub build-unit-tests Action 784cbc0573 Trigger wheel definitions 2022-06-20 12:39:12 +00:00
Matthew Kennedy 27c98f70fe cam/crank sync improvements (#4152)
* clarify getOperationMode

* wait for phase synchronize to transition to sequential mode

* one test

* encapsulate vvtSyncCounter

* test

* Add option to stop VVT sync above some RPM

* getOrZero

* Revert "synchronized Phase handling improvements fix #4099"

This reverts commit e64c8cfccb.

* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"

This reverts commit 5454b8f509.

* remove synchronizedPhase

* only crank needs this

* changelog

* needsDisambiguation()

* test

* s

* bad merge

* put the timer back

* s

* s

* changelog

* test for new behavior

* correct parameter order

* spelling

* s

* s

* s

* tests merge happy

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
GitHub build-unit-tests Action 32e15a6942 Trigger wheel definitions 2022-06-02 01:35:22 +00:00
Matthew Kennedy c2f61dc95f Remove third trigger channel (#4226)
* remove third trigger

* clean up the honda mess

* there was nothing novel about this engine config

* include

* missed a few

* s

* x

* changelog

* don't set the third trigger input

* don't redefine the same thing 3 times

* only two inputs!

* test
2022-06-01 21:24:20 -04:00
Matthew Kennedy 56e7acd869 Trigger cleanup init (#4222)
* extra parameter

* name decoders in constructor

* s
2022-06-01 00:55:34 -04:00
rusefillc 767790621f helping build 2022-05-31 10:45:32 -04:00
rusefillc 2c5419df23 heling build 2022-05-31 08:48:24 -04:00
GitHub build-unit-tests Action c71a293f90 Trigger wheel definitions 2022-05-31 02:50:12 +00:00
Matthew Kennedy 54c339c0a4 remove trigger duty cycle calculation (#4213)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix

* remove duty cycle thing
2022-05-30 22:39:57 -04:00
Matthew Kennedy 5f1801f9d6 trigger configuration refactoring for clarity (#4212)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix
2022-05-30 19:36:47 -04:00
Matthew Kennedy cf51533f45 More trigger encapsulation (#4207)
* trigger decoder returns a result

* TriggerFormDetails

* s

* don't reach out and touch the engine
2022-05-29 13:49:00 -04:00
GitHub build-unit-tests Action b4fbdd7aa7 Trigger wheel definitions 2022-05-24 19:05:09 +00:00
rusefillc 5d8f43789a spaces in JAVA_HOME usability 2022-05-24 14:42:42 -04:00
Matthew Kennedy 65db5aacaa Fix trigger error indicator (#4185)
* test and fix

* more shards!
2022-05-19 09:43:42 -04:00
GitHub build-unit-tests Action 9310aede26 Trigger wheel definitions 2022-05-18 03:24:52 +00:00
rusefillc a324d6ff09 reduce flash footprint by smarter code generation #4163 2022-05-16 00:00:47 -04:00
rusefillc 3c3689d2b3 Revert "Revert "reduce flash footprint by smarter code generation #4163""
This reverts commit eb650fe19f.
2022-05-15 15:15:06 -04:00
rusefillc eb650fe19f Revert "reduce flash footprint by smarter code generation #4163"
This reverts commit b88c155f7a.
2022-05-15 15:14:04 -04:00
rusefillc b88c155f7a reduce flash footprint by smarter code generation #4163 2022-05-15 12:05:38 -04:00
Andrey 90f0ae6057 reduce flash footprint by smarter code generation #4163 2022-05-15 10:07:17 -04:00
Andrey 009929fc20 altering technical debt 2022-05-15 10:07:17 -04:00
rusefillc d690544793 Timestamp Error scheduleByTimestampNt too far #3395
improving error message
2022-05-14 21:24:19 -04:00
Matthew Kennedy 76a15dd711 don't rely on triggerStateListener to detect trigger errors (#4164)
* Write proper TriggerDecoder tests

* Improve logic around sync loss

* these tests I understand

* these I sort of understand....

* the one error in the noiseless decoder is gone!
2022-05-13 18:48:26 -04:00
GitHub build-unit-tests Action 0fff9cde31 Trigger wheel definitions 2022-05-11 10:54:37 +00:00
Matthew Kennedy 4e54e66b88 Proper decoder testing (#4166)
* Write proper TriggerDecoder tests

* patch test for un-patched decoder
2022-05-11 06:14:45 -04:00
Matthew Kennedy b243d3fca0 TriggerState -> TriggerDecoder (#4157) 2022-05-10 11:41:39 +03:00
rusefillc 178721c809 Remove value copy from controller into outputChannels #4095 2022-05-09 06:12:17 -04:00
rusefillc b2771f9b44 Remove value copy from controller into outputChannels #4095 2022-05-08 08:50:27 -04:00
Matthew Kennedy e94738a2c8 support better wbo format (#4000)
* new format

* comment

* pr feedback

* heater duty

* extra

* comment

* test multi-accept logic

* s

* test new format

* this comment made no sense

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-05-07 02:19:51 -04:00
GitHub build-unit-tests Action 1b911ce7ce Trigger wheel definitions 2022-05-06 12:37:23 +00:00
Matthew Kennedy 997565ac22 Trigger gm 3 vs 5 (#4140)
* add parameter

* two modes

* add new mode to list

* format

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-05-06 08:25:44 -04:00
Matthew Kennedy b66a226a76 Scaled channel ints (#4129)
* test that fails today

* Revert "int32 scaled_channel has float precision #4128"

This reverts commit eb82fbc162.

* fix the problem

* format

* x

* s
2022-05-02 15:20:02 -04:00