Commit Graph

2361 Commits

Author SHA1 Message Date
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
Andrey 7bd22b589d helping build 2022-05-02 06:30:06 -04:00
rusefillc 97a8fee3c9 helping build 2022-05-02 05:57:53 -04:00
Andrey 03662e48c4 Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
rusefillc 06e6f90d29 Technical debt: ENUM_32_BITS #3874 2022-05-01 08:48:54 -04:00
rusefillc a0da677a1e this seems mostly dead? 2022-04-30 13:43:09 -04:00
rusefillc f341ce561e 2 byte pin index #4097 (#4102)
* 2 byte pin index #4097

* 2 byte pin index #4097

good time to defragment configuration

* 2 byte pin index #4097

new fancy way

* 2 byte pin index #4097

smart comment

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-04-29 19:35:31 -04:00
Matthew Kennedy 83caf1ea1b Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
Matthew Kennedy 2d033df11b more missing autoscale (#4112)
* autoscale m_config->timeConstant

* min/max afr

* more

* dwell voltage

* closed loop fuel

* knock

* map estimate

* applyNonlinearBelowPulse

* fix

* add a test while we're at it for un-covered code

* test fallback MAP since we touched that

* always compute fallback MAP even if sensor is OK
2022-04-28 08:16:02 -04:00
Matthew Kennedy c3532b4635 fix vss/iss filter parameter validation (#4114)
* fix filter parameter validation

* use values that don't get clipped
2022-04-27 22:29:51 -04:00
rusefillc a0c8e8493d Remove value copy from controller into outputChannels #4095 2022-04-23 20:38:48 -04:00
rusefillc 1ce5be5629 m_hasSynchronizedSymmetrical handling improvements #4099 (#4101) 2022-04-23 19:45:29 -04:00
Andrey 1e83d52f97 m_hasSynchronizedSymmetrical handling improvements #4099 2022-04-23 19:03:59 -04:00
Andrey 435563ad51 m_hasSynchronizedSymmetrical handling improvements #4099 2022-04-23 18:46:12 -04:00
rusefillc e0e61f7f44 FasterEngineSpinUp should be enabled by default fix #4094 2022-04-23 09:51:47 -04:00
Matthew Kennedy 8650686ab7 knock threshold table fix (#4077)
* fix knock threshold table

* defaults

* knock controller is engine module

* testable

* test builds

* knock tests work

* s

* format

* everyone loves changelogs
2022-04-18 08:03:16 -04:00
Matthew Kennedy 75c7fb3b18 fragment refactoring (#4072)
* fragment refactoring

* jar

* jar?
2022-04-16 09:24:45 -04:00
rusefi b6483c2d8b steps towards better commands encapsulation 2022-04-14 01:44:35 -04:00
rusefillc 7ab25d135a logging of live data structs was: data points #3614
handling request past end of fragments
2022-04-13 23:31:32 -04:00
rusefillc cd080b159f logging of live data structs was: data points #3614
support for null fragments
2022-04-13 20:46:55 -04:00
rusefillc 089d7f5cd1 steps towards ignition live data 2022-04-13 16:48:25 -04:00
Matthew Kennedy e57a1b4f08 make the vss fliter parameter work again (#4056)
* vss has adjustable filter

* tooltip and validate

* s
2022-04-09 09:00:19 -04:00
Matthew Kennedy 7aedc7d029 gear detection validation (#4053)
* gear detection validation

* test validation because why not
2022-04-09 08:59:07 -04:00
Matthew Kennedy 88ff526764 Gear detection implementation (#4052)
* gear detect improvements

* ui

* ui for gear ratios

* ui

* output channel

* output channels etc

* implement gear detection

* name

* s

* status loop

* missing function

* ui tweaking

* s
2022-04-07 09:21:11 -04:00
Matthew Kennedy 405f7f3b43 Gear detection improvements (#4047)
* gear detect improvements

* ui

* ui for gear ratios

* ui
2022-04-06 16:15:58 -04:00
rusefillc 5cb1516ade JNI for test coverage #3965 2022-04-04 22:33:30 -04:00
Andrey b7cd7dbdb9 Extra Idle Air if Throttle is Pressed behavior #3940
only live data
2022-04-03 20:30:09 -04:00
GitHub build-unit-tests Action cbfdece739 Trigger wheel definitions 2022-04-03 22:10:40 +00:00
Andrey 5e0263d2f0 Proper cam speed labels in triggers #4021 2022-04-03 17:56:47 -04:00
GitHub build-unit-tests Action d60e2d662b Trigger wheel definitions 2022-04-03 16:42:45 +00:00
rusefillc bc08418280 Proper cam speed labels in triggers #4021 2022-04-03 12:22:47 -04:00
Matthew Kennedy fc4e6cbdb3 fix 4032 (#4034)
* fix 4032

* board defaults should not set these things
2022-04-03 06:58:25 -04:00
Andrey 20dbc1ff82 Trigger setup in TS is highly confusing: hide operation mode from users? #4031
WOW it works?!
2022-04-03 02:30:43 -04:00
Andrey 298ea5f8c0 Trigger setup in TS is highly confusing: hide operation mode from users? #4031 2022-04-03 02:21:37 -04:00
Andrey 3cacb94140 Trigger setup in TS is highly confusing: hide operation mode from users? #4031
progress: this way test is less fake!
2022-04-03 02:13:56 -04:00
Andrey 4adaf71e18 Trigger setup in TS is highly confusing: hide operation mode from users? #4031 2022-04-03 01:02:13 -04:00
Andrey b96c51874c Trigger setup in TS is highly confusing: hide operation mode from users? #4031 2022-04-03 00:34:18 -04:00
rusefillc 9ae96ea7e5 refactoring: method rename 2022-04-02 21:01:29 -04:00
GitHub build-unit-tests Action dd8c85e4fe Trigger wheel definitions 2022-04-02 23:28:57 +00:00
rusefillc 3dbee88f53 Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2022-04-02 19:08:22 -04:00
GitHub build-unit-tests Action 81e3a61696 Trigger wheel definitions 2022-04-02 19:26:13 +00:00
rusefillc f274922935 Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2022-04-01 22:05:25 -04:00
GitHub build-unit-tests Action 9b1d906c8b Trigger wheel definitions 2022-03-24 00:18:03 +00:00
GitHub build-unit-tests Action 9a4230d9cc Trigger wheel definitions 2022-03-22 10:45:51 +00:00
rusefillc b555d9e82b toothed previous time #4019 2022-03-21 20:41:09 -04:00
GitHub build-unit-tests Action 15cc6d4216 Trigger wheel definitions 2022-03-21 00:24:31 +00:00
GitHub build-unit-tests Action 9945733775 Trigger wheel definitions 2022-03-20 02:22:26 +00:00
GitHub build-unit-tests Action 9802b98450 Trigger wheel definitions 2022-03-20 00:11:47 +00:00
Andrey cc1c4620be Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2022-03-19 19:59:36 -04:00
GitHub build-unit-tests Action e71ed00888 Trigger wheel definitions 2022-03-19 23:45:58 +00:00
GitHub build-unit-tests Action cc2a6f4d12 Trigger wheel definitions 2022-03-19 21:05:36 +00:00
GitHub build-unit-tests Action f48260afbd Trigger wheel definitions 2022-03-19 20:14:32 +00:00
GitHub build-unit-tests Action 74462b9cdf Trigger wheel definitions 2022-03-19 16:35:49 +00:00
rusefillc 2bdee233ea JNI for test coverage #3965 2022-03-19 11:55:44 -04:00
Matthew Kennedy d01d24490b test AEM X-Series wideband protocol (#4002)
* break out acceptFrame, test CanListener

* test AEM xseries protocol

* tweaks

* tweaks

* maybe everyone compiles happily now
2022-03-15 15:52:50 -04:00
rusefillc e9625b3cd8 JNI for test coverage #3965 2022-03-15 13:57:40 -04:00
rusefillc 3e16b74bf1 JNI for test coverage #3965 2022-03-15 13:05:24 -04:00
rusefillc 07e6d14558 JNI for test coverage #3965 2022-03-15 11:09:54 -04:00
rusefillc f8f311bb87 gtest in library is hard (#3998)
* Revert "Revert "JNI for test coverage #3965""

This reverts commit d1df67b8d5.

* JNI for test coverage #3965

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-03-14 22:15:21 -04:00
GitHub build-unit-tests Action 044cd1f7bf Trigger wheel definitions 2022-03-15 00:55:36 +00:00
Matthew Kennedy e4fa4b29ca break out acceptFrame, test CanListener (#4001) 2022-03-14 19:09:01 -04:00
Matthew Kennedy 9d213b6584 things are happy without gtest (#3999)
* things are happy without gtest

* this is not a static lib
2022-03-14 15:00:02 -04:00
rusefillc 691be1cf2d spelling 2022-03-14 13:11:10 -04:00
rusefillc 311d00dfd7 JNI for test coverage #3965 2022-03-14 00:10:01 -04:00
rusefillc 8c2f6888d7 JNI for test coverage #3965 2022-03-13 21:36:25 -04:00
rusefillc d82985a467 JNI for test coverage #3965 2022-03-13 21:04:04 -04:00
rusefillc 65ff145a8d Jni engine (#3995)
* JNI for test coverage #3965

* JNI for test coverage #3965

* JNI for test coverage #3965
2022-03-13 20:03:49 -04:00
rusefillc e8a45742de JNI for test coverage #3965 2022-03-13 00:25:10 -05:00
rusefillc a3c5005a49 JNI for test coverage #3965 2022-03-13 00:06:26 -05:00
rusefillc 08029bce9b JNI for test coverage #3965 2022-03-13 00:01:16 -05:00
rusefillc ecac4bc6d9 JNI for test coverage #3965 2022-03-12 23:47:38 -05:00
Matthew Kennedy 0c6a369777 flash storage uses 32 bit CRC (#3984)
* better flash logic and warning message

* comment

* s

* ssssss

* simplify logic

* use 32 bit crc

* s

* don't test things that don't exist
2022-03-08 23:17:35 -05:00
rusefillc 121aedda31 JNI for test coverage #3965
strange work-around
2022-03-01 00:37:08 -05:00
rusefillc 2f9f3a5fc4 JNI for test coverage #3965
strange work-around
2022-03-01 00:34:39 -05:00
rusefillc 2dc7394ac7 JNI for test coverage #3965
strange work-around
2022-03-01 00:30:36 -05:00
rusefillc 02cfd6e6a2 JNI for test coverage #3965
strange work-around
2022-03-01 00:29:28 -05:00
rusefillc 223eb0dd16 JNI for test coverage #3965
strange work-around
2022-03-01 00:27:04 -05:00
rusefillc c993808626 JNI for test coverage #3965 2022-03-01 00:13:39 -05:00
rusefillc 1f005073d9 JNI for test coverage #3965 2022-02-28 12:54:33 -05:00
rusefillc 73dcd9abe0 JNI for test coverage #3965 2022-02-26 21:52:52 -05:00
rusefillc a073c341cd JNI for test coverage #3965
hello darwin
2022-02-26 21:02:34 -05:00
rusefillc 142b30a576 JNI for test coverage #3965 2022-02-26 21:02:34 -05:00
rusefillc ceb5acaefb JNI for test coverage #3965 2022-02-26 21:02:34 -05:00
rusefillc 382f30f18f JNI for test coverage #3965 2022-02-26 18:12:34 -05:00
rusefillc 1e413e6f4f JNI for test coverage #3965 2022-02-26 18:12:34 -05:00
Andrey G b160134b31 cli registry: rework this hell, add FFF and FFFFF (#3964)
* cli registry: rework this hell, add FFF and FFFFF

* kinetis: no nodefaultlib

* revert back token helpers

* cli_registery: argument parser: do not eat qoutes

* Unit test for FFF

* cli_registry: remove debug
2022-02-26 16:58:10 -05:00
rusefillc bb6b16ad24 one step back: helping master 2022-02-26 13:52:39 -05:00
rusefillc 901a180774 dead code: THUMB really does not apply here 2022-02-26 13:48:51 -05:00
rusefillc c978e947de JNI for test coverage #3965 2022-02-26 13:10:57 -05:00
rusefillc df02bad7d9 refactoring 2022-02-26 13:03:22 -05:00
rusefillc 8b9e421fd0 JNI for test coverage #3965 2022-02-26 12:51:50 -05:00
rusefillc 26b13ed510 BMW 6HP gatewy #3954 2022-02-22 23:13:32 -05:00
rusefillc fd1fb0fcef Revert "lua: TDD of enabling base lib"
This reverts commit ec97bf2cb5.
2022-02-22 20:50:38 -05:00
rusefillc ec97bf2cb5 lua: TDD of enabling base lib 2022-02-22 16:25:41 -05:00
rusefillc d9c574c666 BMW 6HP gatewy #3954 2022-02-22 15:35:50 -05:00
rusefillc af5b2bafb0 N73 2022-02-21 11:29:46 -05:00
rusefillc ee73f97050 N73 2022-02-19 20:46:04 -05:00
Matthew Kennedy 47b4ace4cb less dependence on that logger (#3884)
* less dependence on that logger

* comma

* refactor a bit, make it clear what this thing actually *does*

* static

* shrink the buffer a bit and make names useful

* dead util that's just subtraction lol
2022-02-09 06:53:16 -05:00
Matthew Kennedy 31c0afc79f remove mock adc (#3888)
* remove mock adc

* do these do /anything/?
2022-02-03 20:43:34 -05:00
Andreika e6c705ece1 hellen_board_id + hellen-common.mk (#3885)
* Hellen_board_id

* move EXTI init before config load

* add NT2USF()

* Hellen_board_id unit-tests

* hellen-common.mk

* fix for older macos compiler
2022-02-03 11:24:31 -05:00
Matthew Kennedy e95d8469c0 dead StartupFuelPumping (#3883)
* dead

* test

* dead config too
2022-02-03 08:01:21 -05:00
Matthew Kennedy d1ea6d6386 test organization (#3882)
* organize actuators

* this test can be useful

* don't name things misc

* fewer tests called misc

* fewer tests called "big" (?)

* unnecessary
2022-02-02 16:36:35 -05:00
Matthew Kennedy 57525283ac Remove FSIO, byeeeeeeeee (#3865)
* vestigial config

* replace last functionality

* engine/board configs include

* files that didn't need to include this

* remove FSIO implementation

* stragglers

* random little bits

* s

* s

* ConfigDefinition

* jar

* s
2022-02-02 02:03:31 -05:00
Matthew Kennedy f82f4d08d6 Remove fsio part 2 (#3876)
* dead config stuff

* fsio state

* remove tests

* getEngineValue

* put part back
2022-02-02 00:49:44 -05:00
rusefillc a4cdf72734 Main relay shutdown rebase (#3880)
* aggregate

* main relay controller handles delayed shutoff

* main relay controller handles delayed shutdown

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-02 00:45:11 -05:00
Matthew Kennedy 28b6cce9d9 Remove fsio part 1 (#3871)
* dead includes

* move last logic out of fsio

* dead functions
2022-02-01 15:42:04 -05:00
rusefillc 5c16186919 safer file name (#3861)
* safer file name

* safer file name

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-31 21:51:32 -05:00
GitHub build-unit-tests Action 7d5d1251aa Trigger wheel definitions 2022-01-31 23:31:07 +00:00
Matthew Kennedy 60b9ddeb1e vss based dfco (#3845)
* vss based dfco

* fix digits while we're here

* fix some other digits for fun

* don't use custom assert

* simplify test

* less than or equal, test vss behavior

* even better than comments are tooltips
2022-01-27 14:05:18 -05:00
Matthew Kennedy 50c31b78ae extract logic from wall wetting AE (#3848)
* extract logic

* extract interface

* explicitly test wall fuel
2022-01-27 07:45:50 -05:00
Matthew Kennedy 4804a736f0 vss and flex are filtered (#3839)
* vss and flex are filtered

* turbo

* freq sensor test
2022-01-26 17:33:04 -05:00
Matthew Kennedy 1a0682aa0e dfco checks driver throttle intent (#3832) 2022-01-24 14:26:39 -05:00
Matthew Kennedy b07127614b decouple TPS accel enrichment from trigger (#3825)
* move call site

* move thresholding out of fast path

* adjust config

* test
2022-01-23 15:31:39 -05:00
Matthew Kennedy a1647fd66e baro fully in sensor model (#3829)
* consumers and api

* dead test

* baro uses sensor model

* remove old (copy of?) map lookup logic

* I guess we don't need FastInterpolation any more?

* don't double init analog input
2022-01-23 09:42:11 -05:00
Andrey 4e676e1a86 fixing NOISY_RPM handling via Sensor framework 2022-01-21 00:21:45 -05:00
Andrey 014ea2b78a migrating to SensorType::Rpm API 2022-01-20 23:54:52 -05:00
Andrey 970f81c5b3 migrating to SensorType::Rpm API 2022-01-20 23:43:18 -05:00
Andrey 5f3324cd6b migrating to SensorType::Rpm API 2022-01-20 23:32:59 -05:00
Andrey 5353d13d96 migrating to SensorType::Rpm API 2022-01-20 23:19:48 -05:00
Andrey 670bd91658 migrating to SensorType::Rpm API 2022-01-20 23:03:45 -05:00
Andrey f7f6a31530 migrating to SensorType::Rpm API 2022-01-20 22:58:12 -05:00
Andrey 37e700f8bd migrating to SensorType::Rpm API 2022-01-20 22:51:20 -05:00
Andrey 779e2fcbc5 migrating to SensorType::Rpm API 2022-01-20 22:44:59 -05:00
Andrey 92cbba3256 migrating to SensorType::Rpm API 2022-01-20 22:42:13 -05:00
Andrey adb00d4255 migrating to SensorType::Rpm API 2022-01-20 22:40:15 -05:00
Andrey e1f1f28045 migrating to SensorType::Rpm API 2022-01-20 22:31:07 -05:00
Andrey a168a94628 migrating to SensorType::Rpm API 2022-01-20 22:26:05 -05:00
Andrey 72ae8dd4a1 migrating to SensorType::Rpm API 2022-01-20 22:22:52 -05:00
Andrey 5d6985f085 migrating to SensorType::Rpm API 2022-01-20 22:12:04 -05:00
Andrey 3a6597464f migrating to SensorType::Rpm API 2022-01-20 22:04:45 -05:00
Andrey c27ed2525f what's the difference between setRpmValue and assignRpmValue #3815
refactoring
2022-01-20 21:57:27 -05:00
Matthew Kennedy 6fc4503ee2 XY Idle VE Table (#3781)
* config & ui

* implement

* test idle VE switching behavior

* use the interface where we can

* s

* re-bump flash version
2022-01-20 14:08:54 -05:00
GitHub build-unit-tests Action ad6251b5b3 Trigger wheel definitions 2022-01-20 02:18:29 +00:00
David Holdeman 38c1aaef93 use -C flag (#3811) 2022-01-18 19:25:59 -05:00
Andrey eb5206dada Remove legacy check fix #3808 2022-01-18 16:01:27 -05:00
Andrey b927134b0f https://rusefi.com/forum/viewtopic.php?p=44100#p44100 2022-01-18 10:24:08 -05:00
rusefillc 60e8eaf290 gcov coverage seems stale #3805 2022-01-18 08:35:37 -05:00
rusefillc f1862b9cad https://en.wikipedia.org/wiki/Pi 2022-01-14 21:51:03 -05:00
Matthew Kennedy 78119b7df4 improve maf output channels and logging (#3743)
* maf channels

* s

* binary log

* if only I could type

* can

* instant RPM too

* s

* test

* graceful zero rpm

* test works

* float near
2022-01-12 15:41:35 -05:00
rusefillc dd4950f850 Code style for methods with zero arguments #3535 2022-01-11 22:40:52 -05:00
Matthew Kennedy cb368580a6 don't start boost pwm unnecessarily (#3767)
* don't start boost pwm unnecessarily

* test
2022-01-11 20:47:50 -05:00
rusefillc 5c68f86a0d RE usability: live data for idle controller 2022-01-10 21:55:52 -05:00
rusefillc 5eaabf5eb6 RE usability: live data for idle controller
static bad, class fields better
2022-01-10 20:12:11 -05:00
rusefi 53b118d54e we can live without this test 2022-01-08 20:34:31 -05:00
rusefillc 0335802d7e mk files refactoring
saving build
2022-01-06 22:19:00 -05:00
rusefillc d447e34344 mk files refactoring 2022-01-06 21:48:48 -05:00
rusefillc 47f0423b73 mk files refactoring 2022-01-06 20:32:39 -05:00
rusefillc 1955c5a3c2 mk files refactoring 2022-01-06 20:06:31 -05:00
rusefillc 433ff5c62e Live Data progress 2022-01-06 19:02:35 -05:00
Andrey 5e9fcca6f9 Live Data progress 2022-01-05 20:41:51 -05:00
Andrey 6c1b363d37 Live Data progress 2022-01-05 20:15:23 -05:00
rusefillc 5737590d94 itoa unit test, not a very detailed one 2022-01-03 03:31:57 -05:00
Matthew Kennedy 4627bace31 Improve NA/NB miata sync parameters (#3730)
* NA sync parameters

* NB vvt pattern too

* zach's car says tighten the gap

* look at that, we sync one cycle sooner!
2022-01-01 21:39:04 -05:00
Matthew Kennedy c2cc5c8cc7 cylinder ignition trim (#3709)
* cylinder ignition trim

* changelog

* changelog

* test

* move UI
2022-01-01 15:47:47 -05:00
Matthew Kennedy 265f005239 hook up fuel trims (#3715)
* hook up fuel trims

* pass all the params

* store per-cylinder fuel mass directly

* main trigger callback only touches per-cylinder, no banks!

* test test test test

* move UI to happy land

* changelog
2022-01-01 02:19:59 -05:00
Matthew Kennedy c058698859 Nb2 crank sync special case (#3727)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* custom nb decoder

* test only resyncs once!

* good job valgrind, you found a bug!
2021-12-31 15:47:25 -05:00
rusefillc 213c22fde3 GDI Epic #1448
live view
2021-12-31 15:28:24 -05:00
Matthew Kennedy d90d6705cf adjustment to #3722 (#3723)
* s

* behold, another bug a test caught

* test

* test generates usable trigger pattern so it works correctly

* comment

* don't need that
2021-12-31 01:21:21 -05:00
Matthew Kennedy 041a3e12a3 extract isSyncPoint function (#3726)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* clean up noise from test case

* clarify and comment
2021-12-30 11:39:04 -05:00
rusefillc e525bf06a7 E65 2021-12-29 00:50:17 -05:00
Andrey ea8e8fcc4b extract method 2021-12-27 21:09:41 -05:00
Andrey 89ceae63ba E65 2021-12-26 14:48:00 -05:00
rusefillc 917c13ef50 docs 2021-12-26 13:41:10 -05:00
rusefillc 98423f2046 live data 2021-12-26 13:00:17 -05:00
rusefillc 774e452738 E65 2021-12-24 17:35:27 -05:00
Andrey aedf984089 E65 2021-12-24 16:58:12 -05:00
Andrey f1705e83a9 E65 2021-12-24 16:56:17 -05:00
Andrey 1bcc0c9c92 E65 2021-12-24 16:53:24 -05:00
Andrey 436dec6df5 refactoring 2021-12-24 16:51:31 -05:00
Matthew Kennedy 5642ef07be Autoscale all the things! (#3713)
* Map3D accepts any scaled_channel type

* consistency

* reinstate test

* fix ratio

* throttle, boost, gppwm

* scale ignition and VE

* tests
2021-12-22 08:09:41 -05:00
Matthew Kennedy 0f133f88a1 Map3D accepts any scaled_channel type (#3712)
* Map3D accepts any scaled_channel type

* consistency

* reinstate test

* fix ratio
2021-12-21 18:52:46 -05:00
Andrey 1fc31cd565 Map3D needs some changes to allow autoscale RPM bin #3707 2021-12-21 16:04:16 -05:00
Matthew Kennedy f2312facd6 tables support non-integer-scaled scaled_channel (#3708)
* support dividers

* float

* format
2021-12-21 00:59:07 -05:00
Matthew Kennedy 2ba4c7844d simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Matthew Kennedy fae8b9ec06 clean up timing table defaults (#3705)
* less crazy configs

* cleanup

* make that test happy
2021-12-20 08:02:38 -05:00
rusefillc c8e1bde986 2 byte table axis #3045 2021-12-20 02:07:03 -05:00
Andrey faa29f0dc2 2 byte table axis #3045
fixing build
2021-12-20 01:50:23 -05:00
Andrey 842c787645 are we missing something? 2021-12-19 23:57:36 -05:00
rusefillc 7eca4d663b 2 byte table axis #3045 2021-12-19 22:43:10 -05:00
Matthew Kennedy e076ea4a04 make macos happy (#3699)
* s

* explicitly include it because that's a good idea.
2021-12-19 09:58:49 -05:00
Andrey be448c56f3 ISO-TP accounting for new buffer size 2021-12-19 01:10:13 -05:00
rusefillc 7a2d55fd53 is that all it needs? 2021-12-19 00:54:20 -05:00
Andrey 62d8ba2ae7 PCAN sandbox - error requestOutputChannels fix #3698 2021-12-19 00:29:30 -05:00
Andrey b9022a926d TS via TCP connector and ISO-TP via PCAN #3667 2021-12-18 21:46:49 -05:00
GitHub build-unit-tests Action ae52b4c5f5 Trigger wheel definitions 2021-12-17 03:17:55 +00:00
rusefillc b0c1a8fb2e MAP phase sensing fix #3544
removing dead implementation
2021-12-16 21:28:27 -05:00
rusefillc 02e31e1555 MAP phase sensing #3544
removing dead implementation
2021-12-16 21:13:55 -05:00
Andrey 3034dcc752 Lua to read tsOutputs #3376
unit test fix
2021-12-15 09:23:06 -05:00
rusefillc c82df1adef Lua to read tsOutputs #3376
let's break master!
2021-12-15 08:56:59 -05:00
rusefillc dafeaeaa31 Lua to read tsOutputs #3376 2021-12-14 23:16:05 -05:00
GitHub build-unit-tests Action 991511552d Trigger wheel definitions 2021-12-15 02:30:21 +00:00
Matthew Kennedy 8afee6c233 Honda K 12+1 decoder adjustment (#3694)
* adjust trigger

* real cranking

* mk
2021-12-14 21:10:01 -05:00
GitHub build-unit-tests Action d696a1620c Trigger wheel definitions 2021-12-14 00:05:57 +00:00
Matthew Kennedy d6a0154f79 maybe more working MAP sampling (#3689)
* what if we do this

* cleanup

* s

* test
2021-12-11 03:01:28 -04:00
Andrey 04cbd91b8c MAP phase sensing #3544 2021-12-10 17:28:03 -05:00
Andreika adfe24c801 can_isotp fix? (#3678)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-08 18:12:51 -05:00
Matthew Kennedy bdf6583306 smarter priming logic (#3674)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test

* priming happens on ignition-on

* priming has its own scheduling

* config & UI

* dead config

* implementation

* look, the test caught a bug

* keep the watchdog happy

* bad merge

* changelog

* easier to read the test

* test naming
2021-12-08 16:20:19 -05:00
rusefillc e2e482d2b1 docs 2021-12-08 16:05:57 -05:00
Andreika 95adac3f03 CAN ISO-TP progress (+unit-tests fix) (#3677)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-08 15:11:19 -05:00
rusefillc 98dbf0a352 rusEFI console ISO-TP via PCAN #3667 2021-12-08 12:01:28 -05:00
rusefillc d735f8d198 rusEFI console ISO-TP via PCAN #3667 2021-12-08 11:55:34 -05:00
Matthew Kennedy e80654511d prime upon ignition voltage, not on power on (#3662)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test

* priming happens on ignition-on

* priming has its own scheduling

* test

* dead adjacent line of code
2021-12-08 07:26:49 -05:00
Matthew Kennedy 3d3bf5ea4b ignition controller detects rising edge on voltage (#3636)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test
2021-12-07 21:28:04 -05:00
Andrey d3afd617d2 MAP phase sensing #3544
new implementation seems complete?
2021-12-07 21:08:25 -05:00
Andrey 0f6c9e15c3 MAP phase sensing #3544
new implementation
2021-12-07 20:00:04 -05:00
Andrey 7046d737ba docs 2021-12-07 19:59:43 -05:00
Andrey 1d52e84e35 refactoring 2021-12-07 17:00:42 -05:00
Andrey c793b19538 MAP phase sensing #3544
look new unit test!
2021-12-07 16:58:10 -05:00
Matthew Kennedy aa8584d89a calculate per-cylinder ignition timing (#3652)
* simplify cylinder phasing

* per cylinder timing

* s

* s

* s

* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
rusefillc 2b465be253 MAP phase sensing #3544
option to look for high and low peaks
2021-12-05 14:25:26 -05:00
rusefillc e0559a8548 MAP phase sensing #3544
taking a step back to happy place
2021-12-04 18:21:10 -05:00
rusefillc 216b5d9e7a tune via CAN #3361
CAN testability
2021-12-04 01:01:48 -05:00
rusefillc 82044e579a header style 2021-12-04 01:01:48 -05:00
Andrei d1f30f10b1 CAN update 2021-12-03 21:44:15 -05:00
rusefillc 9dcaa2ecbc trigger_adc helping simulator 2021-12-01 14:17:16 -05:00
rusefillc a13bc09fe4 trigger_adc unit tests 2021-12-01 13:35:44 -05:00
Andrei 6c01dd5791 trigger_adc unit-test data files 2021-12-01 12:28:48 -05:00
rusefillc 52eace58e4 proteus to have enlarged Lua 2021-11-30 21:37:17 -05:00
Matthew Kennedy 565a94ea34 Remove the EFI_NO_CONFIG_WORKING_COPY option (#3630)
* no working copy

* oops
2021-11-29 16:44:45 -05:00
rusefillc 7e99e9123d Epic: Remove FSIO #2928 2021-11-28 17:54:26 -05:00
Matthew Kennedy aed334f9ac better VSS configuration (#3542)
* vss uses real values

* some defaults

* test and correct math

* km, not miles!

* comment

* tooltip

* that macro went away

* 100hz and default settings gives 9kph

* changelog

* order of operations safety

* make the test like the pwm test

* housekeeping

* this is why we need sensor automation

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-27 08:49:07 -05:00
GitHub build-unit-tests Action 63e0b8b599 Trigger wheel definitions 2021-11-26 02:09:34 +00:00
GitHub build-unit-tests Action 0519ad2acb Trigger wheel definitions 2021-11-25 23:54:51 +00:00
Andrey 695557f709 MAP phase sensing #3544 2021-11-24 22:36:36 -05:00
Andrey d8799e7e8e MAP phase sensing #3544 2021-11-24 21:53:32 -05:00
Andrey c1196988a0 MAP phase sensing #3544 2021-11-24 21:53:16 -05:00
Matthew Kennedy 5274cffff3 main relay doesn't use fsio (#3580)
* fuel pump

* s

* call correct callback

* more dead

* test adjustment

* don't overflow

* don't need separate function

* java

* give it a name

* generated

* generated

* add to generate script

* import *

* this is so cheap we don't need a flag

* main relay

* plumbing

* dead fsio stuff

* test it

* by 100%, we mean 99.98%
2021-11-24 07:47:51 -05:00
rusefillc 7760ddd8b6 live data for wastegate #3588
i want to persist state so no 'const' sorry
2021-11-23 15:52:43 -05:00
rusefillc d9e8509440 harley 2021-11-22 19:16:57 -05:00
Matthew Kennedy 9bd8a19564 oh my god we've had no asserts (#3595) 2021-11-22 17:52:03 -05:00
rusefillc 5271d9791a j1850 SAE crc8 Lua 2021-11-22 14:19:19 -05:00
rusefillc 3d8ddbceea j1850 SAE crc8 2021-11-22 14:03:52 -05:00
Scott Smith 9d61fb4cfd Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData (#3519)
* Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData

Most all the users were Multi* anyways, so just improve that:
1. Allow up to 8 waveforms to share one byte per timestamp.  It could be better but this is simple
   and gets most of the benefit.
2. Use a wrapper structure to handle reserving space for the arrays.  Makes the interface simpler
   and more rigid.  Also saves 4 bytes per Multi*.  Downside is access is now via -> and *,
   not . and (nothing).

Saves 224 bytes of BSS, 1832 bytes of RAM4/CCM, 952 bytes of TEXT, and 103 bytes of RODATA

* Instantiate a base_t to make debugging easier.
Also fixes crash on real firmware by using &m_base instead - LTO optimization issue?

* No magical templated StaticAlloc thingy.  Just virtual functions.
2021-11-21 04:56:07 -05:00
Matthew Kennedy b9f8409f59 correctly compute engine revolution number (#3586)
* add param

* first revolution is revolution 0, not revolution 1

* would you look at that, we sync one rev quicker!

* changelog

* rpm value
2021-11-21 09:01:27 +03:00
Matthew Kennedy e2a4504728 rpm calculator refactoring, gm 24x test (#3585)
* data

* stub test

* use getTimeSinceSyncPoint

* s

* s

* no

* test

* stray ;

* those were 1/10 what they were supposed to be

* actually check something

* dead log line?
2021-11-20 14:59:02 +03:00
rusefillc 8029f8446a only c++ because lua does some things asan doesn't like, but don't actually cause overruns. 2021-11-20 03:04:52 -05:00
Matthew Kennedy 568dc8a277 don't do things that don't work in clang (#3584)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-20 02:40:41 -05:00
Matthew Kennedy 569415930c detect more overflows with asan (#3582)
* overflow detector

* type list dynamic allocate

* fix the buffer length

* comment

* pr fb

* sanitize sim

* fix sim sanitizer bug

* didn't mean to turn off optimization for sim

* asan can do that, if you turn it on!

* cleaning
2021-11-20 01:38:39 -05:00
rusefillc 03b13af2db On -fpermissive in Windows in unit tests fix #3581 2021-11-20 00:26:52 -05:00
rusefillc 6766ff8cab On -fpermissive in Windows in unit tests #3581 2021-11-20 00:23:27 -05:00
rusefillc 18aacc0ef6 On -fpermissive in Windows in unit tests #3581 2021-11-20 00:16:03 -05:00
Scott Smith 07d30285fc Basic framework for high pressure fuel pump control (#3476)
* Basic framework for high pressure fuel pump control

* Many changes

Move calculations to fast callback
Move main object into Engine
Respond to pin changes without requiring a reboot

* Use EngineModule for HpfpController
Schedule pin off after executing pin on so we are sure it ends, even if the motor stops.
Test scheduling.
Less RAM use by only having one event and reordering fields.

* Make scheduling test actually useful - need non-0 activation angle.

Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-11-19 23:06:51 -05:00
Matthew Kennedy e7956a53f6 fuel pump doesn't use fsio (#3576)
* fuel pump

* s

* call correct callback

* more dead

* test adjustment

* don't overflow

* don't need separate function

* java

* give it a name

* generated

* generated

* add to generate script

* import *

* this is so cheap we don't need a flag
2021-11-19 22:23:12 -05:00
Matthew Kennedy a79b0c424c turn on c++ 20 (#3579)
* set flags

* emit initializers

* jar
2021-11-19 22:19:34 -05:00
Scott Smith aba4e5167e Separate out scheduleOrQueue into it's own standalone scheduler. (#3573)
It's a large enough entity that it shouldn't be buried in ignition logic.
2021-11-18 14:27:21 -05:00
Scott Smith b3e0b28c75 Make the module API more concise. (#3571)
engineModules.get<FOO>(). becomes modules<FOO>()->

I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
2021-11-17 21:50:00 -05:00
Scott Smith 659cc68be1 Final cleanup of ENGINE macros (#3567)
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
2021-11-17 13:45:10 -05:00
Scott Smith f9f13f0bad Create a base class EngineModule for that contains various useful callbacks. (#3548)
* Create a base class EngineModule for that contains various useful callbacks.

This cleans up the API by not requiring the notifiers to know about who wants callbacks.  The only
place you need to update to add a module is in one place.

* Add mockability.

* Convert InjectorModel to a Mockable EngineModule
2021-11-17 20:13:19 +03:00
Scott Smith 80091498a6 Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith 14578ddae7 Remove a bunch of macros from engine_ptr.h (#3562) 2021-11-17 10:01:39 +03:00
Scott Smith dac2ae9b1d Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* (#3560)
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*

for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
    git grep -l "$i" | xargs sed -i "s/$i//g"
done

git grep -l "inject" | xargs sed -i "/inject[(][)]/d"

for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
    git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done

git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h

* Review fixups.
2021-11-16 16:52:11 -05:00
rusefillc 774d96493e spelling 2021-11-16 16:46:54 -05:00
Matthew Kennedy 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 2cfc4af998 Start the process of using a global engine ptr for unit tests. (#3551)
* Start the process of using a global engine ptr for unit tests.

Passing around the engine, config, and persistent state wasn't buying anything.  Instead, use
EngineTestHelper(Base) to correctly set and clear the global variables.  Add a dummy check in
case some test tries to set them manually.

* Fix OSX build

* Adapt PR to recently added code.
2021-11-16 00:23:14 -05:00
Scott Smith c354d30a71 Use Valgrind to detect unitialized variable references. (#3555)
* Use Valgrind to detect unitialized variable references.

Fix the edge cases that pop up

* Comment and disable Mac run
2021-11-15 23:42:23 -05:00
Andrey b545743f7d Not all launch control options are used #3554 2021-11-15 21:13:01 -05:00
Andrey 7b790d36f6 random refactoring: trigger central encapsulation 2021-11-15 20:22:05 -05:00
Andrey 837cdf2cfb refactoring launch 2021-11-15 19:55:04 -05:00
Scott Smith d09166d439 Test for stack use after free in ASAN. (#3552)
Fix two cases that didn't affect the product, but did affect our ability to test.
2021-11-15 19:44:39 -05:00
Andrey bc3befd0ac refactoring launch 2021-11-15 18:57:12 -05:00
Andrey bafd5e0e17 refactoring launch 2021-11-15 14:40:35 -05:00
Matthew Kennedy c1941f3a49 (void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy bd04dc8352 less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
GitHub build-unit-tests Action 56a5b4ac78 Trigger wheel definitions 2021-11-14 23:14:04 +00:00
rusefi 468cc07811 Lua: changing "table" API 2021-11-14 16:44:52 -05:00
rusefillc 5f1aadf638 Epic: Remove FSIO #2928 2021-11-14 10:39:47 -05:00
rusefillc 94320910e9 Epic: Remove FSIO #2928 2021-11-14 07:30:26 -05:00
GitHub build-unit-tests Action 54ebe6bd21 Trigger wheel definitions 2021-11-14 03:05:33 +00:00
Matthew Kennedy 31848f5bf4 lua pid class (#3411)
* lua pid

* no luaaa stl

* update luaaa

* finality

* luaaa

* luaaa

* = default

* bad merge

* gitmodules

* lua

* proteus demo script

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-13 03:18:16 -05:00
Matthew Kennedy baf11a27b9 load lua libs correctly (#3529)
* fix lua lib loading

* test
2021-11-11 13:44:13 -05:00
Scott Smith 93d31c6c9b Convert TriggerWaveform::wave to a pointer in preparation for code-defined sequences. (#3528)
It will eventually be class to support dynamic universal patterns in addition to ROM-based
tables.
2021-11-11 13:19:25 -05:00
Scott Smith aec887efc8 Change users of MultiChannelStateSequence to use the API (#3524)
Better than reaching into members that should be private. I didn't feel like actually making
them private though, as one user validates pinStates isn't NULL.
2021-11-11 09:19:22 -05:00