Commit Graph

404 Commits

Author SHA1 Message Date
Matthew Kennedy cee565f2b1 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 7e4f4ca97e Replace hasPedalPositionSensor (#1245)
* remove

* add Sensor::hasSensor

* consume in etb

* remove unused state

* don't use it there either

* format

* fix up tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-02 08:04:12 -04:00
Matthew Kennedy 6090924f5b Improve tps error message (#1244)
* improve error messages

* fix

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-02 08:02:44 -04:00
Matthew Kennedy 8235d8d765 Fully switch acc pedal to new sensors (#1212)
* proxy sensor

* header

* idle

* can

* settings

* remove old mocking

* remove old impl

* etb

* oops, gotta actually register it

* fix test

* structured bindings ftw!

* driver intent for stepper

* tear out old

* oops too much
2020-04-01 20:21:03 -04:00
Matthew Kennedy 90ec387cdb Sensor-via-CAN (#1241)
* CAN sensor impl

* subscription hookup

* printing

* init

* inject stamp

* don't init const field

* clarify

* guard for non-CAN builds

* fix merge

* guard with EFI_CANBUS_SLAVE

* headers, guards

* include

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-31 23:21:05 -04:00
rusefi fe604f71b8 CAN progress 2020-03-31 16:49:19 -04:00
Matthew Kennedy 44871c162c Debugging for sensor converter functions (#1239)
* func print

* resistance func, func chain

* formatting

* resistance func format

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-31 01:07:08 -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 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
rusEfi 44fdb83844 dual ETB progress 2020-03-24 20:22:01 -04:00
Matthew Kennedy 61c4d0fe83 save some ram (#1211)
* remove dead stuff

* why store those pointers twice?
2020-03-22 19:06:29 -04:00
Matthew Kennedy 8731c0100f Proxy sensor for extra magic (#1210)
* proxy sensor

* header
2020-03-22 17:29:01 -04:00
Matthew Kennedy 3840440e97 Accelerator pedal with new sensors (#1208)
* add pedal sensor

* update status loop

* add bit to ts

* fix math

* divide at config time

* this used a little bit of ram
2020-03-22 17:09:46 -04:00
Matthew Kennedy fefb5e3b1a Pedal rx shim (#1207)
* rx pedal over can

* guard

* guard

* don't cast away qualifiers
2020-03-21 22:35:27 -04:00
Matthew Kennedy 2ae689073a Grow CAN TX stack (#1201)
* grow

* check mock first
2020-03-19 19:29:56 -04:00
Matthew Kennedy 4096483aec custom verbose can format (#1200)
* config

* ts

* default cfg

* hand generate

* tx struct helper

* add data sending

* wire up

* value_or helper

* add file

* more sensors

* header

* compactify

* add status frame

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 17:58:46 -04:00
Matthew Kennedy 8ceb5c8996 fix icu trigger polarity (#1177)
* fix polarity

* fix confusing names
2020-03-08 08:57:21 -04:00
Matthew Kennedy a2a5b40ced Support disabling most/all features (#1162)
* this flag did nothing

* guard features properly
2020-02-26 18:16:35 -05:00
Matthew Kennedy 5c4329dbf2 tps header cleanup (#1130)
* tps header cleanup

* dead code
2020-02-07 23:20:14 -03:00
Matthew Kennedy e04fc117e6 Consume new tps in status_loop.cpp, settings.cpp (#1129)
* new tps

* more

* settings.cpp too

* more

* comment
2020-02-07 06:05:15 -03:00
Matthew Kennedy eb472c49b2 Use new sensors for TPS (#1111)
* tps init

* fix init

* call init

* use correct sensors, scale using constant

* includes

* handle error
2020-02-04 01:54:05 -05:00
Matthew Kennedy 734963343d Rescale TPS (#1112)
* fake adc ticks

* consumers

* fix test 1

* fix tests
2020-02-01 16:41:07 -05:00
rusefi 1a3bfa4b02 code style 2020-01-21 01:47:58 -05:00
rusefi d91a7a6a8f code style 2020-01-21 01:40:11 -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
Matthew Kennedy 1c96a41aee how tf did this ever build...? (#1099) 2020-01-12 03:25:34 -05:00
Matthew Kennedy 0256b0358e Add timeout + raw value access for sensors (#1098)
* timeout

* inject stamp

* allow getting raw value

* plumb timeout

* fix tests
2020-01-12 03:25:23 -05:00
rusefi 20a6cf130f better method name 2020-01-10 02:02:22 -05:00
rusefi 63e3e84e08 happy new year 2020-01-08 00:02:40 -05:00
Matthew Kennedy 2b4b119962 Add new sensor function types (#1065)
* add functions

* add tests

* add chain tests

* float suffix
2019-12-17 09:06:29 -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 7a470b9817 Remove sensor reporting loc (#1064)
* remove raw rept loc

* remove normal reporting location

* fix up oil pressure

* format
2019-12-16 22:45:46 -05:00
rusefi 8cf255402f codes clean-up 2019-12-14 00:14:36 -05:00
rusefi 2c296c0f18 etbActualCount logic to handle the scenario where only one ETB is present 2019-12-13 12:50:34 -05:00
rusefi f47a1a16d1 getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusEfi 52c15a7d9b dual-ETB progress 2019-12-10 00:07:46 -05:00
rusefi 2738fefa48 that's how we can move all fields one by one from boardConfiguration to engineConfiguration
my approach is to move fields from the bottom of BC struct
2019-11-30 10:24:37 -05:00
rusefi 4d6052c9f3 dual ETB seems to work! 2019-11-29 20:15:29 -05:00
rusEfi 13d4ae2169 dual ETB seems to work! 2019-11-29 19:06:50 -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 8bbd06d165 refactoring: time to unify digital pin API 2019-11-11 23:32:09 -05:00
rusefi 3ff2b2271a refactoring: time to unify digital pin API 2019-11-11 23:04:27 -05:00
rusefi 78d771460a need better higher-level API :( 2019-11-11 22:14:45 -05:00
rusefi 9c3492043d progress towards #961 2019-11-04 22:44:52 -05:00
rusefi 17792f762c kind of todo 2019-11-04 22:29:22 -05:00
rusefi 8423fa0acf pieces of #971 2019-11-03 22:02:52 -05:00
rusefi abfdfe6896 preparation for #961
more unified access to pre-calculated value
2019-10-10 08:25:58 -04:00
rusefi 2c8a2b61a5 preparation for #961
more unified access to pre-calculated value
2019-10-10 08:16:21 -04:00
rusefi f776513a5a preparation for #961
macro as a syntax sugar for method invocation
2019-10-10 07:28:52 -04:00
rusefi 15ae9b1580 fancy C++ s/NULL/nullptr/ 2019-10-08 01:26:35 -04:00
Matthew Kennedy 9b1dc07ae1 Simplify thermistor config (#962)
* simplify thermistor config

* fix test
2019-10-02 21:00:10 -04:00
rusefi 9a961fd0c2 do not let "Use fixed baro corr from MAP" kill VE fix #960 2019-09-29 09:58:29 -04:00
Matthew Kennedy b68ed85491 Fix sensor mock spill, again (#957)
* actually reset

* add test

* doh
2019-09-27 21:40:36 -04:00
rusEfi 9193e73090 Revert "Fix sensor mocking bug (#956)"
This reverts commit 7989d593
2019-09-27 20:33:45 -04:00
Matthew Kennedy 7989d59311 Fix sensor mocking bug (#956)
* actually reset

* add test
2019-09-27 20:21:50 -04:00
Matthew Kennedy 325a9e3fd1 Hmm, that didn't quite work right (#955)
* maybe that wasn't a good idea

* we don't need a copy because you can't clear the func after setting it

* no longer a template - move logic to cpp

* fix tests

* rename to avoid object collision
2019-09-25 07:26:56 -04:00
Matthew Kennedy ccb4c51e50 Sensors: composition >> inheritance (#953)
* functional sensors

* format

* tests

* sim makefile

* eol

* format tests
2019-09-24 21:11:41 -04:00
rusefi c6bca8e77a ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 10:02:07 -04:00
rusefi 658dac889c ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 09:56:06 -04:00
rusEfi 53ae54e8cc ETB target is using integer values #945
first we will write a unit test
2019-09-22 00:16:46 -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
rusefi 03d71bedeb reducing complexity 2019-09-20 01:06:15 -04:00
rusefi 0b5a49392f refactoring 2019-09-20 00:17:00 -04:00
Matthew Kennedy 4aaf028251 Kill Dead Code 2: Electric Boogaloo (#940)
* remove dead

* remove dead

* deflex
2019-09-18 20:23:14 -04:00
Matthew Kennedy 700ae8ceaf remove sensor_types.h (#928) 2019-09-11 18:10:49 -04:00
rusefi c8bd1b68b1 pedal calibration into status message 2019-09-02 22:58:36 -04:00
rusEfi 8f10e85d03 mock PPS voltage command in addition to mock PPS position
ETB pane progress
2019-09-01 17:35:43 -04:00
rusEfi 7bf75b43b6 showing 'before' values while changing TPS settings 2019-09-01 16:11:35 -04:00
rusefi 8be592f3d4 Live Data progress 2019-09-01 13:56:46 -04:00
rusefi 6fc1b1dc88 typo 2019-08-31 23:32:33 -04:00
Matthew Kennedy e4a0a0ae91 Fix some maf logic (#880)
* fix maf

* thank you vscode for mangling ANSI -> utf8
2019-07-10 09:14:47 +03:00
Matthew Kennedy 0b52f5b542 Template-ize bin/value length for interpolation (#878)
* update consumers

* tests

* whitespace

* format
2019-07-09 21:16:36 +03:00
rusefi 777eb532dc Refactoring: OS access should be explicit #867 2019-07-03 21:48:04 -04:00
rusefi 2164661274 undoing wrong fix & better fix for #805
also generator logging improvements
This reverts commit 96270758c9.
2019-06-30 14:28:47 -04:00
rusefi 2120e4827a Annotations in C++ code to produce formulas in rusEfi console #807 2019-06-30 13:24:55 -04:00
rusefi d0e4a0984f Annotations in C++ code to produce formulas in rusEfi console #807 2019-06-27 06:47:13 -04:00
rusefi 35d3cc0ac4 docs/type safety 2019-06-19 21:24:09 -04:00
rusefi 96270758c9 "Calibrate TPS" broken in TS fix #805 2019-06-17 22:00:34 -04:00
rusefi 0b843819eb TPS Live Documentation 2019-06-17 21:37:11 -04:00
rusefi d90c6ee1a3 Annotations in C++ code to produce formulas in rusEfi console #807 (#847)
* Annotations in C++ code to produce formulas in rusEfi console #807
firmware part of the change

* removing unneeded stuff & fixing unit test compilation

* not complete better unit test compilation fix  :(

* better C++ usage
2019-06-17 12:18:55 -04:00
rusefi bc5154694b adding support for smaller table axis 2019-06-10 12:38:32 -04:00
rusefi 998345ef9e unit tests should not have global context, including mock values 2019-05-27 15:56:12 -04:00
rusefi e557a30193 messing with TPS mocking 2019-05-27 14:21:12 -04:00
rusefi 2c24571ddb dreams of two ETBs 2019-05-05 12:02:42 -04:00
rusefi 85b790edcf The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657
maybe probably pointless refactoring? reducing parameters visibility
2019-05-03 18:41:43 -04:00
rusefi 899b96eec2 ETB tiny progress 2019-04-30 18:46:39 -04:00
rusEfi 67e8adf6f5 ETB micro progress 2019-04-30 01:21:09 -04:00
rusefi dacf305011 docs 2019-04-24 17:00:05 -04:00
rusefi 884c54a185 defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
dron0gus 12e07bc3ab Some more include fixes for linux (#738)
* Some more include fixes for linux

* Pass cross-compile path through CROSS_COMPILE

* Lower-upper case conversion fixes for linux
2019-04-10 01:12:35 +02:00
rusefi 82028b29f8 better ICU error handling 2019-04-07 18:25:46 -04:00
rusefi df420322f8 docs 2019-03-17 18:11:03 -04:00
rusEfi 849846e4ec better Electronic Throttle body control #493 2019-03-11 00:31:06 -04:00
rusefi cf55432c5c ETB quality instrumentation #494
set10K_4050K(ThermistorConf *thermistorConf)
2019-03-04 14:37:23 -05:00
rusEfi c5be9840e9 new 'etbreset' command 2019-03-02 15:04:42 -05:00
rusEfi ac92a0380e reducing warning noise 2019-03-02 13:04:26 -05:00
rusEfi 3aa1944ec0 typo 2019-02-27 17:13:05 -05:00
dron0gus 2027977e2c warning cleanup (#693)
* Kill annoing warnings about unused vars

* Kill annoing signed vs unsigned warnings

* Make ALWAYS_INLINE macro realy inlining

* Incorrect attribute placement.

While correct attribute placement cause ram4 overflow.
Move to correct place (to avoid gcc-2018-q4 errors) and comment
out.

* Silence -Wcast-function-type warnings

Cast to intermediate "void *" to lose compiler knowledge about the original
type and pass the warning. This is a workaround.
2019-02-21 05:44:45 -05:00
rusefi 0fe4efbee3 refactoring: duplicated import, already imported 2019-02-05 21:06:18 -05:00
rusefi 6992480f74 CJ125 unit-tests coverage #617 2019-02-01 23:16:34 -05:00
rusefi 70f5d3e69c better conditional compilation 2019-01-31 11:57:15 -05:00
rusefi aba0f44df5 NA6 progress
A/C toggle switch indicator in TS
renaming "pedalPosition" to "throttlePedalPosition"
2019-01-27 00:02:58 -05:00
rusefi 37a47b1f25 refactoring: reducing header tree hell 2019-01-20 23:30:40 -05:00
rusefi 86a0d67d70 learning C++ 2019-01-15 20:24:36 -05:00
rusefi 43735bffa0 enjoying C++11 2019-01-13 23:25:15 -05:00
rusefi 1bcefa5690 MAF2MAP convestion #538 2019-01-13 01:53:58 -05:00
rusefi fed61c1af4 The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657 2019-01-09 22:57:33 -05:00
rusefi 519316da16 #35 2019-01-07 23:23:50 -05:00
rusefi daeaa925f2 refacoting: making code more consistent 2019-01-05 00:57:09 -05:00
rusefi 9afe619652 making either Matt or compiler or both happier 2019-01-05 00:11:17 -05:00
rusefi c75951e8a0 #35 2019-01-04 19:20:32 -05:00
rusefi 68cb4a0452 #35 trying new kind of parameter magic 2019-01-04 00:51:32 -05:00
rusEfi d93f3ecd89 better? field name 2018-11-30 00:17:55 -05:00
rusefi 996ca909de CJ125 unit-tests coverage #617 2018-11-03 11:44:57 -04:00
rusefi 5cb6a2b6f0 refactoring 2018-09-16 23:10:06 -04:00
rusefi 553969dc72 refactoring 2018-09-16 22:26:57 -04:00
rusefi 2f95cd1e0d step towards more unique codes 2018-07-25 23:30:00 -04:00
rusefi 60b3aa8e60 unique error codes #598 2018-07-25 23:03:04 -04:00
rusefi 58d6363f3a more detailed warning 2018-06-12 05:45:11 -04:00
rusEfi 0c1d76572d docs 2018-01-30 22:04:33 -05:00
andreika-git 19dca45042 Prepare debug & output for CJ125 (#558) 2018-01-28 13:04:19 -05:00
andreika-git 94e201c858 Add a new MAP sensor type (MPX4250A) (#554) 2018-01-26 10:50:12 -05:00
rusefi adfe5e9274 #65
explicit precision control
2018-01-23 12:05:14 -05:00
rusefi c17455dc0d #540 2018-01-23 08:34:18 -05:00
andreika-git a6f7d9e238 Impl. narrow EGO averaging (alpha) (#545)
* Impl. narrow EGO averaging (alpha)

* Use cyclic_buffer as a generic container for CIC

* Implicit #include of cyclic_buffer.h for safety
2018-01-23 08:24:13 -05:00
rusefi 574d9dfd8b #538 2018-01-21 16:11:39 -05:00
rusefi 7925600d9d #538 2018-01-21 00:12:50 -05:00
rusefi f5a4376036 happy new year 2018-01-20 20:55:31 -05:00
rusEfi c569411eb7 #538 2018-01-20 14:53:58 -05:00
andreika-git 286c3c9751 "Fixed baro correction" option using the initial MAP pressure (#529)
* Fixed baro correction option using the initial MAP pressure

* code style
2018-01-03 07:47:44 -05:00
rusEfi a1565058c0 Fix VSS init/deinit 2018-01-01 11:27:15 -05:00
rusefi 415bc28298 fixing build 2017-11-24 19:16:00 -05:00
rusefi c4191454d3 ADC docs 2017-11-24 17:40:20 -05:00
rusefi b4b032cc14 #494 2017-11-16 14:44:53 -05:00
rusefi c0304d26b0 Merge branch 'master' of https://github.com/rusefi/rusefi 2017-11-16 10:38:37 -05:00
rusefi 935622a4e2 mock TPS refactoring 2017-11-16 10:29:40 -05:00
Matthew Kennedy 8a5036f9bf Implement oil pressure sensor (#491)
* code changes

* config changes
2017-11-15 14:30:13 -05:00
rusefi 6b69ac333c docs 2017-11-14 18:49:16 -05:00
rusefi 4452717d9a #385 2017-10-29 20:29:02 -04:00
rusEfi ce37c09782 fixing new MAP decoder 2017-09-21 23:31:46 -04:00
rusEfi e89658cd2f DENSO map calibration 2017-09-21 21:15:13 -04:00
rusefi 61a837ee43 docs 2017-08-28 19:36:12 -04:00
rusefi 5f885120f3 #470 2017-08-06 16:29:14 -04:00
rusefi d682229f27 docs 2017-06-22 09:23:42 +03:00
rusefi 95889d8f22 removing unused method 2017-06-22 08:59:07 +03:00
rusefi 69d155daaf some hack to handle linear CLT sensors 2017-06-12 18:48:55 -04:00
rusEfi d8ecf8bd1d fixing throttle pedal settings storage & better names 2017-05-29 22:35:24 -04:00
rusefi 8713e80dad better error handling 2017-05-29 00:02:43 -04:00
rusefi 73c1f29cf9 better macro name 2017-05-15 23:33:22 -04:00