Commit Graph

162 Commits

Author SHA1 Message Date
Andrey 4d65067345 wow Leiderman-Khlystov 2022-09-05 20:23:40 -04:00
Andrey 35a71f8960 test coverage and some magic constant refactoring 2022-08-21 15:22:22 -04:00
rusefillc d320dd589c it's impossible to receive AcceleratorPedal sensor via CAN/Lua #4369 2022-07-28 12:08:35 -04:00
Andrey 20a16bd53b Extra gap ratios for custom trigger wheels fix #4375 2022-07-23 03:16:11 -04:00
Matthew Kennedy 848fbcf6ca
fragments (#4357) 2022-07-19 11:02:41 +03:00
rusefillc 2f0db8b7c4 Make hard-coded gap ratios visible on trigger documentation images #4172 2022-07-11 04:21:17 -04:00
Andrey e4cd9d567d VAG Lua progress 2022-06-22 22:22:49 -04:00
Andrey 146d887cdd reduce flash footprint by smarter code generation #4163 2022-05-15 10:07:17 -04:00
Matthew Kennedy 098b2c87c6
Proper decoder testing (#4166)
* Write proper TriggerDecoder tests

* patch test for un-patched decoder
2022-05-11 06:14:45 -04:00
Matthew Kennedy ad368b2031
Gear detection improvements (#4047)
* gear detect improvements

* ui

* ui for gear ratios

* ui
2022-04-06 16:15:58 -04:00
Matthew Kennedy 4e57daf6d7
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
Matthew Kennedy a0f114a9a2
break out acceptFrame, test CanListener (#4001) 2022-03-14 19:09:01 -04:00
Andreika 2beca221a3
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 28f39fe71c
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 f5d4690fe1
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 7e007cc534 https://rusefi.com/forum/viewtopic.php?p=44100#p44100 2022-01-18 10:24:08 -05:00
Andrey a07c88216d Live Data progress 2022-01-05 20:41:51 -05:00
Andrey 1f40be01b9 E65 2021-12-24 16:53:24 -05:00
rusefillc 4292c2fb1d MAP phase sensing fix #3544
removing dead implementation
2021-12-16 21:28:27 -05:00
Matthew Kennedy 256df56fa7
Honda K 12+1 decoder adjustment (#3694)
* adjust trigger

* real cranking

* mk
2021-12-14 21:10:01 -05:00
Andrey 6e49d66385 MAP phase sensing #3544
look new unit test!
2021-12-07 16:58:10 -05:00
Andrei c6fa50d196 CAN update 2021-12-03 21:44:15 -05:00
rusefillc aaf732f738 trigger_adc unit tests 2021-12-01 13:35:44 -05:00
Andrey 259e8744cb MAP phase sensing #3544 2021-11-24 21:53:16 -05:00
Matthew Kennedy 81fffe87b7
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
Matthew Kennedy a342bee57e
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
Scott Smith 5bc1949aef
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
Scott Smith 6d38fe1eb3
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 f6a20ca1ea lua curve progress 2021-11-05 16:08:48 -04:00
Matthew Kennedy 75a2b5ef02
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
alxrMironov bb341c4c07
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
Matthew Kennedy c72bd07179
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
Matthew Kennedy 730b26d034
remove old vss implementation (#3208)
* dead vss

* remove
2021-08-28 01:39:55 -04:00
alxrMironov f926d2ccba
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
alxrMironov 6d12533120
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
Matthew Kennedy a8eddbccf6
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 fcd6c3d520
fix the mess (#3094)
* test

* s
2021-08-01 23:21:53 -04:00
alxrMironov 6f96887d74
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
Andrey 24cfbeba35 Nissan VVT trigger decoder #2887 2021-07-21 23:08:56 -04:00
Andrey e721c1768f trigger signal debug pins - logic level output #2959 2021-07-14 22:51:08 -04:00
Andrey 174e12b281 NB2 hellen-72-rev-d something is off #2958 2021-07-13 14:24:47 -04:00
Andrey a9e7166f74 Nissan progress 2021-07-02 14:56:12 -04:00
Matthew Kennedy 1bca4843fe
test dc_motor.cpp (#2890)
* use ipwm where possible

* mock ipwm

* initialize

* test
2021-07-01 09:21:18 -04:00
Andrey 8696ea4890 crankDivider is asking for a new unit test 2021-06-27 00:51:14 -04:00
Andrey 6dbc40e990 VW warnings on cranking #2861 2021-06-26 00:51:09 -04:00
Andrey dbea1e23a0 Trigger: warning code on normal engine start up #669
better TDC unit test approach?
2021-06-25 13:02:37 -04:00
Andrey 74c5a80cac Trigger: warning code on normal engine start up #669 2021-06-23 05:22:08 -04:00
Matthew Kennedy c27549b2e8
hard coded fan logic (#2805)
* remove fsio

* hard code impl

* test it

* enable fan with AC

* make commented stuff match
2021-06-11 06:25:12 -04:00
Andrey 0ad11168e8 Override trigger gaps feature #2734 2021-05-25 17:19:20 -04:00
Andrey a36b655e67 Trigger: warning code on normal engine start up #669 2021-05-24 06:03:58 -04:00
rusefillc dfd0d3229f More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-14 10:58:53 -04:00
rusefillc 9032730700 Break out unit tests #2627 2021-05-07 22:14:22 -04:00
Matthew Kennedy 830575a306
lua 5.4 (#2590)
* thread priority

* build

* makefile prep

* call startup

* lua 5.1

* mk

* 5.3

* mk

* I guess lua does something?

* extract hooks, builds for tests

* a bit of error handling

* guard

* bootloader makefile

* remove lua

* submodule

* submodule update

* builds with submodule

* disabled by default

* h7 chconf

* tweaks

* add a useful hook

* move luaconf

* perf trace lua

* test helpers

* lua unit tests

* include to satiate clang
2021-04-28 22:41:25 -04:00
Matthew Kennedy 6b64db7f9c
rewrite text logging system (#2439)
* minor cleanup

* enable mailboxes

* priority

* implement new logger

* more cleaning

* signature

* remove debug

* put the assertion back in

* remove debugging

* spelling

* doy

* tweaks & comments

* cleaning

* size_t

* guard more

* test build now

* needs more ram until we can remove LogginWithSTorage

* hunt for memory

* bootloader

* unused

* stub simulator

* it would help to get the signature right

* geez kinetis only has 64k ram

* more guarding because kinetis

* that's now very legal and very cool

* templatify

* s

* force null terminate

* probably fix

* const

* write a test

* disable sensor chart for now

* hide SC ui

* oh nope that breaks many things

This reverts commit c3c1bb324fb484c3d9cc44b7715c234bc0392e1e.

* missed one

* reset after scheduleLogging

* we can't print out the full message because it contains commas which break parsing

* force terminate long buffers

* let's see how much memory we have to play with

* a lot, is the answer

* real thread name

* shrink this for now before its deleted

* turn that back on

* biiig comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 18:46:47 -04:00
Matthew Kennedy 95b08c433f
Implement nonlinear fuel level sender (#2473)
* table function

* config fields

* sensor type

* switch consumers

* init the sensor

* ui

* 1mv resolution

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-19 08:39:08 -04:00
Matthew Kennedy 1dd2180f76
VVT uses closed loop controller framework (#2453)
* vvt uses framework

* builds

* rename, update headers

* s

* testable

* write some basic tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-14 19:31:46 -04:00
rusefillc 490d3a6957 test_timer 2021-03-12 00:43:48 -05:00
Matthew Kennedy 053835a1c0
error accumulator (#2434)
* error accumulator

* makefile
2021-03-08 07:40:46 -05:00
rusefi a349bf1ca8 M62T vanos support #2243 2021-02-08 16:16:26 -05:00
rusefi a86481f3ba refactoring: more structure 2021-02-08 15:59:40 -05:00
Matthew Kennedy f4dcf0f397
generate triggers.txt from parametric test (#2186)
* add new test

* comment

* remove old

* main cleanup

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 17:58:34 -05:00
Matthew Kennedy ff4ce2fb1f
create limp manager (#2142)
* move rev limit to limp manager

* call fatal error

* include order

* fix bug

* tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 17:30:46 -05:00
Matthew Kennedy 690ab7e917
gpio unit tests (#2099)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* move gpio mocking

* test gpios

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize

* test deinit
2020-12-18 17:19:02 -05:00
shadowm60 864bd7fa73
Dyno view proposal (#1999)
* DynoView creation

module implementation and unit_tests

* update acc algo

we only calcualte new acceleration value if speed has changed, not on every callback.

* added acceleration ts_channel

* fixed broken unit tests

* fixed accel sign

* review updates

* Update test_dynoview.cpp

fix unit_tests

* Update engine_controller.cpp

Fix .ram4 unused size

* Update test_dynoview.cpp
2020-12-04 20:28:48 -05:00
Matthew Kennedy ee51da64ad
Launch control testable (#1967)
* testable launch start

* extract base class

* add a test

* fix ts debug
2020-11-19 08:15:56 -05:00
rusefillc 35754d298a Starter seems to be engaged forever #1965 2020-11-18 19:34:09 -05:00
rusefillc a42077bef8 occasional tunerstudio CRC errors #1943
now with a bit of a unit test
2020-11-15 12:27:47 -05:00
Matthew Kennedy 605e2590f1
buffered writer - progress on #1463 (#1875)
* add buffered writer

* rename
2020-10-12 15:10:34 -04:00
rusefi f8f3e74d99 unit test for start/stop hardware and pin repository #1811 2020-09-21 05:02:35 -04:00
Matthew Kennedy 5929164fb3
Add injector model class (#1687)
* stub injector model

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-17 05:22:25 -04:00
Matthew Kennedy b961944790 tests 2020-08-10 22:11:25 -07:00
Matthew Kennedy 1f64754b57 consume 2020-08-10 21:41:03 -07:00
Matthew Kennedy d6464fffe7
fix (#1620) 2020-07-19 18:05:31 -04:00
rusefi 46a1d361b5 unit tests: order of tests multispark/sensor tests should not matter #1616
TODO
2020-07-19 14:10:55 -04:00
rusefi f7a182c170 would this work? 2020-07-19 13:59:55 -04:00
rusefi c755dea256 would this work? 2020-07-19 13:50:43 -04:00
rusefi 8bce289fac would this work? 2020-07-19 13:45:42 -04:00
rusefi b67e9c9df6 would this work? 2020-07-19 13:33:02 -04:00
rusefi ded219ba78 Injectors #1 and #5 stick open #1592
two bytes of progress
2020-07-19 13:32:17 -04:00
rusefi 33b21c8bcf one step backwards to help build? 2020-07-19 13:26:46 -04:00
rusefi fdb455a004 Injectors #1 and #5 stick open #1592
starting somewhere
2020-07-19 13:13:25 -04:00
rusefi f2fd9decdd better folder structure 2020-07-19 12:57:05 -04:00
Matthew Kennedy bef53d8ba5
remove maf2map mode (#1474)
* remove

* remove fully

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-28 14:06:18 -04:00
Matthew Kennedy 94e63e7c43
binary logging (#1443)
* field support

* tests

* makefiles

* test data too

* missing include dir

* write correct thing

* fix one test

* fix test

* omnomnomnom ram

* format

* use defined names

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-17 15:56:37 -04:00
Matthew Kennedy e46d9f0c99
Fix 100% duty injection (#1431)
* skip turn-off for high duty

* mock executor injection

* test

* switch to hard cut

* test no longer relevant
2020-05-14 07:44:32 -04:00
rusefi 32ba492b48 34-2 3 cam Toyota wheel progress 2020-05-10 01:21:54 -04:00
rusefi ac9faf6646 docs & clean-up 2020-05-10 00:59:32 -04:00
Matthew Kennedy aa3bf51723
short term fuel trim: part 1 (#1402)
* add cell

* add stft cell tests

* add bit

* minimally generate

* config defaults
2020-05-06 21:00:40 -04:00
Matthew Kennedy 74d13c391f
Rewrite boost control in new closed loop framework (#1342)
* rewrite boost

* test

* fix build

* tests

* open loop test

* test closed loop

* fix names

* typo

* tests

* mock boost setOutput

* needs more virtual

* fix boost logic

* switch to TPS based open loop

* fix test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-06 08:40:42 -04:00
Matthew Kennedy 745b0c04ac
pull out std air charge math (#1397) 2020-05-05 08:01:40 -04:00
Matthew Kennedy f128b33694
General purpose PWM: implementation & tests (#1366)
* config

* significant digits

* renumber enum, no need for a "none"

* ui

* impl base

* error handle MAP

* init & update

* don't need arg

* don't lie about sensor

* fix test build

* test stub

* initialize

* null check

* fix clamping

* test output

* types & enums

* don't need param

* test getOutput

* fix

* output pin instead of brain pin

* default config
2020-04-26 14:06:28 -04:00
Matthew Kennedy 75b009bbae
Closed loop controller base & ETB testing (#1322)
* closed loop controller base

* etb tps test

* closed loop controller tests

* test support

* update gtest

* fix for change

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-19 17:18:47 -04:00
Matthew Kennedy 200bfe3f80
Deadband helper & tests (#1267)
* deadband

* header

* comment
2020-04-06 09:16:26 -04:00
Matthew Kennedy 3186741ddc
TPS Initialization Testing (#1264)
* test support

* stub for tests

* plumbing so we can test this

* add test

* comments
2020-04-05 09:10:08 -04:00
shadowm60 ea4cfa9046
E30 M3 Tach output solution #907 (#1203)
* Update tachometer.cpp

Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next

* tacho unit tests

First successfull unit test for tachometer

* RAM adjustment so it would link

* refactoring tacho, broken!

* starting to make some progress...still fails after a few seconds

* Rework with SW PWM

* Update after code review

* unit_test update

* First working unit_test

* Update .gitignore

* Update engine_controller.cpp

* Update engine_controller.cpp

* Update tachometer.h

* Update test_tacho.cpp

Co-authored-by: rusefi <rusefi@users.noreply.github.com>
2020-04-02 15:20:04 -04:00
Matthew Kennedy b015ec5944
Add redundant sensor (#1249)
* add redundant sensor

* add tests

* add configure, info printing

* tests

* tests

* casing

Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-02 08:55:21 -04:00
Matthew Kennedy a5d4d06868
Multispark implementation (#1192)
* multispark prototype

* only multispark if not cut

* typo

* do some reasonableish math

* consume cfg

* todo

* bad merge

* move math out of engine2.cpp

* engine state config

* consume generated

* use new

* hand generate

* doc, debugging

* debug channel names

* don't depend on rpmcalc

* safer, fix math

* tests

* default multispark config

* remove todo

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-26 01:49:36 -04:00
rusefi 75d9417131 miata vvt trigger decoding is broken #1145 2020-02-14 00:37:36 -05:00
Matthew Kennedy b9454790c7 Add new sensor function types (#1065)
* add functions

* add tests

* add chain tests

* float suffix
2019-12-17 09:06:29 -05:00
rusefi aa1b7e2c6b and finally a unit test, like it shoud be! 2019-12-13 14:55:20 -05:00