Commit Graph

46 Commits

Author SHA1 Message Date
Matthew Kennedy d5f9479f28
ObdCode is enum class (#77)
* change ObdCode to enum class builds firmware

* test builds

* don't need this line at all

* can we go down to uint16_t?
2023-04-12 23:44:33 -07:00
Matthew Kennedy 03daac572e more flexible GPPWM (#5032)
* gppwm improvements!

* test

* ui

* autoscale
2023-02-06 08:53:31 -04:00
rusefillc 0a4e9c3049 smarter template 2022-12-13 16:47:35 -05:00
rusefillc 03d176ca61 tear down Engine god object #4511 2022-09-15 21:55:15 -04:00
Andrey e9e040895b different file names for different entities 2022-09-04 23:11:19 -04:00
Andrey 2b01d856d3 reducing confusion between library header and rusefi main repo header 2022-09-01 11:35:35 -04:00
Matthew Kennedy e17b0d292d flash savings (#3858)
* save table space

* turn some stuff off on some boards

* comment
2022-01-31 08:57:37 -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
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 c92f6b832b ui & config for fuel/ign trim tables (#3704)
* ui & config

* bump flash version

* compaction

* s

* make things happy

* fsio too

* OK, well those defaults were insane

* b

* why are these defaults insane

* adjust cylinder offset ui

* s

* cleanup
2021-12-20 21:58:53 -05:00
Matthew Kennedy 2ba4c7844d simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Andrey 53d842b19f 2 byte table axis #3045 2021-12-19 23:23:33 -05: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
racer-coder a18beadb03 Create an interpolate3d function to match the interpolate2d, but for 3d tables. (#3459)
Remove some implicit C array to pointer conversions in Map3D by adding
(), *, and & where appropriate.  This allows us to remove getBinPtr.

Call interpolate3d from Map3d so there's no code duplication.
2021-11-04 14:07:37 -04: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
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
Matthew Kennedy 70c0db189d warnings & assorted cleanup (#2793)
* lua hook

* validateBuffer

* tables

* simplify fsio table

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-03 14:30:25 -04:00
Matthew Kennedy 8b042ab9b1 rewrite table3d (#2723)
* post cranking factor limits

* sensible defaults

* but not for tests

* add pointer version of get bin

* test via map3d

* put that back for a minute

* new impl

* fix order

* rename and fix table orientation

* flip the table to the correct orientation

* dead cleanup, rename

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-05-20 22:31:16 +03:00
Matthew Kennedy 0af7a9cb2d shrink canned tables (#2651)
* helper

* use it miata

* do type safe copy

* miata vvt

* etb

* default iat correction

* magic is afoot here

* hunchback

* misc

* neon

* neon

* aspire

* citroen

* neon

* missed one

* dead

* festiva

* remove andreyism

* very dead

* no need for copy of that function

* cleanup
2021-05-09 14:37:16 -04:00
rusefillc 8080f3bde7 helping us trace CUSTOM_INTEPOLATE_ERROR 2021-04-08 16:14:06 -04:00
Matthew Kennedy ace0f4e78c Add fallback map table (#2248)
* table

* sd math

* config

* debug channel name

* ptr vs not ptr

* actually use return value

* memory

* less magic
2021-01-31 17:19:06 -05:00
Matthew Kennedy b8c2041467 Everything in lambda! (#1893)
* lambda

* default configs, fix build

* config, gauge, UI

* more digits

* change menu text

* fix that while I'm here

* doesn't need extra word

* todo note

* tests

* last test

* missed a config

* update java

* store target lambda

* more java

* format

* hopefully enough java for CI to pass
2020-10-26 18:15:17 -04:00
rusefi 4af1bad726 progress 2020-10-22 00:57:11 -04:00
Matthew Kennedy fd9cf0feae define map3d functions in class (#1785)
* define in class

* don't keep an extra flag
2020-09-10 22:03:16 -04:00
Matthew Kennedy 8079e5f292 scale tables using type system (#1776)
* store scale in the type

* efi ratio

* boost control scaling

* fix boost tests
2020-09-10 18:44:10 -04:00
Matthew Kennedy ad42a17207 Configurable stoichiometric ratio (#1710)
* configurable stoich ratio

* afr table always in gas afr

* default

* typo

* use defined ratio

* do it in config too

* missed a spot

* oops wrong one

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-21 19:43:30 -04:00
Matthew Kennedy ca29e0d342 now unused table 2020-07-21 00:07:49 -07:00
Matthew Kennedy 738e53442d 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 a8bf8a8eb5 types & enums (#1367) 2020-04-25 18:26:29 -04:00
rusefi b40d4d588d code style 2020-04-01 21:32:21 -04:00
Matthew Kennedy f43042d61b const (#1193) 2020-03-18 21:55:46 -04:00
rusefi 6dd509a34b opening the door to boost controller! 2020-01-31 14:23:15 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
andreika-git ae9c619c50 iacPidMultTbl + EFI_IDLE_PID_CIC + kinetis_hysteresis (#1043)
* rename EFI_IDLE_INCREMENTAL_PID_CIC -> EFI_IDLE_PID_CIC

* Impl. IacPidMultTable

* Kinetis: Trigger Comparator Hysteresis settings (+adaptive mode)
2019-12-04 00:37:32 -05:00
Matthew Kennedy 0a7535fb1f Use templated array references (#1027)
* update defs

* consumers, use default params

* setArrayValues in tests

* floats

* test fixing
2019-11-22 23:27:24 -05:00
rusefi 6ab2832c24 More than one aux pid #866
progress!
2019-07-12 08:31:38 -04:00
rusefi 69a3b45b3d ETB: TPS should be f(RPM, pedal) - target table #835 2019-06-15 14:11:38 -04:00
rusefi ebcce5ab22 progress - reusing code for other data types 2019-06-10 23:27:54 -04:00
rusefi bc5154694b adding support for smaller table axis 2019-06-10 12:38:32 -04:00
rusefi 6a002beb8f refactoring 2019-06-10 11:17:36 -04:00
Matthew Kennedy 515ab03688 const, explicit, and override (#831)
* const, explicit, and override

* more const

* more const

* missed a spot
2019-06-08 09:51:36 -04:00
rusefi 373b0c8f4a refactoring - fancier C++ 2019-05-27 11:43:34 -04:00
rusefi 32601867fe fix #802 2019-05-25 13:36:29 -04:00
rusefi 39d2915386 useTPSBasedVeTable logic has issues and needs a unit test #799 2019-05-10 21:09:01 -04:00
rusefi 4011372da8 The Big Refactoring of 2019: folder structure #723 2019-04-09 23:17:09 -04:00