Commit Graph

212 Commits

Author SHA1 Message Date
Matthew Kennedy 8312686f22 AC state change uses a timer 2024-09-12 23:52:10 -07:00
Matthew Kennedy c086047ac5 let's move away from PeriodicTimerController 2024-08-12 17:58:05 -07:00
Matthew Kennedy d1d10f8a56 avoid long -> float 2024-05-11 13:19:03 -07:00
Matthew Kennedy a070f26256 wrong variable name 2024-05-03 22:25:08 -07:00
Matthew Kennedy 5d0d3fd120 behave yourselves with null previousConfig 2024-05-03 22:10:42 -07:00
dynfer 79aaec84de
Lua idle rpm adder (#409)
* lua idle rpm adder

* idle target fix
2024-04-09 22:40:31 -07:00
Stefan de Kraker 4c65992017
Add cranking taper duration multiplier based on CLT (#370)
* Add Cranking taper duration multiplier based on CLT

* Fixed same merge error in TS config

* Fixed existing unit test for getCrankingTaperFraction, and added a new one to test multiplier table for cranking taper duration.

* Fixed existing header file for unit test getCrankingTaperFraction

* Changed naming

* changed logic

* Forgot to update name here too

* Forgot to update name here too, second time
2024-02-25 17:36:30 -08:00
Matthew Kennedy 61900c0f18 check for unused variables 2023-11-03 15:00:44 -07:00
Matthew Kennedy 2346086b06
knock live data (#261)
* Move knock data to knock controller

* appease tsConfigVersion

* make reapply logic easier to read
2023-09-25 11:06:48 -07:00
Matthew Kennedy 00e8ae809f verbose idle is redundant, it's all in the log now #235 2023-09-25 01:34:43 -07:00
Matthew Kennedy 8b5825adc4 indent formatting 2023-06-01 11:10:58 -07:00
Matthew Kennedy 5373d79d92 disable coasting state during the crank-to-run taper 2023-05-29 15:08:29 -07:00
Matthew Kennedy ea81fdfc64 idle data 2023-05-05 12:48:38 -07:00
Matthew Kennedy 3044589613 apparently we duplicated idle position, field renaming #98 2023-05-04 13:35:17 -07:00
rusefillc 984b5a2fb9 docs 2023-01-26 02:02:26 -05:00
rusefillc f0d61a0459 Alternator Duty Cycle Adder for AC Fan fix #4973 2023-01-24 10:29:08 -05:00
rusefillc 9ff5de241c TurboMarian is the ALS boss 2022-12-17 19:39:36 -05:00
rusefillc 41a8a90b3d guards 2022-12-17 14:43:51 -05:00
Andrey 65f5c00616 trigger refactoring: instance RPM #4740 2022-11-06 11:56:18 -05:00
Matthew Kennedy acfde29c60 remove idle timing deadzone (#4731)
* remove idle timing deadzone

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-04 15:02:20 -04:00
Andrey G fb242d00d4 idle_state: rename useIacTableForCoasting -> isIacTableForCoasting (#4721) 2022-10-30 17:41:18 -04:00
Matthew Kennedy 4035d79a91 idle always uses instant rpm (#4499)
* idle always uses instant rpm

* configs

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

* default

* autoscale

* changelog
2022-08-29 08:15:04 -04:00
Andreika fda9448798 [DRAFT] Air by rpm taper (#4486)
* add rpm to getOpenLoop() and getRunningOpenLoop()

* implement airByRpmTaper

* unit-test for airByRpmTaper
2022-08-25 21:23:23 -04:00
Matthew Kennedy f3a5c28f07 fix typo, move bit to idle state (#4484) 2022-08-25 20:26:12 -04:00
rusefillc 38e3a84ec9 Idle air add via Lua fix #4465 2022-08-21 00:32:34 -04:00
rusefillc 178721c809 Remove value copy from controller into outputChannels #4095 2022-05-09 06:12:17 -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 b252533889 actually let's remove the duplicates 2022-04-18 11:43:49 -04:00
rusefillc a6108bafbf unique field names 2022-04-18 11:11:57 -04:00
rusefillc e16117f6ce very random progress 2022-04-16 17:04:35 -04:00
rusefillc 0331193695 very random progress 2022-04-16 16:49:59 -04:00
rusefillc 905fbd851e Air Conditioning Improvements #4054 2022-04-09 00:26:52 -04:00
Andrey b7cd7dbdb9 Extra Idle Air if Throttle is Pressed behavior #3940
only live data
2022-04-03 20:30:09 -04:00
Matthew Kennedy 4c2518c4c0 output channel tweaks (#4023)
* shuffle around output channels

* postState should take a ref

* s

* s

* patch input file

* limits

* accel bad bounds check

* units

* units

* Revert "accel bad bounds check"

This reverts commit b2bb493be331d5d2cf40b9ed01363a53182c883e.

* missed an autoscale
2022-03-24 08:58:55 -04:00
rusefillc dc734e0c6d JNI for test coverage #3965 2022-03-15 10:33:17 -04:00
Andrey 37e700f8bd migrating to SensorType::Rpm API 2022-01-20 22:51:20 -05:00
rusefillc 8447be9c60 live view is confused by conditional compilation #3773
ops
2022-01-11 14:24:53 -05:00
rusefillc 1c0919e885 live view is confused by conditional compilation fix #3773 2022-01-11 14:10:30 -05:00
rusefillc 5c68f86a0d RE usability: live data for idle controller 2022-01-10 21:55:52 -05:00
rusefillc d550893e85 RE usability: live data for idle controller 2022-01-10 20:32:20 -05:00
rusefillc 5eaabf5eb6 RE usability: live data for idle controller
static bad, class fields better
2022-01-10 20:12:11 -05:00
rusefillc 6fd0ae24d9 RE usability: live data for idle controller 2022-01-10 19:48:58 -05:00
Andrey G 542810cdf4 Stepper direct push pull driver (#3751)
* Init DC motor through two brain_pin_e only

* idle: stepper: allow driving stepper through 4 output_pin_e
2022-01-07 11:38:48 -05:00
Matthew Kennedy 2ba4c7844d simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Andrey d2c46b3310 Let's always have TS structure so that unit tests can check values in outputChannels, kind of making outputChannels a god dump for state but whatever since Live View is coming 2021-12-07 20:18:47 -05:00
rusefillc c64fb3f595 why so many channels are hidden in debug ? #3614 2021-11-29 01:02:40 -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
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 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