Commit Graph

2361 Commits

Author SHA1 Message Date
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
Scott Smith 1a299a3221 Move phaseCount into MultiChannelStateSequence (#3520)
We can them drop the field from a bunch of callers, simplifying the code.
2021-11-10 19:47:27 -05:00
rusefi 76f9840dc1 MathMin 2021-11-10 19:23:05 -05:00
Matthew Kennedy 26749e0384 test TS writes (#3515)
* test TS writes

* s

* this must be a gcc extension
2021-11-10 07:29:40 -05:00
Scott Smith 9b40e68155 Save ~2800 bytes of RAM by not caching angle->trigger mapping (#3506)
Memory seems more valuable than CPU; use the O(lg n) lookup by angle.  A side effect is that it
seems to fix trigger lookup for the second phase of TRIGGERTYPE 53 544 TT_TRI _TACH 0.00
2021-11-09 07:03:27 -05:00
Scott Smith 7367aa5b8a Compile each project's PCH to a separate file to reduce developer friction. (#3505)
Having to remove the precompiled header when switching from firmware to simulator to unit_tests and
back again is annoying.  Use a directory to store the precompiled header output.  Turn off
precompiled header warnings as GCC still complains even if it finds a valid one eventually.
2021-11-08 15:52:58 -05:00
Scott Smith 8639b7c7e4 Make getTimeNowNt even faster (#3504)
The last version is already much better than the original, mostly because it doesn't call
CriticalSectionLocker, which has a ton of overhead due to debug tracking.  But this version is
another 4 instructions / 12 bytes shorter.  Does as much match in 32-bit land as possible, and
avoids math operations that span 64-bits (i.e. either operate on the lower half or upper half, but
not both).  The result is only 3 instructions not including the necessary 4 loads (ptr to now, now,
ptr to upper, upper), 1 store (upper), and 1 return/branch.
2021-11-08 14:24:31 -05:00
Andrey 2166a5ba16 ETB: do not touch HW pins if function not selected, this way Lua can use DC motor hardware pins directly 2021-11-08 12:44:37 -05:00
Andrey 3d7bc6d422 refactoring: assigning etbFunctions earlier 2021-11-08 12:39:41 -05:00
Andrey fdcce9558e WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK 2021-11-08 12:27:02 -05:00
Andrey 49d4dea65e lua pid class #3411 2021-11-07 09:53:40 -05:00
Matthew Kennedy 8124c2a12d unit test build times (#3489)
* don't emit assembly listings

* more

* extract coverage

* link coverage
2021-11-06 21:20:24 -04:00
Andrey e3355ab2d3 Remove Miata MX5 NB1 trigger #3488 2021-11-06 20:24:41 -04:00
GitHub build-unit-tests Action e8f7dd7546 Trigger wheel definitions 2021-11-05 22:25:35 +00:00
Matthew Kennedy 72cdc52acc configurable etb maximum (#3469)
* etb maximum

* update tests and test new behavior
2021-11-05 18:16:19 -04:00
Scott Smith fcac26c032 Allow scaled_channel to have both multiplier and divisor (#3468)
Disallow scaled_channel for float.  I can't think of a reason to allow it, and it gets in the way
of rounding.

Add separate template param to setTable; let the compiler sort out whether assignment can happen
between TElement and VElement without forcing them to be the same at function call time.
2021-11-05 17:34:22 -04:00
Andrey 818e0057c9 lua curve progress 2021-11-05 16:08:48 -04:00
rusefillc 57dc9b36f4 lua curve progress 2021-11-05 10:34:12 -04:00
GitHub build-unit-tests Action 21952f5eba Trigger wheel definitions 2021-11-05 11:24:12 +00:00
Matthew Kennedy a2766e5d9b support autoscale on table axes (#3452)
* scale map Y axis

* allow different row/col types

* scaled channel detector

* interpolation

* looks like this actually works

* tests, no manual scaling

* comment
2021-11-03 19:53:26 -04:00
Andrey 52bd7a9cb7 lua interpolate 2021-11-02 23:35:48 -04:00
Matthew Kennedy 4717210859 autoscale fields in generated structs (#3444)
* add to grammar

* parser

* parser

* example consumer

* build config tool

* commit the right jar
2021-11-02 18:59:19 -04:00
Matthew Kennedy 1cee83a56c Knock retard (#3396)
* output gauge

* knock controller

* don't need that

* inject engine ref

* test knock

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
GitHub build-unit-tests Action 68a7efe8fa Trigger wheel definitions 2021-10-31 01:43:02 +00:00
rusefillc 45cc772739 small step back 2021-10-30 20:52:10 -04:00
Matthew Kennedy 292120b8dc better pch usage and gmock constructors (#3426)
* break out mock constructors

* comment and spacing

* unnecessary compiler options

* happy stepper

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-30 20:31:09 -04:00
rusefillc 3d2e5be370 Override trigger gaps feature #2734 2021-10-30 11:09:10 -04:00
rusefillc 6a504e0755 Revert "lua pid class #3411"
This reverts commit 02bbe16170.
2021-10-28 23:41:23 -04:00
rusefillc 02bbe16170 lua pid class #3411 2021-10-28 23:35:53 -04:00
Andrey 29851fe219 export board-specific macro for stm32 pins based on board yaml #3298
meta progress
2021-10-26 10:27:10 -04:00
Andrey 1e1a71675e export board-specific macro for stm32 pins based on board yaml #3298
mre meta progress
2021-10-25 21:05:45 -04:00
Andrey 24a786be9a export board-specific macro for stm32 pins based on board yaml #3298
proteus meta progress
2021-10-25 17:36:21 -04:00
David Holdeman bb6c4c3400 Use SSH for remaining workflows (#3407)
* install sshpass instead of ncftp

* don't use file for command

* change env vars

* replace ncftp with sshpass in docs

* switch gcov upload

* use heredoc instead of file

* convert ibom

* whoops

* messed up var

* remove quotes

* undo ini variable changes
2021-10-25 08:22:31 -04:00
GitHub build-unit-tests Action eeab4d66e5 Trigger wheel definitions 2021-10-24 22:31:19 +00:00
rusefillc 23012085c9 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 13:10:38 -04:00
rusefillc 9cd1a2d55a generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-24 11:40:47 -04:00
Matthew Kennedy e7d66fd242 Lua CAN RX (#3403)
* wiring

* static

* implementation

* comment

* unit tests happy

* guard

* guard smarter, not harder

* guard smarter not harder

* guard even smarter, not even harder

* don't need that
2021-10-24 08:37:04 -04:00
Matthew Kennedy 4259c96809 lua can set sensors (#3389)
* add sensor unsubscribe

* sensor hook

* test it!

* virtual destructor makes us sad

* ensure deinit
2021-10-22 16:36:29 -04:00
Andrey 0e6a3e38ed findSensorTypeByName 2021-10-21 14:33:59 -04:00
Andrey c6b37f57b5 findSensorTypeByName 2021-10-20 22:21:42 -04:00
GitHub build-unit-tests Action 79b4f9aa5b Trigger wheel definitions 2021-10-20 17:14:06 +00:00
rusefillc 45e0a0403f very old very dead code 2021-10-20 12:57:07 -04:00
rusefillc bee1eb2c6b very old very dead code 2021-10-20 10:38:36 -04:00
Matthew Kennedy c984894cb3 last packet optimization (#3363)
* last packet optimization

* comment

* test

* missed one

* set tcp mss
2021-10-18 19:59:08 -04:00
rusefillc 998b474e2d Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
progress
2021-10-14 15:17:30 -04:00
rusefillc a67b1dc9e2 Review unit_tests/compile.sh fix #3349 2021-10-13 21:09:11 -04:00
rusefillc 27a2d18d9e Review unit_tests/compile.sh fix #3349 2021-10-13 15:33:31 -04:00
Andreika 49aedb1c74 [DRAFT] IAC H-Bridge Microstepping (#3213)
* fix for stepperHbridgeHardware

* new config fields for microstepping

* add stepper dir pin mode to the dialog

* refactor stepper hw dialog & add microstepping panel

* microstepper modes enum

* stepperDcInvertedPins needed by Hellen

* add sleep() for stepper and divisor for pause()

* microstepping impl.

* make unit-tests more happy

* small progress

* fix etb-stepper dlg conflict

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 13:57:04 -04:00
Andreika 99fb5e4204 [DRAFT] Fix cranking->idling taper phase for useSeparate*ForIdle tables (#3168)
* Rename Phase::CrankToRunTaper -> CrankToIdleTaper

* Change isIdling() to isIdlingOrTaper()

* test_idle_controller.cpp

* useSeparateIdleTablesForCrankingTaper setting

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 12:05:20 -04:00
Matthew Kennedy dab377d15d getOrZero (#3319) 2021-10-05 19:59:07 -04:00
GitHub build-unit-tests Action 56a5f8722c Trigger wheel definitions 2021-10-05 19:48:31 +00:00
GitHub build-unit-tests Action 25fd21c7bb Trigger wheel definitions 2021-10-04 23:05:37 +00:00
Matthew Kennedy 53d20d203e put MAP in the sensor model (#3292)
* map averaging in sensor model

* deadly, deadly code!

* mpxh

* Revert "deadly, deadly code!"

This reverts commit 346fe25267966a313145a809792dced84be348cf.

* comments

* sensor types

* last sensor

* channel init

* correct spot

* deinit properly

* simplify

* fix

* mocks

* map init test

* showInfo

* comment

* singleton identity function

* sensor info print

* multiple cylinder averaging buffer

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-04 17:18:08 -04:00
rusefillc ace0efe39a overdwell protection #3071 (#3294) 2021-10-02 01:17:53 -04:00
Matthew Kennedy ea7187bb25 overdwell protection (#3220)
* cancel event

* looks like it works...

* some tests are happy

* add enable bit

* undo test changes

* Revert "add enable bit"

This reverts commit 000afadd3fc560867302557afe26f76cd9fc4ed6.

* enable bit in engine

* only turn off for one test

* Revert "undo test changes"

This reverts commit 106db49e291b5a531a94de6ac177c6584d5337f6.
2021-10-02 01:10:24 -04:00
Andrey 88a19b5aa8 reducing crazy in unit tests 2021-10-02 00:13:15 -04:00
Andrey 6a72968ec4 reducing crazy in unit tests 2021-10-02 00:00:08 -04:00
Andrey ef5859f010 reducing crazy in unit tests 2021-10-01 23:53:22 -04:00
Andrey f557a59367 reducing crazy in unit tests 2021-10-01 22:50:09 -04:00
Andrey 5dbb42b833 reducing crazy in unit tests 2021-10-01 22:33:06 -04:00
Andrey 8f46b8079e reducing crazy in unit tests 2021-10-01 22:29:44 -04:00
rusefillc bbcb82bf0f Complete fuel cut, maybe by wall wetting? Warning on decel (?) CUSTOM_OBD_SKIPPED_FUEL = 9010 fix #3225 2021-09-27 22:04:03 -04:00
Matthew Kennedy 4416b35820 system lua: load a script! (#3231)
* load script

* test

* needs more rams

* embiggen stack

* init system lua from lua thread

* de-embiggen stack

* system needs a little more

* memory

* om nom nom delicious memory

* how much more memory could it want

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-23 21:45:14 -04:00
GitHub build-unit-tests Action 21091b9710 Trigger wheel definitions 2021-09-22 00:48:36 +00:00
Matthew Kennedy f85dc02aaf Turbo sensor (#3245)
* outputs rpm

* no msg param necessary

* new sensor type

* happy test
2021-09-20 15:39:41 -04:00
alxrMironov bf1221d16d Turbo speed sensor implementation #2935 (#3209)
* Add turbocharger speed converter class

* Add turbocharger speed converter tests

* Add turbocharger speed sensor initialization functions

* Add turbocharger speed sensor to initialization

Co-authored-by: alxrMironov <330OMcorporative>
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-09-19 20:50:11 -04:00
rusefi c84559f542 merc128: engine config defaults #3236 2021-09-18 22:12:22 -04:00
rusefillc 1edf98dce2 merc128: engine config defaults #3236 2021-09-18 21:27:17 -04:00
rusefillc 2944a89e4e TS channel names for nicer console messages 2021-09-18 15:33:14 -04:00
GitHub build-unit-tests Action 3169f61632 Trigger wheel definitions 2021-09-13 15:23:48 +00:00
GitHub build-unit-tests Action 720692be41 Trigger wheel definitions 2021-09-12 16:05:23 +00:00
Matthew Kennedy c5a9e155c8 no asan on windows (#3230) 2021-09-07 17:39:04 -04:00
GitHub build-unit-tests Action 562fc27133 Trigger wheel definitions 2021-09-05 18:12:47 +00:00
Andrey 5745dfbf05 x86_64-w64-mingw32-g++: error: libsanitizer.spec: No such file or directory #3221 2021-09-05 07:15:33 -04:00
Matthew Kennedy 98c4e71f03 enable address sanitizer (#3217)
* enable asan

* lua

* this is dead and leaky

* leaky nissan

* fix pwm generator use-after-stack

* initializers

* prevent problems in case of invalid trigger shape

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-05 05:56:59 -04:00
rusefillc 0b73150ea4 Lua timer (#3218)
* Lua: Timer class #3159

* Lua: Timer class #3159

* Lua: Timer class #3159

* Lua: Timer class #3159

* lua timer is happy (#3216)

* hooks are happy

* don't need that any more

* format

* update lib

* module

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2021-09-03 20:21:39 -04:00
GitHub build-unit-tests Action cc95f34401 Trigger wheel definitions 2021-09-01 06:51:15 +00:00
rusefillc f0083c2820 docs 2021-08-31 05:37:14 -04:00
rusefillc ca7576fba9 docs 2021-08-31 04:38:35 -04:00
rusefillc 07ac5049f4 docs 2021-08-31 04:27:31 -04:00
rusefillc a62d516a86 docs 2021-08-31 04:22:26 -04:00
rusefillc 91404018d1 docs 2021-08-31 04:20:57 -04:00
Matthew Kennedy f6e269a3ab remove old vss implementation (#3208)
* dead vss

* remove
2021-08-28 01:39:55 -04:00
Matthew Kennedy df5f7552f2 disable closed loop boost below MAP threshold (#3206)
* boost minimum map

* changelog
2021-08-27 17:54:08 -04:00
Matthew Kennedy 9d437474b2 add cancel to scheduler (#3201)
* fw

* for tests

* simulator

* sim

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-27 11:30:06 +03:00
Matthew Kennedy 7a4a0bb608 add & test remove from linked list (#3199) 2021-08-26 23:03:09 +03:00
Matthew Kennedy df48806ec0 start allowing ADC change while running (#3100)
* allow re-register of the same sensor

* add api to unsubscribe

* do it for tps

* clear the pin

* happy test

* maybe make afr happy for now

* tests build

* happy simulator

* active configuration

* check valid

* we need vbatt now

* manage all pin init in init_sensors.cpp

* don't need that

* cleanup

* thermistors

* do two phase reinit in the right place

* config vs engine

* finally the tests are happy
2021-08-24 16:41:16 -04:00
alxrMironov dd1b7ffa24 Vehicle speed switching to frequency sensor #3106 (#3148)
* Add vehicle_speed_converter.h with realization.

* Add test_vehicle_speed_converter.cpp with realization.

* Add test_vehicle_speed_converter.cpp to Makefile

* Edit "VehicleSpeedSensor" from function pointer sensor to frequency sensor

* Fix "VehicleSpeedSensor" init function args

* Remove "VehicleSpeedConverter" empty constructor

* Edit vehicle_speed_converter.h code style

* Fix args and engine injection in "VehicleSpeedSensor" initialization procedure

* Remove old "Vehicle Speed" module initialization

* Revert "Remove old "Vehicle Speed" module initialization"

This reverts commit 100b7caa8c615c20eed3d0c23a49824b4e556148.

* Remove old "Vehicle Speed" module initialization pieces

* Revert "Revert "Remove old "Vehicle Speed" module initialization""

This reverts commit f559a726f1f7f5a7acacd1b6517e571743e84327.

* Debug changes

* Revert "Debug changes"

This reverts commit f7e2be1a8a46c6f3f93f14f002b2f2db539da8e2.

* Another debug changes

* More debug changes

* And more debug changes.

* Revert "Another debug changes"

This reverts commit 914fbb1df42c37e4b5ecbb119bb45e7cffdf4064.

* Revert "More debug changes"

This reverts commit 0b2d96d461c3cd9b0f1ae97ed110b8effe6b0cc6.

* Revert "And more debug changes."

This reverts commit 06ae8daded0e6e1c025e4e5058b47283f4adfe92.

* Add "Vehicle Speed" sensor reconfiguration

* Revert "Add "Vehicle Speed" sensor reconfiguration"

This reverts commit a089a6d563dd710004ce1a7da1744b0b4b90c3b1.

* Revert "Revert "Add "Vehicle Speed" sensor reconfiguration""

This reverts commit 7b2bb8af4b3caa547236ca59e4c4bdb3ac1200cc.

* Debug changes

* Another debug changes

* Fix another debug changes

* Another debug changes 2

* Revert "Another debug changes 2"

This reverts commit cfad55141eec125b2f1d35fb95d9f46b54f666b6.

* Revert "Fix another debug changes"

This reverts commit 9bc2c74a3be6fd896827ff48cf4580e7657529c0.

* Revert "Another debug changes"

This reverts commit 4337ed8cad8dff508d093944eb3f75e9a69e4a77.

* Edit class  FrequencySensor, make it more RAII

* Debug changes

* Debug changes 2

* Debug changes 3

* Revert "Debug changes 3"

This reverts commit 52a7054c122b5157540fe45a055a84b57478d722.

* Revert "Debug changes 2"

This reverts commit dec79fb913344ccb4b8614910ad62e6c129a243e.

* Revert "Debug changes"

This reverts commit eb08d7a529b55ba397a7dd2c154b76eab42f212b.

* Revert "Edit class  FrequencySensor, make it more RAII"

This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.

* Remove VSS pin definition in "Citroen Berlingo" engine config.

This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.

* Remove VSS pin definition in "Dodge Neon" engine config

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-24 00:55:41 -04:00
Andrey 8a7eb2173f zero dwell warning at zero RPM #3153 2021-08-16 09:11:30 -04:00
Matthew Kennedy e056369f05 actually remove FSIO idle stuff (#3150)
* debug mode

* pid cleanup

* more dead

* more dead

* wow more dead

* much dead many death wow
2021-08-14 09:48:45 +03:00
rusefillc d16cb0e153 dead idle FSIO 2021-08-12 18:28:55 -04:00
alxrMironov 9d1ce540c4 Begin "vehicleSpeed" refactoring. Module switched to "FunctionalPointerSensor" class. #3106 #3107 #3108. (#3132)
* Add new sensor type "VehicleSpeed"

* Add "Vehicle speed" sensor to name list

* Add Vehicle speed sensor initialization with function pointer sensor.

* Add init_vehicle_speed_sensor.cpp to Makefile

* Replace dependencies from "getVehicleSpeed" to OOP-like "Sensor::get()"

* Add warning and TODO to "mock vehicle speed" call

* Replace get & mock "VehicleSpeed" methods in tests

* Remove #warning directive (cause error by current settings)

* Remove stray tab

* Remove explicitly type casting.

* Add "InitVehicleSpeedSensor" function declaration to init.h

* Add "VehicleSpeedSensor" initialization call into "InitNewSensors"

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-12 22:16:51 +03:00
GitHub build-unit-tests Action d82bdd66fb Trigger wheel definitions 2021-08-11 22:53:10 +00:00
Matthew Kennedy 7933f50ef3 skip etb init if no primary sensor (#3136)
* skip init if no primary sensor

* specific test
2021-08-12 00:45:44 +03:00
Andrey 8a4831b1dc Nissan 4 cylinder QR trigger wheel #3118 2021-08-08 07:04:18 -04:00
GitHub build-unit-tests Action 6dbbfbb9c2 Trigger wheel definitions 2021-08-08 10:24:03 +00:00
Matthew Kennedy 39388c75d8 even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy d5155cfd86 don't "validate instant RPM" (#3095)
* don't "validate instant RPM"

* test actually tests the right thing

* test mode transition
2021-08-04 08:17:14 +03:00
Matthew Kennedy 4e6b61234f yet more pch (#3068)
* big pch energy

* put back ramdisk stub

* tests are happy

* h743 nucleo

* kinetis

* I love deleting code!

* make stepper happy

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Andrey 33dfb904cc unit test for vehicle_speed.cpp fix #3081 2021-08-03 19:54:11 -04:00
alxrMironov b6046d60d3 Unit tests for vehicle speed.cpp #3081 (#3103)
* Add test_vehicle_speed.cpp

* Add test_vehicle_speed.cpp to makefile

* Add tests for vehicle_speed.cpp

* Enable vehicle_speed.cpp testing

* Edit make some constants explicit and format code style

* Revert "Enable vehicle_speed.cpp testing"

This reverts commit bcba5219a1d69fb3375e33c7fcb97abffc190a75.

* Remove verbose variables

* Remove dead code strings

* Fix tests coupling by setMockVehicleSpeed

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-03 19:49:16 -04:00
Andrey e62244a623 unit test for vehicle_speed.cpp #3081 2021-08-03 19:48:24 -04:00
Matthew Kennedy 0ebc59b80f perform extra-step-prevention in the stepper driver itself (#3038)
* perform extra-step-prevention in the stepper driver itself

* isBusy flag

* I am unable to type

* the court of public opinion has decided that greater-equal is correct

* that sets target in steps, not percent

* correct var name

* mock stepper motor

* testable stepper

* build is happy

* helping build
2021-08-02 07:03:57 -04:00
Matthew Kennedy 9a3d385ea5 call handleShaftSignal (#3097) 2021-08-02 07:02:45 -04:00
Matthew Kennedy 4ea56e4122 fix the mess (#3094)
* test

* s
2021-08-01 23:21:53 -04:00
alxrMironov 99085c6776 Unit test for flex sensor.cpp #3091 (#3093)
* Add test_flex_sensor.cpp

* Add test_flex_sensor.cpp to makefile

* Edit test_flex_sensor.cpp code formatting

* Fix test case name in test_flex_sensor.cpp

* Remove explicitly defined constructor of "FlexSensorForTests" class

* Edit included headers replaced by single one in test_flex_sensor.cpp

* Edit format to make similar to other files.

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-01 22:14:01 -04:00
Matthew Kennedy e0eff6c66a unit test vss segfault fix (#3090)
* enable feature

* dynoview

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-01 15:05:52 -04:00
rusefillc 02e6b4aa7d Revert "unit test for vehicle_speed.cpp #3081"
This reverts commit e656a486
2021-08-01 12:54:44 -04:00
rusefillc e656a4867e unit test for vehicle_speed.cpp #3081 2021-08-01 12:20:19 -04:00
Matthew Kennedy 6eec2a1282 remove some noise from nb2 trigger log (#3078) 2021-07-30 08:19:16 -04:00
Matthew Kennedy e3e5e57eac instant rpm uses full engine cycle (#3077)
* instant rpm uses full engine cycle

* turn off fast spinup for this test
2021-07-30 08:18:24 -04:00
Matthew Kennedy d3ec2b21d1 Use pch in lots of files (#3066)
* most engine.h

* most engine_configuration

* more

* more

* more

* more

* more

* moooooore

* ok I'm done for now

* oops
2021-07-26 01:05:17 -04:00
GitHub build-unit-tests Action bade6de474 Trigger wheel definitions 2021-07-26 01:51:25 +00:00
Matthew Kennedy f44a84b40c set up precompiled header (#2971)
* ignore

* set up precompiled header

* makefile

* fixes

* cleanup

* only depend cpp on pch

* efifeatures in pch

* f7 efifeatures

* consolidate

* simulator

* proteus build

* error handling is a good one

* bootloader pch

* don't auto include pch

* dirs

* delete on clean

* bootloader cleans

* clean.sh deletes pch

* disable in bl for now

* there was a typo so maybe it'll work now

* remove todo

* don't need that any more

* don't need these parts

* don't need this part

* undo changes

* use a different cpp as example

* s

* Revert "cleanup"

This reverts commit 8de8698490f5d09c2df753f00a89751aa898be9a.

* also unnecessary now

* buh

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-25 21:23:23 -04:00
Matthew Kennedy 82b30d8f78 cleanup for pch (#3062)
* cleanup

* d
2021-07-25 20:43:02 -04:00
Matthew Kennedy be7ef805c9 fix nonlinear correction threshold (#3060)
* s

* macro

* test has to do the inverse
2021-07-25 20:42:26 -04:00
Andrey 857a5e8572 Clutch switch inverted options do not invert detected pedal position
#3545
2021-07-24 19:49:23 -04:00
Matthew Kennedy d3d2762847 adjust taper behavior (#3051)
* adjust taper behavior

* check that taper works in running state too
2021-07-24 16:12:07 -04:00
rusefillc bc9f85ff31 safer NB2 progress (#3041)
* safer NB2 progress

* one step back
2021-07-23 16:43:24 -04:00
rusefillc 2d8a06361f Update readme.md 2021-07-23 15:05:04 -04:00
Andrey e8aef0dcd3 VVT position of first cam is off on first cycle fix #2987 2021-07-22 01:02:37 -04:00
Andrey fbf6ff05be Nissan VVT trigger decoder #2887 2021-07-21 23:26:40 -04:00
Andrey e8bbea21be Nissan VVT trigger decoder #2887 2021-07-21 23:24:23 -04:00
Andrey 91e65b795c Nissan VVT trigger decoder #2887 2021-07-21 23:16:44 -04:00
Andrey 2a07c3df27 Nissan VVT trigger decoder #2887 2021-07-21 23:08:56 -04:00
rusefillc 5648067489 Nissan VVT trigger decoder #2887 2021-07-21 22:41:37 -04:00
rusefi 58f01b7ce0 nissan logic cranking 2021-07-21 21:58:00 -04:00
GitHub build-unit-tests Action 93d57ba910 Trigger wheel definitions 2021-07-22 00:45:29 +00:00
Matthew Kennedy 3cbd983c93 adjust nb2 vvt sync (#3019)
* test existing implementation

* nb2 vvt pattern sync

* update test
2021-07-21 20:07:28 -04:00
Matthew Kennedy 3237b43d47 simplify quad vvt test (#3018)
* use single tooth in quad cam test

* mod == remainder

* now the test works without changes
2021-07-21 18:48:05 -04:00
Matthew Kennedy 4f692ebe48 test existing implementation (#3017) 2021-07-21 17:48:37 -04:00
Matthew Kennedy 0fde085a44 remove TS file read (#3004)
* remove

* more defines

* test

* lots of java

* s
2021-07-21 14:24:53 -04:00
Matthew Kennedy 2a4dfd0bf8 Fix prepareEventAngles for symmetrical crank triggers (#2982)
* fix and make code legible

* update test to check every tooth

* symmetrical crank

* simplify findTriggerPosition

* make getAngle intelligable
2021-07-17 23:27:20 -04:00
Andrey df522cf60e NB2 trigger shape does not seem to match JimStim #2980
only first steps of unit test
2021-07-17 19:43:17 -04:00
Andrey c9360448cc NB2 trigger shape does not seem to match JimStim #2980
only first steps of unit test
2021-07-17 17:47:32 -04:00
GitHub build-unit-tests Action 441a200fdf Trigger wheel definitions 2021-07-17 06:30:25 +00:00
GitHub build-unit-tests Action 5beb9780c5 Trigger wheel definitions 2021-07-17 05:29:22 +00:00
Andrey e9ea68e901 kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:46:39 -04:00
GitHub build-unit-tests Action 0bd565a96b Trigger wheel definitions 2021-07-17 04:46:01 +00:00
Matthew Kennedy 45d185b09d lua hooks for CAN tx (#2967)
* CanTxMessage usable from unit test

* testLuaReturnsNil

* CAN hook and tests

* it helps if parameter names exist

* nameless params

* s

* redefinition of default argument

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-16 14:06:26 -04:00
Andrey 85d6d6c70d trigger signal debug pins - logic level output #2959
test driven development is still amazing
2021-07-15 09:29:14 -04:00
Andrey 8a49009f44 trigger signal debug pins - logic level output #2959 2021-07-15 02:12:57 -04:00
Andrey e4c498e042 trigger signal debug pins - logic level output #2959 2021-07-15 00:50:29 -04:00
Andrey 5914ea6bd5 trigger signal debug pins - logic level output #2959 2021-07-15 00:34:22 -04:00
Andrey b53b23b140 trigger signal debug pins - logic level output #2959 2021-07-14 22:51:08 -04:00
Andrey c502239b45 FATAL on NB2 tune jim stim input signal #2965 2021-07-14 16:47:55 -04:00
Andrey 47f285c50c FATAL on NB2 tune jim stim input signal #2965 2021-07-14 16:03:00 -04:00
Andrey 36dce560cf cute example of a bug which only macoc unit test fails to compile 2021-07-13 18:15:22 -04:00
Andrey 07ea3277f6 NB2 hellen-72-rev-d something is off #2958 2021-07-13 18:02:29 -04:00
Andrey c691df4cb1 NB2 hellen-72-rev-d something is off #2958 2021-07-13 15:49:36 -04:00
Andrey 970b315bcf NB2 hellen-72-rev-d something is off #2958 2021-07-13 15:04:30 -04:00
Andrey 093b3bda89 NB2 hellen-72-rev-d something is off #2958 2021-07-13 14:39:21 -04:00
Andrey 8afa24e7eb NB2 hellen-72-rev-d something is off #2958 2021-07-13 14:24:47 -04:00
rusefillc 75f3cff924 NB2 hellen-72-rev-d something is off #2958
export as is
2021-07-13 14:07:55 -04:00
rusefillc bda416fcbb NB2 hellen-72-rev-d something is off #2958
export as is
2021-07-13 13:27:47 -04:00
Andrey 94883a651e it's spelled 'resources' :( 2021-07-13 12:36:50 -04:00
Andrey 0b4a237897 it's spelled 'resources' :( 2021-07-13 12:35:43 -04:00
rusefi 63c5315620 NB2 hellen-72-rev-d something is off #2958 2021-07-13 11:57:18 -04:00
Matthew Kennedy ff9c14c239 fix vvt indication (#2926)
* wrap logic

* rename gauges

* names and ranges

* binary log

* we actually don't need that warning

* values auto wrap

* values auto wrap

* bye warnings

* comparison
2021-07-12 16:29:07 -04:00
Matthew Kennedy 1bba234920 inject (#2938) 2021-07-09 17:02:25 -04:00
rusefillc 06c364247f random progress 2021-07-09 14:27:10 -04:00
Matthew Kennedy f169fbf615 trailing spark scheduling (#2932)
* enable bit

* implement trailing sparks

* test trailing spark

* it helps to call the correct function

* add pins

* gobblin ram
2021-07-09 08:37:46 -04:00
Andrey 130efe0f14 restore testQuadCam #2911 2021-07-08 00:11:54 -04:00
Andrey 40f823662c Matt has CUSTOM_ERR_VVT_OUT_OF_RANGE warning #2921 2021-07-07 23:55:49 -04:00
Matthew Kennedy 03c6db89f5 injector nonlinearity (#2916)
* nonlinear polynomial

* make existing tests work again

* test that nonlinearity is called

* s

* fix enum

* ui

* fix and test

* comment

* changeloggy
2021-07-07 23:46:44 -04:00
Matthew Kennedy ba331f4895 knock sensing peak detect (#2910)
* knock peak detect

* comments

* comment

* initialize

* test

* fix warnings while we're here

* those are functions, not values

* ram
2021-07-06 21:44:59 -04:00
Matthew Kennedy 16dac2e47c Disable closed loop idle during cranking->running taper (#2900)
* implement

* dead file?

* implement tests

* new phase
2021-07-06 08:47:06 -04:00
Andrey bb181ac8fd Nissan VVT trigger decoder #2887
another bug - improper handling of three-times-symmetrical
2021-07-05 23:15:44 -04:00
Andrey 416cecc104 Nissan VVT trigger decoder #2887
that looks like one bug
2021-07-05 22:50:44 -04:00
Andrey 7ec3ef4b28 Nissan VVT trigger decoder #2887
that's all very strange
2021-07-05 22:17:26 -04:00
Andrey 59e33b3577 restore testQuadCam #2911 2021-07-05 21:04:09 -04:00
Andrey 87ecec5a35 restore testQuadCam #2911 2021-07-05 20:56:24 -04:00
Matthew Kennedy a3d3638232 more graceful chibios assertion failure (#2859)
* no custom assert hook

* dead

* setjmp/longjmp

* always call tid hook

* tests get threadid

* simulator threadid

* kick

* stubs for kinetis

* make it happier

* noreturn

* oops

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-05 18:18:58 -04:00
Matthew Kennedy bafc376e92 shard unit tests (#2906)
* scripts

* it found problems!

* off by one

* call bash maybe?
2021-07-04 22:28:31 -04:00
Matthew Kennedy d69fc86f26 explicitly set mock vss to test (#2905) 2021-07-04 17:52:45 -04:00
Andrey 3a0fcd26d8 unit tests pass on Linux fail on Windows #2902 2021-07-04 11:15:05 -04:00
Matthew Kennedy 3247d4de00 Gate closed loop idle on road speed (#2901)
* implement

* test

* b

* config
2021-07-04 09:35:12 -04:00
Andrey c0cbe626b6 Nissan VVT trigger decoder fix #2887
TDD is amazing we are done here!
2021-07-03 12:43:01 -04:00
Andrey e34b04bd46 Nissan VVT trigger decoder #2887 2021-07-03 12:02:00 -04:00
Andrey 2ad22a262b Nissan VVT trigger decoder #2887 2021-07-03 11:08:22 -04:00
Andrey 9ad5ec8044 refactoring: getShaftSynchronized 2021-07-03 10:37:03 -04:00
Andrey 26fdfb1ab6 Nissan VVT trigger decoder #2887 2021-07-03 10:15:41 -04:00
Andrey 8689adcb95 Nissan VVT trigger decoder #2887 2021-07-03 09:43:54 -04:00
Andrey 274eff1dde docs 2021-07-02 22:06:08 -04:00
Andrey cd4842f2b8 Nissan VVT trigger decoder #2887 2021-07-02 20:28:15 -04:00
Andrey 2911e128d9 Nissan progress 2021-07-02 19:57:26 -04:00
Andrey a7075acbf1 Nissan progress 2021-07-02 19:23:52 -04:00
Andrey cb0ec0c78f Nissan progress 2021-07-02 18:33:32 -04:00
Andrey 96b2beff97 Nissan progress 2021-07-02 17:32:45 -04:00
Andrey 7ffe09aa96 Nissan progress 2021-07-02 16:31:10 -04:00
Andrey ab24b8e5f3 Nissan progress 2021-07-02 14:56:12 -04:00
GitHub build-unit-tests Action 319ef2c152 Trigger wheel definitions 2021-07-02 04:07:11 +00:00
GitHub build-unit-tests Action 1145c59555 Trigger wheel definitions 2021-07-02 02:41:10 +00:00
GitHub build-unit-tests Action 309a146614 Trigger wheel definitions 2021-07-02 02:00:29 +00:00
GitHub build-unit-tests Action c8784147c3 Trigger wheel definitions 2021-07-02 01:46:14 +00:00
Matthew Kennedy 9ae1ada582 Stricter miata sync (#2891)
* strict mazda trigger shape

* this is an even better gap

* sync point moved so things are different now

* fix

* update instantrpm in test

* s

* s

* this is safer

* test

* tests

* instant rpm

* cleanup
2021-07-01 21:29:04 -04:00
GitHub build-unit-tests Action 5dd2c1d417 Trigger wheel definitions 2021-07-01 23:10:14 +00:00
Matthew Kennedy 20937455a0 Fix pre sync timestamp copy (#2892)
* fix tests

* fix pre sync copy

* this fixes the issue
2021-07-01 18:58:28 -04:00
Matthew Kennedy 024c477be4 test multiple starts (#2888)
* test

* pi

* typo

* private

* test short gap too

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-01 17:29:31 -04:00
Matthew Kennedy ebf6083d95 test dc_motor.cpp (#2890)
* use ipwm where possible

* mock ipwm

* initialize

* test
2021-07-01 09:21:18 -04:00
Matthew Kennedy 2cf2db8fb2 fix instant rpm (#2886)
* fix instant rpm

* this is what it should look like!

* warning

* comment issue link

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-01 09:19:16 -04:00