Commit Graph

354 Commits

Author SHA1 Message Date
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 22267e5479
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 8151793ec7
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 50cd6549a2
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 15c40ffb5b
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 81211219f2 CAN progress 2020-03-31 16:49:19 -04:00
Matthew Kennedy f41f0454bd
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 483d4a2204
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 8fd9842310
cleanup extern mess (#1237)
* cleanup

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

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

* header
2020-03-22 17:29:01 -04:00
Matthew Kennedy 701f7fd7aa
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 985269808e
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 e76f567608
Grow CAN TX stack (#1201)
* grow

* check mock first
2020-03-19 19:29:56 -04:00
Matthew Kennedy 7b44f618e7
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 9f26e6d894
fix icu trigger polarity (#1177)
* fix polarity

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

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

* dead code
2020-02-07 23:20:14 -03:00
Matthew Kennedy f7282966d2
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 6ebc49ce8b
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 c7dce2e38b
Rescale TPS (#1112)
* fake adc ticks

* consumers

* fix test 1

* fix tests
2020-02-01 16:41:07 -05:00
rusefi 0c3f73c2b4 code style 2020-01-21 01:47:58 -05:00
rusefi 83b1ca00a4 code style 2020-01-21 01:40:11 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
Matthew Kennedy ecd240d6f2 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 e4c4e90981 how tf did this ever build...? (#1099) 2020-01-12 03:25:34 -05:00
Matthew Kennedy d3d088676b 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 19df4661ab better method name 2020-01-10 02:02:22 -05:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -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
Matthew Kennedy eb27bcf3d6 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 08a8fa8d1e 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 521b27ff35 codes clean-up 2019-12-14 00:14:36 -05:00
rusefi e9e7a66cf8 etbActualCount logic to handle the scenario where only one ETB is present 2019-12-13 12:50:34 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusEfi 1cc71ef8ec dual-ETB progress 2019-12-10 00:07:46 -05:00
rusefi b04166d173 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 73e3edc3d8 dual ETB seems to work! 2019-11-29 20:15:29 -05:00
rusEfi e2074388ff dual ETB seems to work! 2019-11-29 19:06:50 -05:00
Matthew Kennedy 9ee8616cb0 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 3c57c3d216 refactoring: time to unify digital pin API 2019-11-11 23:32:09 -05:00
rusefi f082ac48b1 refactoring: time to unify digital pin API 2019-11-11 23:04:27 -05:00
rusefi b9f0f2c592 need better higher-level API :( 2019-11-11 22:14:45 -05:00
rusefi bab1744d1d progress towards #961 2019-11-04 22:44:52 -05:00
rusefi 79fd7fc8ce kind of todo 2019-11-04 22:29:22 -05:00
rusefi 9cbdbb794e pieces of #971 2019-11-03 22:02:52 -05:00
rusefi 62577c47da preparation for #961
more unified access to pre-calculated value
2019-10-10 08:25:58 -04:00
rusefi 71e904e421 preparation for #961
more unified access to pre-calculated value
2019-10-10 08:16:21 -04:00
rusefi ca6e49dcbc preparation for #961
macro as a syntax sugar for method invocation
2019-10-10 07:28:52 -04:00
rusefi 42dc9e3662 fancy C++ s/NULL/nullptr/ 2019-10-08 01:26:35 -04:00
Matthew Kennedy faa2a481ea Simplify thermistor config (#962)
* simplify thermistor config

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

* add test

* doh
2019-09-27 21:40:36 -04:00
rusEfi dfd5b11c8f Revert "Fix sensor mocking bug (#956)"
This reverts commit 217081c1
2019-09-27 20:33:45 -04:00
Matthew Kennedy 217081c174 Fix sensor mocking bug (#956)
* actually reset

* add test
2019-09-27 20:21:50 -04:00
Matthew Kennedy ee5643f1bf 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 3bd1ddcc1f Sensors: composition >> inheritance (#953)
* functional sensors

* format

* tests

* sim makefile

* eol

* format tests
2019-09-24 21:11:41 -04:00
rusefi f600bbc6d7 ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 10:02:07 -04:00
rusefi 533087f475 ETB target is using integer values #945
refactoring - ADC mocking is a mess
2019-09-22 09:56:06 -04:00
rusEfi f843968636 ETB target is using integer values #945
first we will write a unit test
2019-09-22 00:16:46 -04:00
Matthew Kennedy f629ec038b 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 0829d70012 reducing complexity 2019-09-20 01:06:15 -04:00
rusefi 78b9e5a438 refactoring 2019-09-20 00:17:00 -04:00
Matthew Kennedy a20f353506 Kill Dead Code 2: Electric Boogaloo (#940)
* remove dead

* remove dead

* deflex
2019-09-18 20:23:14 -04:00
Matthew Kennedy 33d13a78fc remove sensor_types.h (#928) 2019-09-11 18:10:49 -04:00
rusefi 7922d79cde pedal calibration into status message 2019-09-02 22:58:36 -04:00
rusEfi daec071b6b mock PPS voltage command in addition to mock PPS position
ETB pane progress
2019-09-01 17:35:43 -04:00
rusEfi 3e852bfb1e showing 'before' values while changing TPS settings 2019-09-01 16:11:35 -04:00
rusefi 1ffaa8eea2 Live Data progress 2019-09-01 13:56:46 -04:00
rusefi fa51007994 typo 2019-08-31 23:32:33 -04:00
Matthew Kennedy 77075fce3d Fix some maf logic (#880)
* fix maf

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

* tests

* whitespace

* format
2019-07-09 21:16:36 +03:00
rusefi b81c60cf3e Refactoring: OS access should be explicit #867 2019-07-03 21:48:04 -04:00
rusefi b2dece5269 undoing wrong fix & better fix for #805
also generator logging improvements
This reverts commit f07f96599b.
2019-06-30 14:28:47 -04:00
rusefi 94cab4ffc2 Annotations in C++ code to produce formulas in rusEfi console #807 2019-06-30 13:24:55 -04:00
rusefi d9c3eba470 Annotations in C++ code to produce formulas in rusEfi console #807 2019-06-27 06:47:13 -04:00
rusefi b14757c4db docs/type safety 2019-06-19 21:24:09 -04:00
rusefi f07f96599b "Calibrate TPS" broken in TS fix #805 2019-06-17 22:00:34 -04:00
rusefi 717af8a681 TPS Live Documentation 2019-06-17 21:37:11 -04:00
rusefi a8f456b807
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 30847db935 adding support for smaller table axis 2019-06-10 12:38:32 -04:00
rusefi 5f642ac254 unit tests should not have global context, including mock values 2019-05-27 15:56:12 -04:00
rusefi 7b36fc951f messing with TPS mocking 2019-05-27 14:21:12 -04:00
rusefi d09bcad3e7 dreams of two ETBs 2019-05-05 12:02:42 -04:00
rusefi ac2a81d381 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 5ea6ac01f9 ETB tiny progress 2019-04-30 18:46:39 -04:00
rusEfi 7e099495c8 ETB micro progress 2019-04-30 01:21:09 -04:00
rusefi c8859d651c docs 2019-04-24 17:00:05 -04:00
rusefi 541c445a2d defined(__DOXYGEN__) ? #748 2019-04-12 22:07:03 -04:00
dron0gus 572d04a799 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 d94b6d74e7 better ICU error handling 2019-04-07 18:25:46 -04:00
rusefi 0a19060c94 docs 2019-03-17 18:11:03 -04:00
rusEfi 9a87b9e51b better Electronic Throttle body control #493 2019-03-11 00:31:06 -04:00
rusefi bc2a3c3de7 ETB quality instrumentation #494
set10K_4050K(ThermistorConf *thermistorConf)
2019-03-04 14:37:23 -05:00
rusEfi 6865fc343e new 'etbreset' command 2019-03-02 15:04:42 -05:00
rusEfi 27bf22f704 reducing warning noise 2019-03-02 13:04:26 -05:00
rusEfi 715b003124 typo 2019-02-27 17:13:05 -05:00
dron0gus 76fa11d5e2 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 feb5b28623 refactoring: duplicated import, already imported 2019-02-05 21:06:18 -05:00