Commit Graph

425 Commits

Author SHA1 Message Date
Matthew Kennedy dbdeca93b0 implement fuel pressure sensors (#1897)
* add

* remove old

* remove more old

* makefile

* fix init

* patch up other stuff

* actually fix it this time

* raw output channels

* gauges, UI

* scaled channel

* fix field ordering
2020-10-23 07:31:47 -04:00
Andrey G 4c074fb9c8 common.h: define MIN and MAX macro only if nod defined yet (#1896)
This fix compilation error for Kinetis and Cypress if common.h
is included after platform includes which also defines MIN MAX.
2020-10-22 08:41:44 -04:00
rusefi 4af1bad726 progress 2020-10-22 00:57:11 -04:00
Matthew Kennedy 94bd5921c5 simplify getTimeNowNt() (#1876)
* remove old impl

* add cpp wrapper to os_access

* clean up os_access

* remove touchTimeCounter

* new impl

* put comment about lock free impl

* include cpp wrappers for BL

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-10-15 08:57:13 -04:00
rusefi 6fe1f18067 Trigger sync lost every 2^32 CPU cycles #1873
only a random code comment
2020-10-11 18:17:30 -04:00
Matthew Kennedy 3e64861c14 display base fuel mass in milligrams (#1838)
* switch to mg

* use the correct thing

* gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-30 20:19:51 -04:00
Matthew Kennedy 36234961c1 logging simplification: switch bare functions to member functions: try the second (#1794)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup

* fix sniffer
2020-09-13 11:49:25 +03:00
rusefi ead14bd1ca Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit 39280fb2
2020-09-12 04:36:24 -04:00
Matthew Kennedy 39280fb2c6 logging simplification: switch bare functions to member functions (#1788)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup
2020-09-12 03:08:11 +03: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
rusefi e3929978bc Hellen says cyclic buffer 2020-09-07 11:35:02 -04:00
rusefi 7df2666d7b helping Kinetis? 2020-09-06 23:17:13 -04:00
rusefi 8ba9a47c59 microRusEFI used as Body Control Module BCM BCU
got stack too low warning with DBG_CAN
2020-09-06 21:45:17 -04:00
Matthew Kennedy 5213037237 fix expected (#1754) 2020-09-03 14:56:55 -04:00
Matthew Kennedy 1b07647e72 Software knock detection (#1730)
* s

* science

* set pin mode

* turn stuff off so it fits

* filtering maybe

* filtering actually works

* generate filter parameters internally

* shorter window

* guard behind enable flag

* use checked in filter

* add biquad reset

* tracing

* const

* exec order

* do it from a thread

* smaller buffer, comment

* configure with header

* only for proteus

* oops

* unused

* not needed

* guards

* pin config

* don't need that include

* precook filter steady state

* define sample rate

* config enable switch
2020-08-28 21:13:50 -04:00
Matthew Kennedy 8ab4c5c765 Analog input filtering (#1680)
* improve biquad

* cleanup

* add filtering to subscriptions

* config sensors

* comment

* doesn't need to be that fast

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-21 19:47:12 -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
rusefi 8d0f47b940 TS SD integration #1653 2020-08-07 00:59:00 -04:00
rusefi 0ebe7ba059 TS SD integration #1653 2020-08-06 22:05:26 -04:00
rusefi c55477bfa6 Stack usage is still all over the place #1662 2020-08-02 11:39:20 -04:00
Matthew Kennedy 3aa0606f46 don't use register keyword 2020-07-29 02:40:10 -07:00
Matthew Kennedy 9d3b7346e0 even more dead 2020-07-29 02:36:47 -07:00
Matthew Kennedy ea1f913c68 more dead 2020-07-29 02:34:30 -07:00
Matthew Kennedy 8929fe57c2 dead code 2020-07-29 02:32:48 -07:00
Matthew Kennedy ca29e0d342 now unused table 2020-07-21 00:07:49 -07:00
rusefi e8e43f5bef Stefan, I want to drink from the same fountain of patience 2020-07-12 15:00:44 -04:00
rusefi 2b32bc8c16 PidIndustrial does not limit iTerm fix #1599 2020-07-11 15:30:40 -04:00
rusefi 0f61795a54 PidIndustrial does not limit iTerm #1599 2020-07-11 15:05:18 -04:00
rusefi a1b9d58361 https://rusefi.com/forum/viewtopic.php?p=37401#p37401 2020-07-10 14:19:51 -04:00
rusefi 7b5f782e91 idle_min through FSIO not working as intended #1553
FSIO debug outputs progress
2020-07-04 21:32:12 -04:00
rusefi 63edde79d4 FATAL error: lsize mismatch 336/3342 #884 2020-07-04 00:31:29 -04:00
rusefi 23a29073b6 FATAL error: lsize mismatch 336/3342 #884 2020-07-04 00:02:27 -04:00
andreika-git 8b84243dae Gen config refactor 2 (#1560)
* gen_config refactor, part II

* short board defines

* oops

* comment & undef

* define QUOTE

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-07-02 12:33:31 -04:00
rusefi eb3ff73c29 1 byte issue in TuneReadWriteTest fix #1512 2020-06-18 23:29:08 -04:00
rusefi 7f3ce36065 1 byte issue in TuneReadWriteTest #1512 2020-06-18 22:51:07 -04:00
rusefi 22314eee90 reducing constant dupliation 2020-05-31 13:40:48 -04:00
rusefi 804f4b9db5 better file name 2020-05-25 13:02:05 -04:00
rusefi 725978f0b3 funny that THIS would happen 2020-05-23 22:11:09 -04:00
Matthew Kennedy 6d4924e85a dead datalog code (#1439)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-16 00:11:52 -04:00
dron0gus ef60b90c49 Some bit, unaligned and different endian access helpers (#1436)
* util: add some common macros

* util: add unaligned access helpers
2020-05-15 15:55:06 -04:00
Matthew Kennedy 424a86be7b short term fuel trim: part 2 (#1405)
* add tooltip

* add other direction to deadband

* add impl

* test partitioning

* makefile

* wrong comment

* fix include
2020-05-07 08:52:32 -04:00
rusefi 7e817fb4fd steps towards tle8888 2020-05-06 19:15:52 -04:00
rusefi f7321942e9 class constructors are a great way to have simple initialization sequence 2020-05-03 11:49:06 -04:00
Matthew Kennedy 1cd939f6db actually use msg parameter (#1372) 2020-04-27 07:56:38 -04: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 1bcbed3cb5 reducing code duplication 2020-04-20 15:57:03 -04:00
Matthew Kennedy d17afd3a63 ETB testing: output, position clamping (#1333)
* add clampf

* more tests

* public

* missed a mock

* fix output duty clamping

* do it that way

* more

* ah ha!

* test negative too

* clamp pedal

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-20 13:52:20 -04:00
Matthew Kennedy 830f03c003 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 f54db83d67 Improve unexpected (#1323)
* use type instead of value

* fix remaining initializer-list users

* impruv

* last consumer?

* consumer

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-19 08:37:43 -04:00
Matthew Kennedy 363f6d5110 add expected helper class (#1321)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-19 01:53:04 -04:00
Matthew Kennedy 24b0c85a9e fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
rusefi 87fda825fc lib function by Dron0Gus 2020-04-06 11:29:40 -04:00
Matthew Kennedy 01c87a87ee Deadband helper & tests (#1267)
* deadband

* header

* comment
2020-04-06 09:16:26 -04:00
rusefi b40d4d588d code style 2020-04-01 21:32:21 -04:00
Matthew Kennedy cd41449459 Debuggability in the new sensor world (#1238)
* rename to avoid conflict

* fix efilib

* add sensor printing

* makefile

* that check was already there

* const

* const

* fix tests

* formatting

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-30 18:29:42 -04:00
Matthew Kennedy 8642a0a6c7 TS cleanup pass (#1225)
* remove biquad config

* fuel pump clarity

* one code usage

* minimal generate for ci

* and don't build it either

* remove commented out code
2020-03-25 23:00:17 -04:00
rusefi 2b06452aa5 fine 2020-03-24 16:46:36 -04:00
rusefi 1785517286 simpler API? 2020-03-24 02:33:20 -04:00
rusefi ce1a11ead5 code style 2020-03-23 00:00:11 -04:00
Matthew Kennedy f43042d61b const (#1193) 2020-03-18 21:55:46 -04:00
Matthew Kennedy ef0dfc6ec4 split out scaled channel header (#1156)
* split out scaled channel header

* update header
2020-02-24 16:47:10 -05:00
rusefi 6dd509a34b opening the door to boost controller! 2020-01-31 14:23:15 -05:00
rusefi 1735529a6b refactoring: extracting DEEP_IN_THE_PAST_SECONDS contant 2020-01-31 01:21:56 -05:00
rusefi d91a7a6a8f code style 2020-01-21 01:40:11 -05:00
Matthew Kennedy f8cd2ad3ce use NT_PER_SECOND instead of convert from microseconds (#1107)
* add NT_PER_SECOND

* missed a few

* inject tooth logger timestamp

* inject
2020-01-19 22:23:41 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
Matthew Kennedy 8200a3da64 AEM X-Series CAN Wideband Support (#1096)
* aem xseries

* parens to avoid operator precedence issues

* put in cfg

* disable that too

* fix sim/unit

* enough generated for ci

* this will guard correctly
2020-01-12 03:44:37 -05:00
rusefi 63e3e84e08 happy new year 2020-01-08 00:02:40 -05:00
rusefi 391a9315bf style 2019-12-23 23:05:40 -05:00
rusefi 4c30e7b1b9 hopefully useful macro? 2019-12-21 21:18:38 -05:00
Matthew Kennedy c56bd4cc97 Terrible ADC3 hack for Proteus vbatt support (#1066)
* this is a great idea!

* typo

* simplify

* simplify, cache coherency

* enable adc3 in board file

* copyright

* fix tests, probably
2019-12-17 08:34:56 -05:00
Matthew Kennedy dc1e90773b const (#1062) 2019-12-16 20:36:40 -05:00
Matthew Kennedy 44fc8c466d copyArray helper (#1048)
* add functions

* uses

* use for proteus

* do it for warmup mult

* do it for cranking settings

* cleanup
2019-12-10 18:04:50 -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
rusefi 44c04755d8 not needed since included in common_headers.h 2019-11-23 18:16:41 -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
Matthew Kennedy f425232901 const + fwd declare pid things (#1024) 2019-11-22 15:55:38 -05:00
rusefi 19bdb9a35f docs & code formatting 2019-11-19 18:17:03 -05:00
andreika-git 6b2bdfe150 cisnan() warnings fix (#1008)
* Fix cisnan() macro warnings (strict-aliasing)

* Hey, we found a bug thanks to our fix! Let's fix it too!
2019-11-17 08:08:56 -05:00
Matthew Kennedy 2edd673bd6 fix (#1005) 2019-11-13 08:42:16 -05:00
rusefi a23f6bb23e time to panic and revert more 2019-11-12 21:42:44 -05:00
Matthew Kennedy 6a5d53fe64 Fix (#1004)
* Revert "fixing build"

This reverts commit ba0aa5cba9.

* undo overzealous ifdef cplusplus
2019-11-12 01:13:13 -05:00
rusefi ba0aa5cba9 fixing build 2019-11-12 00:50:30 -05:00
Matthew Kennedy b01a9e1388 use static asserts (#1003) 2019-11-12 00:39:38 -05:00
rusefi 3ff2b2271a refactoring: time to unify digital pin API 2019-11-11 23:04:27 -05:00
rusefi 412744d613 trying to fix integration tests
[java] 2019-11-10_13_31_42_194<EOT>: msg,FATAL error: PID::isSame invalid,
     [java] 2019-11-10_13_31_42_194<EOT>: postMessage EngineState: FATAL error: PID::isSame invalid
     [java] 2019-11-10_13_31_42_289<EOT>: Sending packet 4F 00 00 64 01
     [java] 2019-11-10_13_31_42_289<EOT>: output channels header: waiting for 2 byte(s)
     [java] 2019-11-10_13_31_42_290<EOT>: IncomingDataBuffer: 256 byte(s) arrived
     [java] 2019-11-10_13_31_42_290<EOT>: output channels body: waiting for 361 byte(s)
     [java] 2019-11-10_13_31_42_291<EOT>: IncomingDataBuffer: 107 byte(s) arrived
2019-11-10 16:07:13 -05:00
andreika-git add26866f5 Industrial PID Controller (#1002)
* Implement Industrial PID controller

* Test-Use PidIndustrial in alternator

* Meaningful unit-tests for PidIndustrial
2019-11-10 13:04:27 -05:00
rusefi 15ae9b1580 fancy C++ s/NULL/nullptr/ 2019-10-08 01:26:35 -04:00
rusEfi c5eaf092c3 PID display in console was broken 2019-09-27 23:37:57 -04:00
Matthew Kennedy c33091d39a fix ltoa_internal: fix #948 (#949)
* fix ltoa_internal

* fix hex
2019-09-23 08:45:45 -04:00
rusefi c3eb05358f typo in comment 2019-09-23 01:39:04 -04:00
rusefi df64289fd5 ETB target is using integer values fix #945 2019-09-22 18:15:00 -04:00
Matthew Kennedy dfcc9dba04 add sensor framework, tests (#929)
* add framework, tests

* move oil pressure to new way

* add init logic

* brackets on the same line

* spaces -> tabs

* spaces -> tabs for tests

* bracket on same line

* hook up sensor mocking

* add nan check

* fix nan check

* I wrote an essay

* casing

* only init if we have a sensor to init

* style, actually call init

* format

* fix casing

* typo

* implement linear sensor

* wire up producer

* smarter limiting

* setup comments

* add reporting

* doxyfile

* oops

* add adc subscription

* clarity

* fix logic

* multiply voltage

* test styling

* test guards

* remove dependencies

* linear sensor test

* remove unused

* fix merge

* format, implicit convert op

* explicit

* format tests

* fix merge
2019-09-21 14:33:38 -04:00
andreika-git de4173c99f PID_CIC docs (#930) 2019-09-12 07:30:18 -04:00
rusefi f0427360bf Delayed A/C compressor switch #922 2019-09-11 20:46:50 -04:00
rusefi 7395bb44e7 OOP all the way, maybe too much OOP? :) 2019-09-11 20:23:25 -04:00
rusefi 34fb2c21e1 simulator crashes on any TS setting change fix #924 2019-09-09 20:49:16 -04:00
rusefi 50e0887c96 Delayed A/C compressor switch #922 2019-09-08 21:05:03 -04:00