Commit Graph

713 Commits

Author SHA1 Message Date
GitHub gen-configs Action d6a47afbae Auto-generated configs and docs 2023-02-21 02:39:44 +00:00
Andrey 44848d414a moving sensors files a bit 2023-02-20 21:37:07 -05:00
Andrey 20d10ea0bb moving sensors files a bit 2023-02-20 21:21:03 -05:00
GitHub gen-configs Action 08e8dbef79 Auto-generated configs and docs 2023-02-20 16:40:01 +00:00
rusefillc bb3b43f038 Native SENT TPS input #5079 2023-02-20 11:38:20 -05:00
Matthew Kennedy 30ea192129
fire a warning in case of wideband fault (#5109)
* fire a warning in case of wideband fault

* s
2023-02-20 03:42:40 -05:00
GitHub gen-configs Action 7317589d23 Auto-generated configs and docs 2023-02-15 00:56:39 +00:00
rusefi 108ca61ffb Native SENT TPS input #5079 2023-02-14 19:54:22 -05:00
Benas Brazdziunas f7aed24da9
dual ADC wideband support (#5007)
* Initial work on dual ADC wideband

* Added FunctionPointerSensor lambdaSensor2 and registered second sensor

* removed second sensor heater output. Only used for NB and probably can be shared with sensor 1

---------

Co-authored-by: benas-gavea <bbrazdziunas@gavea.co.uk>
2023-01-29 05:01:39 -05:00
Nathan Schulte 96b2195497
misc tidy (#4926)
* FrequencySensor: code-style

* smart_gpio: fix indent, tidy BOARD_EXT_GPIOCHIPS

tidy _GPIOCHIPS for #pragma message(STRING(BOARD_EXT_GPIOCHIPS output

* obd_error_codes: fix indent
2023-01-01 15:51:31 -05:00
Matthew Kennedy 466833d95a
ETB error counter logic (#4854)
* simplify ETB error counter logic

* dropped this: {

* happy test

* reorder logic, test etbErrorCode

* test that fails

* independent TPS and PPS counters

* missed a file

* happy test
2022-11-30 22:20:09 -05:00
Andrey 98e886e00b mock invalid & current state of ETB error counter 2022-11-29 20:36:03 -05:00
Andrey 3e6003f0ca refactoring: extracting method 2022-11-29 20:11:29 -05:00
rusefillc c3563ec577 ETB overheats due to constant isTpsError true/false/true/false jitter #4832
refactoring: extract method
2022-11-27 18:44:44 -05:00
rusefillc fc8a63b1db Nissan MAF 2022-11-10 11:25:19 -05:00
rusefillc ca86fdc580 Nissan MAF 2022-11-10 11:10:55 -05:00
rusefillc 6e5f38d035 Nissan MAF 2022-11-09 22:09:39 -05:00
rusefi f38809d186 Nissan 2022-11-09 20:58:09 -05:00
rusefillc d262fbfc2b Nissan 2022-11-09 20:39:11 -05:00
rusefi 9ccb0ccb0c https://rusefi.com/forum/viewtopic.php?p=46603#p46603
calling 'setTimeout' on bad self (cpp class not export)
2022-11-06 20:09:01 -05:00
Andrey G e7b06cbfca
compile warnings: signed vs unsigned and unused (#4713) 2022-10-30 09:47:53 -04:00
GitHub gen-configs Action 9549b2a4ee Auto-generated configs and docs 2022-10-28 01:19:55 +00:00
Matthew Kennedy de65a247d6
plumbing for dual MAP sensors (#4704)
* wiring for dual maps

* s
2022-10-27 21:15:04 -04:00
Matthew Kennedy dfe2ead2e7
prep for multiple MAP sensors (#4705)
* prep for multiple MAP sensors

* move guard

* sensor info printing

* maybe kinetis memory
2022-10-27 13:59:36 -04:00
Andrey b01082640b Revert "prep for multiple MAP sensors (#4677)"
This reverts commit b8c79b7881.
2022-10-26 21:25:02 -04:00
Matthew Kennedy b8c79b7881
prep for multiple MAP sensors (#4677)
* prep for multiple MAP sensors

* move guard

* sensor info printing
2022-10-26 18:06:20 -04:00
rusefi 7270735015 GM SENT ETB bench test in NJ #4688 2022-10-26 09:27:32 -04:00
GitHub gen-configs Action 911899e28a Auto-generated configs and docs 2022-10-24 16:46:53 +00:00
Matthew Kennedy f8a4d35d25
dual MAF sensors (#4697)
* add second MAF

* output channesl

* move them around

* ok let's try at the very end

* is the logic wrong, or something else?

* ooh it's the sensor order
2022-10-24 12:41:05 -04:00
GitHub gen-configs Action 4b52c5c49c Auto-generated configs and docs 2022-10-17 03:44:02 +00:00
rusefi 5df4a196af Lua aux gauge #4672 2022-10-16 23:38:24 -04:00
GitHub gen-configs Action 02261ef061 Auto-generated configs and docs 2022-10-12 01:03:24 +00:00
Matthew Kennedy 09ad5a738c
allow SD logging non-scaled_channel (#4657)
* allow SD logging non-scaled_channel

* comments and kick ci
2022-10-11 20:58:43 -04:00
rusefi eda1ec70da FrequencySensor::showInfo 2022-10-05 23:39:19 -04:00
rusefillc 05b84d21e6 auxSpeed1 2022-09-20 23:00:42 -04:00
GitHub gen-configs Action 8729d705c2 Auto-generated configs and docs 2022-09-19 16:23:04 +00:00
rusefillc 6e543355a7 useBiQuadOnAuxSpeedSensors 2022-09-19 12:13:20 -04:00
rusefillc 2144afe405 moving confusing around 2022-09-19 12:00:01 -04:00
Andrey a0b52eeb2f different file names for different entities 2022-09-04 23:11:19 -04:00
GitHub gen-configs Action d2bd952cb3 Auto-generated configs and docs 2022-08-22 14:54:09 +00:00
rusefillc 394126b046 Pavel Xenon is asking for EGT limping mode #3172 2022-08-22 10:48:54 -04:00
rusefillc f3a1e668eb EGT nothing 2022-08-14 18:36:09 -04:00
Matthew Kennedy bdcbe3804b
ignore invalid diag result when checking ign/inj (#4419)
* ignore invalid pins

* ign too
2022-08-06 07:24:53 -04:00
Matthew Kennedy 2096a22319
report injector, ignition faults (#4408)
* report injector, ignition faults

* guard
2022-08-01 15:41:47 -04:00
Matthew Kennedy b6f1779781
implement sensor checker (#4395)
* implement sensor checker

* use default

* s

* fix

* properly report non-timeout errors

* it's not safe to read Value when invalid

* it's not safe to read Value when invalid
2022-07-30 17:08:48 -04:00
rusefillc 1e983d31e8 HOW to configure CAN-based accelerator pedal #4369
docs
2022-07-28 09:37:24 -04:00
Matthew Kennedy 923d2c2e44
unexpected contains information about why it failed (#4393)
* unexpected can contain information

* info printing

* sensors return appropriate error codes

* remove reliance on undefined behavior

* s
2022-07-28 10:04:28 +03:00
Matthew Kennedy 41318e0f9d
detect bad Lua sensor name when registering (#4391)
* format

* lua error on bad sensor

* comment

* name validation

* soft check before the hard check causes a fatal error

* s
2022-07-27 12:41:21 +03:00
Matthew Kennedy b99d90b006
Start -> start (#4366) 2022-07-21 15:17:32 -04:00
Matthew Kennedy a0d8ae3f4f
use libfirmware for a few things (#4351)
* use libfirmware

* unit tests

* crc

* missed one

* bootloader
2022-07-16 02:22:51 -04:00
rusefillc 67ec949eb6 Lua A/C Input #4333 2022-07-08 00:51:53 -04:00
GitHub build-firmware Action 55b9e384cf Auto-generated configs and docs 2022-06-24 00:20:41 +00:00
Matthew Kennedy 29420c76aa
wideband live data (#4276)
* wideband live data magic

* test build happy

* test even happier
2022-06-23 20:04:26 -04:00
Matthew Kennedy 253b779c26
fuck (#4245) 2022-06-09 14:01:36 -04:00
Matthew Kennedy dc2fb765a9
rewrite tps init, check if your primary/secondary sensors are too similar (#4231)
* rewrite tps init

* staticstaticstaticstaticstaticstaticstatic
2022-06-04 12:07:28 -04:00
Matthew Kennedy a5eb91f1b7
update wideband firmware (#4186)
* use header from wideband

* update wideband

* we can use master now
2022-05-29 13:49:51 -04:00
Matthew Kennedy ba35749238
proteus-friendly VR threshold logic (#4180)
* proteus-friendly VR threshold

* ddddddddddddddddddd
2022-05-17 21:35:43 -04:00
rusefillc df7a6d1367 default VR curve is needed not just by hellen, we have Proteus adapters with it now! 2022-05-17 17:54:11 -04:00
rusefillc cbc4a42954 Maintenability: frequency sensors need a simple event counter in the logs #4173 2022-05-14 08:39:08 -04:00
rusefillc 683a723d2f
CAN category (#4148)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-05-09 16:49:23 -04:00
Matthew Kennedy e13dad3a2a
support better wbo format (#4000)
* new format

* comment

* pr feedback

* heater duty

* extra

* comment

* test multi-accept logic

* s

* test new format

* this comment made no sense

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-05-07 02:19:51 -04:00
Andrey e62877964a Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
Matthew Kennedy e4a0979dc2
Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
Matthew Kennedy c3fb211d6b
fix vss/iss filter parameter validation (#4114)
* fix filter parameter validation

* use values that don't get clipped
2022-04-27 22:29:51 -04:00
rusefillc 442d829f8a [EPIC] [Feature Request] Transmission Control #1454 2022-04-25 17:42:19 -04:00
GitHub build-firmware Action 786ec5a4dd Auto-generated configs and docs 2022-04-21 13:14:29 +00:00
David Holdeman 1747b6a6e6
Add ISS sensor, rearrange some transmission config (#4089)
* move other solenoids to new dialog

* change name of menu item

* move buttonshift to new dialog

* add ISS config

* add some iss code

* add iss output

* de-init ISS
2022-04-21 09:07:52 -04:00
Matthew Kennedy 16de438ab8
knock threshold table fix (#4077)
* fix knock threshold table

* defaults

* knock controller is engine module

* testable

* test builds

* knock tests work

* s

* format

* everyone loves changelogs
2022-04-18 08:03:16 -04:00
rusefillc c023056d2d very random progress 2022-04-16 16:49:59 -04:00
rusefi 889add866f random docs 2022-04-09 17:53:24 -04:00
Matthew Kennedy baef88d1c7
make the vss fliter parameter work again (#4056)
* vss has adjustable filter

* tooltip and validate

* s
2022-04-09 09:00:19 -04:00
GitHub build-firmware Action cd161f1b79 Auto-generated configs and docs 2022-03-29 06:15:02 +00:00
rusefillc 8e8bc718e2 [EPIC] [Feature Request] Transmission Control #1454 2022-03-29 02:06:58 -04:00
rusefillc 48b96bc6dc reducing code duplication 2022-03-28 23:54:14 -04:00
rusefillc 536ccb4001 reducing code duplication 2022-03-28 23:30:37 -04:00
GitHub build-firmware Action 6e20324be1 Auto-generated configs and docs 2022-03-21 00:20:26 +00:00
Matthew Kennedy be47bc1b37
aux linear sensors (#4005)
* aux linear sensors

* comment

* kick build

* fix alignment

* fix alignment
2022-03-20 20:13:04 -04:00
Matthew Kennedy 4e57daf6d7
test AEM X-Series wideband protocol (#4002)
* break out acceptFrame, test CanListener

* test AEM xseries protocol

* tweaks

* tweaks

* maybe everyone compiles happily now
2022-03-15 15:52:50 -04:00
Matthew Kennedy c6f45c5022
warnings fixes (#3851)
* unused things

* !!! actual bug !!!

* dead

* unused

* unused

* multi-bus lua RX was just broken

* make the compiler angry about it

* dead config

* alphax 2

* just call, no store

* compiler too angry
2022-01-31 18:37:42 -05:00
rusefillc 146d386d4e pedal calibration 2022-01-27 20:10:55 -05:00
GitHub build-firmware Action a73f5559dc Auto-generated configs and docs 2022-01-27 21:59:17 +00:00
Matthew Kennedy d65652d7bc
vss and flex are filtered (#3839)
* vss and flex are filtered

* turbo

* freq sensor test
2022-01-26 17:33:04 -05:00
Matthew Kennedy f5d4690fe1
baro fully in sensor model (#3829)
* consumers and api

* dead test

* baro uses sensor model

* remove old (copy of?) map lookup logic

* I guess we don't need FastInterpolation any more?

* don't double init analog input
2022-01-23 09:42:11 -05:00
Andrey 3b6ecb432b migrating to SensorType::Rpm API 2022-01-20 22:38:08 -05:00
rusefillc 0a31061da7 Revert "support better wbo format (#3740)"
This reverts commit cc9fdd97
2022-01-15 23:02:11 -05:00
Matthew Kennedy cc9fdd9757
support better wbo format (#3740)
* new format

* comment

* pr feedback

* heater duty

* extra
2022-01-07 16:04:30 -05:00
rusefillc c9e41d8f18 mk files refactoring 2022-01-06 21:48:21 -05:00
Matthew Kennedy 04984859ab
log channel improvements (#3710)
* WB info

* fix a bunch of unsigned vs signed, move some TPS stuff too

* s
2021-12-21 18:09:40 -05:00
rusefillc 47cde8801c 2 byte table axis #3045 2021-12-20 02:07:03 -05:00
Andrey 940b04ab24 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
Matthew Kennedy 3a95e86112
calculate per-cylinder ignition timing (#3652)
* simplify cylinder phasing

* per cylinder timing

* s

* s

* s

* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
Matthew Kennedy d5363b814a
better VSS configuration (#3542)
* vss uses real values

* some defaults

* test and correct math

* km, not miles!

* comment

* tooltip

* that macro went away

* 100hz and default settings gives 9kph

* changelog

* order of operations safety

* make the test like the pwm test

* housekeeping

* this is why we need sensor automation

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-27 08:49:07 -05:00
Matthew Kennedy 29613ec403
fast exti interrupt handoff (#3497)
* fast exti

* test code snuck in

* full interrupt disable :(

* do it the old fashioned way

* enable interrupt

* consume stored timestamp

* dead

* h7 maybe

* guard maybe

* non-stm32

* exti 16 wrong on f4/f7

* CORTEX_MAXIMUM_PRIORITY

* safer but uglier

* s

* chibios

* no const

* initializers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 06:37:52 -05:00
Scott Smith 69d36dad6e
Final cleanup of ENGINE macros (#3567)
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
2021-11-17 13:45:10 -05:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith cc95bd6c8e
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* (#3560)
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*

for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
    git grep -l "$i" | xargs sed -i "s/$i//g"
done

git grep -l "inject" | xargs sed -i "/inject[(][)]/d"

for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
    git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done

git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h

* Review fixups.
2021-11-16 16:52:11 -05:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Matthew Kennedy cb032fb1ea
(void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
rusefillc 0722d6280d MAP phase sensing #3544 2021-11-14 21:24:59 -05:00
Matthew Kennedy 24224729a3
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 75a2b5ef02
Knock retard (#3396)
* output gauge

* knock controller

* don't need that

* inject engine ref

* test knock

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
Matthew Kennedy e8d612eef8
can vss (#3402) 2021-10-24 19:04:47 -04:00
Matthew Kennedy 8a841bb52c
lua can set sensors (#3389)
* add sensor unsubscribe

* sensor hook

* test it!

* virtual destructor makes us sad

* ensure deinit
2021-10-22 16:36:29 -04:00
Andrey 37594d5646 findSensorTypeByName 2021-10-20 22:21:42 -04:00
rusefillc ffc4e97ba5 enum reader progress 2021-10-20 21:46:43 -04:00
GitHub build-firmware Action 9b5d7e24eb Auto-generated configs and docs 2021-10-19 23:54:00 +00:00
rusefillc 3a7013a72c Aux analog inputs via CAN #3378 2021-10-19 19:48:18 -04:00
rusefillc e68568b766 docs 2021-10-19 11:05:20 -04:00
rusefi 52cb9e8c46 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
java version of the enum
2021-10-16 18:15:10 -04:00
rusefi 0635060e4f refactoring - auto-generating names 2021-10-16 17:49:02 -04:00
rusefi d438f9f9cb refactoring - making enum compatible with tools 2021-10-16 17:37:32 -04:00
Matthew Kennedy 9797d25b7c
getOrZero (#3319) 2021-10-05 19:59:07 -04:00
rusefillc 4901a69d17 https://rusefi.com/forum/viewtopic.php?p=42468#p42468 2021-10-04 18:43:37 -04:00
Matthew Kennedy 9806373dac
dead map (#3316) 2021-10-04 18:33:10 -04:00
Matthew Kennedy db12cdbe19
put MAP in the sensor model (#3292)
* map averaging in sensor model

* deadly, deadly code!

* mpxh

* Revert "deadly, deadly code!"

This reverts commit 346fe25267966a313145a809792dced84be348cf.

* comments

* sensor types

* last sensor

* channel init

* correct spot

* deinit properly

* simplify

* fix

* mocks

* map init test

* showInfo

* comment

* singleton identity function

* sensor info print

* multiple cylinder averaging buffer

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-04 17:18:08 -04:00
rusefillc f4dbcbf84f MPXH6400 CALIBRATION #3288 2021-09-30 21:53:31 -04:00
rusefillc f9f15e28d6 MPXH6400 CALIBRATION fix #3288 2021-09-30 21:44:50 -04:00
rusefillc aedc586017 MPXH6400 CALIBRATION #3288 2021-09-30 21:34:23 -04:00
Matthew Kennedy 4b6a67f8f0
bye frequency map (#3285)
* bye freq map

* map.cpp

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-30 00:20:21 -04:00
Matthew Kennedy 5de27e0b92
more knock sense unification (#3250)
* more unification

* hip stub

* comment

* guard

* channel idx

* include

* hip

* move in to engine

* hip9011
2021-09-21 17:39:21 -04:00
Matthew Kennedy bf98546314
share some knock logic (#3246)
* knocky knock

* only if TS

* typo

* merge
2021-09-20 16:10:34 -04:00
Matthew Kennedy b5bde5c307
Turbo sensor (#3245)
* outputs rpm

* no msg param necessary

* new sensor type

* happy test
2021-09-20 15:39:41 -04:00
Matthew Kennedy 0e2af73e9c
Knock count (#3240)
* knocky knocky

* check the right thing

* improve operator

* TS

* s

* bbbbb
2021-09-20 14:27:26 -04:00
alxrMironov bb341c4c07
Turbo speed sensor implementation #2935 (#3209)
* Add turbocharger speed converter class

* Add turbocharger speed converter tests

* Add turbocharger speed sensor initialization functions

* Add turbocharger speed sensor to initialization

Co-authored-by: alxrMironov <330OMcorporative>
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-09-19 20:50:11 -04:00
rusefillc 3e50319eb7 merc128: engine config defaults #3236 2021-09-18 21:27:17 -04:00
rusefi eb13c54cd5 refactoring: VR magic constant, should be 3 anyway 2021-09-13 12:32:42 -04:00
rusefillc 48a009fc33 Revert "Revert "memory savings (#3195)""
This reverts commit 0b3ef5f5
2021-08-27 06:18:05 -04:00
rusefillc 0b3ef5f553 Revert "memory savings (#3195)"
This reverts commit 52a24ee7
2021-08-27 02:32:31 -04:00
Matthew Kennedy 52a24ee773
memory savings (#3195)
* d

* dead code

* all your ram are belong to me

* turn off gpiochips we don't need

* save

* save by using the same file handle

* smaller stack ok

* these can be on the stack

* this is closer

* what about ccm?

* probing available

* now probe ccm

* ccm

* put stuff in ccm

* fsio

* memory usage

* memory
2021-08-26 23:05:31 +03:00
alxrMironov f926d2ccba
Vehicle speed switching to frequency sensor #3106 (#3148)
* Add vehicle_speed_converter.h with realization.

* Add test_vehicle_speed_converter.cpp with realization.

* Add test_vehicle_speed_converter.cpp to Makefile

* Edit "VehicleSpeedSensor" from function pointer sensor to frequency sensor

* Fix "VehicleSpeedSensor" init function args

* Remove "VehicleSpeedConverter" empty constructor

* Edit vehicle_speed_converter.h code style

* Fix args and engine injection in "VehicleSpeedSensor" initialization procedure

* Remove old "Vehicle Speed" module initialization

* Revert "Remove old "Vehicle Speed" module initialization"

This reverts commit 100b7caa8c615c20eed3d0c23a49824b4e556148.

* Remove old "Vehicle Speed" module initialization pieces

* Revert "Revert "Remove old "Vehicle Speed" module initialization""

This reverts commit f559a726f1f7f5a7acacd1b6517e571743e84327.

* Debug changes

* Revert "Debug changes"

This reverts commit f7e2be1a8a46c6f3f93f14f002b2f2db539da8e2.

* Another debug changes

* More debug changes

* And more debug changes.

* Revert "Another debug changes"

This reverts commit 914fbb1df42c37e4b5ecbb119bb45e7cffdf4064.

* Revert "More debug changes"

This reverts commit 0b2d96d461c3cd9b0f1ae97ed110b8effe6b0cc6.

* Revert "And more debug changes."

This reverts commit 06ae8daded0e6e1c025e4e5058b47283f4adfe92.

* Add "Vehicle Speed" sensor reconfiguration

* Revert "Add "Vehicle Speed" sensor reconfiguration"

This reverts commit a089a6d563dd710004ce1a7da1744b0b4b90c3b1.

* Revert "Revert "Add "Vehicle Speed" sensor reconfiguration""

This reverts commit 7b2bb8af4b3caa547236ca59e4c4bdb3ac1200cc.

* Debug changes

* Another debug changes

* Fix another debug changes

* Another debug changes 2

* Revert "Another debug changes 2"

This reverts commit cfad55141eec125b2f1d35fb95d9f46b54f666b6.

* Revert "Fix another debug changes"

This reverts commit 9bc2c74a3be6fd896827ff48cf4580e7657529c0.

* Revert "Another debug changes"

This reverts commit 4337ed8cad8dff508d093944eb3f75e9a69e4a77.

* Edit class  FrequencySensor, make it more RAII

* Debug changes

* Debug changes 2

* Debug changes 3

* Revert "Debug changes 3"

This reverts commit 52a7054c122b5157540fe45a055a84b57478d722.

* Revert "Debug changes 2"

This reverts commit dec79fb913344ccb4b8614910ad62e6c129a243e.

* Revert "Debug changes"

This reverts commit eb08d7a529b55ba397a7dd2c154b76eab42f212b.

* Revert "Edit class  FrequencySensor, make it more RAII"

This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.

* Remove VSS pin definition in "Citroen Berlingo" engine config.

This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.

* Remove VSS pin definition in "Dodge Neon" engine config

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-24 00:55:41 -04:00
CrazyStriker 2a5acfb807
updated OEM map sensor values for Mazda 1 bar (#3185)
according to measurements
2021-08-21 18:31:05 +03:00
Matthew Kennedy ec9dcce377
de init frequency sensor (#3183)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-21 09:02:05 +03:00
Matthew Kennedy 70dfd4af78
inhibit sensor timeout during flash (#3146)
* inhibit timeout during flash

* do it up a level

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-15 23:04:58 +03:00
Matthew Kennedy 045db15dac
implement adc unsubscription (#3149)
* allow re-register of the same sensor

* adc unsub
2021-08-14 15:41:27 +03:00
alxrMironov 7ebebd6922
Begin "vehicleSpeed" refactoring. Module switched to "FunctionalPointerSensor" class. #3106 #3107 #3108. (#3132)
* Add new sensor type "VehicleSpeed"

* Add "Vehicle speed" sensor to name list

* Add Vehicle speed sensor initialization with function pointer sensor.

* Add init_vehicle_speed_sensor.cpp to Makefile

* Replace dependencies from "getVehicleSpeed" to OOP-like "Sensor::get()"

* Add warning and TODO to "mock vehicle speed" call

* Replace get & mock "VehicleSpeed" methods in tests

* Remove #warning directive (cause error by current settings)

* Remove stray tab

* Remove explicitly type casting.

* Add "InitVehicleSpeedSensor" function declaration to init.h

* Add "VehicleSpeedSensor" initialization call into "InitNewSensors"

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-12 22:16:51 +03:00
rusefillc cc9b8ffa98 Implement auto knock threshold sampling #3033 2021-08-10 06:42:39 -04:00
rusefillc 63e53aebc0 Implement auto knock threshold sampling #3033 2021-08-09 17:07:38 -04:00
rusefillc 4c7e8560e0 refactoring: reduce magic constant 2021-08-09 16:33:06 -04:00
Matthew Kennedy d24f1462e2
even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy 25414ebdad
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 fcd6c3d520
fix the mess (#3094)
* test

* s
2021-08-01 23:21:53 -04:00
rusefillc ba2d2a0eac header dreaming about file summary comment 2021-08-01 21:52:58 -04:00
rusefillc 50b7bf6b67 typo 2021-08-01 21:51:24 -04:00
Matthew Kennedy 2b5b669807
refactor out frequency sensor (#3092)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-01 15:58:39 -04:00
Matthew Kennedy 5373594bb7
discrete VR threshold control (#3061)
* vr pwm

* rename

* scaling and ui

* hellen pin

* s

* math

* ooh, pch

* happy test

* not magic
2021-07-28 07:44:44 -04:00
Matthew Kennedy b52d50bbf2
Use pch in lots of files (#3066)
* most engine.h

* most engine_configuration

* more

* more

* more

* more

* more

* moooooore

* ok I'm done for now

* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy 2ce7777865
don't require EXTERN_ENGINE in every file (#2969)
* move enginePins

* no more extern engine

* uses

* more

* extern config too

* put this where it belongs

* include correct header

* merge
2021-07-16 18:13:33 -04:00
Matthew Kennedy 64177cf899
put names in flash (#2939)
* put names in flash

* probing freed ram

* this one too

* probing memory

* more like that much
2021-07-09 17:05:16 -04:00
Matthew Kennedy 5e08907590
knock sensing peak detect (#2910)
* knock peak detect

* comments

* comment

* initialize

* test

* fix warnings while we're here

* those are functions, not values

* ram
2021-07-06 21:44:59 -04:00
Andrey 67f9e5a595 forgotten MPX4100 sensor 2021-06-13 20:30:51 -04:00
Andrey a762853d3b refactoring magic constant STOICH_RATIO 2021-05-20 02:39:20 -04:00
Matthew Kennedy 9b0c7ff693
explicitly test PTC thermistors (#2681)
* test ptc

* allow hotter for air cooled people

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-05-10 18:15:09 -04:00
Matthew Kennedy 4474f9f1c2
Maf in sensor model (#2672)
* init

* consumers

* hasMafSensor

* consumers

* remove

* remove

* s

* guard

* tiny bit of ram

* ram
2021-05-09 20:59:06 -04:00
Matthew Kennedy 5ba7577496
move FSIO aux analog inputs to sensor model (#2669)
* sensor entries

* init

* non-explicit for list init to work

* switch fsio

* no longer need this lua hook

* init
2021-05-09 19:47:37 -04:00
Matthew Kennedy 99fe310a35
sensor_type values (#2604)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-29 07:43:46 -04:00
Matthew Kennedy f3a2af9c74
make wideband log fields match what it's actually sending (#2593)
* make log fields match what it's actually sending

* update wb firmware

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-28 18:28:29 -04:00
Matthew Kennedy bd1c84fa62
Logging remove 3 (#2568)
* ts logger

* sensors

* wideband too

* missed one

* init

* motors, pid, etc

* vvt

* more

* idle

* missed one

* dynoview

* launch

* can

* console IO

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-20 14:09:41 -04:00
Matthew Kennedy 5145ee4b62
logging cleanup 2: sensors, pid, etb, etc (#2567)
* ts logger

* sensors

* wideband too

* missed one

* init

* motors, pid, etc

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 20:02:32 -04:00
Matthew Kennedy 46e38447e5
Ford redundant ETB tps (#2519)
* ford tps

* configurable maximum

* initialization

* check consistency when in the low range

* print info

* default

* config field

* config parameter

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-05 15:57:03 -04:00
Andrey G fa840a7593
hip9011 and friends (#2527)
* engine math: extrant getFiringOrderTable for reuse

* engine math: getNextFiringCylinderId helper

* introduce knock_logic: first member is getCylinderKnockBank()

moved from software_knock.cpp

* hip9011: support two inputs/banks

* fix CI

* Board Subaru EG33: populated with TPIC8101 with Advanced mode

* hip9011: test communication in advanced mode

* hip9011: handle situation when chip is already in advanced mode

* Board Subaru EG33: cylinder to knock bank mapping

* hip9011: count spi transactions in advansed mode too

* hip9011: reset incalid responce counter after chip initialization

* hip9011: make debug output more structured
2021-04-04 18:13:21 -04:00
Matthew Kennedy c637307238
not all listeners are sensors (#2514)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-31 22:51:49 -04:00
Andrey G 3d138958ce
Hip9011 (#2512)
* hip9011: coexistance with other spi devices

* hip9011: rework so SPI transfer is invoked from thread

also use polling spi exchange to avoid cache problems

* hip9011: move calculations from ADC callback to thread

* hip9011: big cleanup

* hip9011: simplify spi communication

* No need to set knockBandCustom if it is not custom

HIP9011 calculates knockBand from cylinderBore same way

* hip9011: make unit test happy

* hip9011: fix unit test

* hip9011: remove duplicated initialization, reorder

* hip9011: just renames and data type adjustments

* hip9011: rename BAND() to HIP9011_BAND()

* hip9011: move some code from lookup.cpp to logic.cpp

* hip9011: move initEngineNoiseTable to engine_configuration.cpp

* hip9011: move lookup tables to hip9011_logic.c

* hip9011: remove empty files

* hip9011: additional checks
2021-03-30 10:56:25 -04:00
Matthew Kennedy 31ef22eecb
use cpp (#2493) 2021-03-25 18:12:17 -04:00
Matthew Kennedy 95b08c433f
Implement nonlinear fuel level sender (#2473)
* table function

* config fields

* sensor type

* switch consumers

* init the sensor

* ui

* 1mv resolution

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-19 08:39:08 -04:00
Matthew Kennedy 3072d54717
dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
Matthew Kennedy 2328c1be6b
Fuel pressure sensor checks (#2449)
* test for missing sensor

* test negative pressure delta checking logic

* test new hasSensor logic
2021-03-12 23:32:41 -05:00
rusefillc c7d8997a3a vBatt -> SensorType::vBatt #2260 2021-03-11 22:44:59 -05:00
Matthew Kennedy 40c4238f13
enable CAN on H7 (#2393)
* enable

* guard correctly

* h7 bit timing

* allow longer frames

* allow data smaller than maximum

* mcu temperature

* typo

* tx message

* testing

* check for CAN or FDCAN

* don't need that any more

* h7 bitrate config

* undo testing

* h7-ify msg tx

* comment

* break out SID/EID macros

* guard differently

* update ChibiOS

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-09 18:54:01 -05:00
Matthew Kennedy 3d17e62d65
finish off vbatt -> sensor model (#2433)
* more vbatt

* s

* goodbye voltage

* makefile

* apparently that part was in use

* include

* mocking
2021-03-07 20:18:32 -05:00
Matthew Kennedy 6aaf02be15
hook up lps25 on proteus (#2418)
* hook up lps25

* it would help to include all the files

* unguard some stuff

* unguard more

* guarding

* s

* guard

* only register if init worked

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 22:39:20 -05:00
Matthew Kennedy b1873b3d8b
set all thread priorities in the same place (#2412)
* unify thread priority

* header

* mmc
2021-02-28 07:30:45 -05:00
Matthew Kennedy 4a1d3de9a6
remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy 878794f9cf
properly put buffers in no-cache regions (#2357)
* configure for no cache

* this doesn't need a setting

* now we don't need invalidate

* reorder and comment

* mmc

* sw knock
2021-02-15 17:39:11 -05:00
Matthew Kennedy 7d3cadfc87
baro in sensor model (#2306)
* baro in sensor model

* missed

* typo

* init baro

* needs an include there
2021-02-07 17:54:41 -06:00
Matthew Kennedy 5ceeac93e9
put vbatt in sensor model (#2261)
* vbatt in sensor model

* sensor name

* vbatt

* s

* oy vei

* a little bit of cleanup

* memory apparently

* cj125 test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-03 07:55:40 -06:00
Brenton Hewitt 9d9c3c266d
Gm map sensors (#2265)
* GM 2 and 1 Bar Map Sensors

* GM MAP Sensor Selection Options
2021-02-02 08:15:28 -06:00
Andrey G 777979c3ca
Chibi os 20 (#2212)
* Update ChibiOS

* Fix Makefiles includes paths

* halconf.h: remove flash hack

* mcuconf: fix EXTI ptiorityes

* Digital Input: ICU: use designated initializers, initialize 'arr'

* ChibiOS: lis302dl fix

* ADC: update to new API

* UARTConfig: timeout_cb field, formating

* ChibiOS: remove _exit, _kill, _getpid

* Fix lis302dl

* Bump config versions

* chconfig_common: cosmetic changes

* stm32f4ems: commulative config update

* Update Simulator

* ALLCSRC already contain all needed ChibiOS files.

Same for ALLINC and ALLCPPSRC

* ChibiOS fix for Simulator

* ChibiOS: port lock/unlock hook and MMC over SPI timeout

* STM32F7: update configs

* STM32F7: update linker file

* Cypress: port ADC lld to ChibiOS-20

* Cypress: port SPI lld to ChibiOS-20

* Cypress: port CAN lld to ChibiOS-20

* Cypress: fix include path for rules.ld

* Cypress: update chconf.h and halconf.h for ChibiOS-20

* Kinetis: update ADC lld to ChibiOS-20

* Kinetis: update SPI lld to ChibiOS-20

* Kinetis: update UART lld driver for ChibiOS-20

* Kinetis: update chconf.h and halconf.h for ChibiOS-20

* Kinetis: fix include path for rules.ld

* Nucleo F746: update ld script

* Nucleo F746: fix compile

* Bootloader: fix compilation with ChibiOS-20, cleanup

* Bootloader: add way to pass crosscompiler using CROSS_COMPILE

* Debug build arguments

* Simulator: fix windows compilation

Exclude syscalls_cpp.cpp from compilation
2021-01-19 15:20:35 -05:00
rusefillc 717e36a7a4 todo: reduce magic constants 2021-01-14 22:34:06 -05:00
Andrey G 25560b85c2
Supress annoing unused warnings (#2216) 2021-01-11 08:49:20 -05:00
Andrey G 2af32084f4
gpio helper (#2195)
* gpios: isBrainPinValid helper

* LCD HD44780: do not touch pins if DM_NONE or invalid gpio

* Fix isEnabled checks for GPS and Joystick

* LCD HD44780: writePad use this method wider
2021-01-08 20:01:26 -05:00
Matthew Kennedy 44b5427813
better error checking of thermistor config (#2199)
* add bounds check on result

* validate thermistor config

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-07 20:37:15 -05:00
Matthew Kennedy 20a967edf1
Implement flex sensor (#2189)
* config & ui

* stub sensor

* stub init

* output channel, gauge, SD log

* linky linky

* fix

* add sensor & init

* clamp

* update comment

* filter the resultant signal

* changelog

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 17:13:56 -05:00
Andrey G b92e3086d0
Adc isAdcChannelValid helper (#2188)
* Guard define argument

* ADC: isAdcChannelValid

Check for both <= EFI_ADC_NONE and >= EFI_ADC_LAST_CHANNEL
Also check for value out of enum range (corrupted settings)

* Fix unit tests
2021-01-05 16:02:20 -05:00
Matthew Kennedy edee10ee1c
Flex fuel stubs (#2187)
* config & ui

* stub sensor

* stub init

* output channel, gauge, SD log

* linky linky

* fix

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 07:57:26 -05:00
Matthew Kennedy acdf6fdc85
Put map in the sensor model (#2161)
* hook up map

* check for init

* switch some consumers

* don't do limp for now

* oops

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-30 08:43:49 -05:00
rusefi 521e561d4b removing warning? 2020-12-28 19:19:11 -05:00
Matthew Kennedy 6151f8c334
extra data for rusEfi wideband controller (#2082)
* add config

* logic

* remove old

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-16 18:25:11 -05:00
rusefillc b41ca74386 clang warnings again #2055 2020-12-11 12:50:10 -05:00
Matthew Kennedy a08e79789d
second lambda (x-series CAN only, for now) (#2048)
* add sensor

* second sensor

* switch sensor name

* gobblin up your memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-09 20:26:23 -05:00
rusefi ac186d2b85 Merge remote-tracking branch 'origin/master' into master
# Conflicts:
#	firmware/controllers/engine_cycle/high_pressure_fuel_pump.cpp
2020-12-08 21:37:45 -05:00
Matthew Kennedy bad0e6b949
require redundant TPS for ETB (#2041)
* Require redundant tps for ETB (#2037)

* mod sensor api

* require redundancy

* fix tests

* check that it fails

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>

* add a test that fails but should not

* fix the bug

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-08 06:24:20 -05:00
rusefi bb3cb0ba22 Revert "Require redundant tps for ETB (#2037)"
This reverts commit 4f1085a8
2020-12-07 01:11:32 -05:00
Matthew Kennedy 4f1085a87a
Require redundant tps for ETB (#2037)
* mod sensor api

* require redundancy

* fix tests

* check that it fails

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-07 00:05:06 -05:00
Matthew Kennedy c5e3657d45
don't duplicate sensor error logic (#2032)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 15:00:30 -05:00
Matthew Kennedy 9ccda6bbe7
add isRedundant (#2031)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 14:55:06 -05:00
Matthew Kennedy 2d9be1077b
require TPS values to be different (#2017)
* require values to be different

* fix not

* oops

* missed another spot

* test negative cases too

* resets

* test no sensor case

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 00:41:49 -05:00
Matthew Kennedy de4990bfa2
encapsulate entry logic in to entry (#2018)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-05 10:16:52 -05:00
rusefi 8ee609fa3e Merge remote-tracking branch 'origin/master' into master 2020-11-29 12:51:04 -05:00
Matthew Kennedy 922f0249d2
squash warnings (#1984)
* warnings

* unused

* a few more

* too much

* uint16_t-ify
2020-11-23 09:43:16 -05:00