Commit Graph

1399 Commits

Author SHA1 Message Date
Andrey 0d46d96e46 subaru 7/6 progress based on https://rusefi.com/forum/viewtopic.php?p=41021#p41021 2021-05-26 05:22:13 -04:00
Andrey e4497358f5 Override trigger gaps feature #2734 2021-05-25 17:19:20 -04:00
Andrey 9b7c9afb3b Trigger: warning code on normal engine start up #669 2021-05-24 06:03:58 -04:00
Andrey 575d2fda85 More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-23 18:59:08 -04:00
Andrey 27ada27639 More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-23 18:49:48 -04:00
Andrey 3ab4ee9ea5 More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-21 11:07:59 -04:00
Matthew Kennedy 68ad12da53 convert a table to scaled_channel (#2724)
* scaled VE table

* use setTable

* efi::clear

* ratio -> struct
2021-05-20 20:00:32 -04:00
Matthew Kennedy 6bfaed64db lua pwm hooks (#2687)
* pwm hook

* dedicated pins

* write hook

* UI

* more info

* zero based, clamp

* memory

* don't compile lua in bootloader at all
2021-05-20 19:01:17 -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 4b69e7d441 compile gpiochips as cpp (#2702)
* rename

* core

* structing

* more

* makefile

* structing

* 6240 compiles

* explicit cast instead of implicit narrowing

* 8888

* no extern C

* fix tests build

* extern "C"

* 33810

* 8860

* 33810

* linker

* unbreak master

* don't need that if compiling as C++

* bump config

* fix test

* tests

* unit tests bad merge

* build

* move subaru logic to cpp file

* cpp goodness

* hpp include

* this is probably the right thing to do

* simulator
2021-05-17 08:42:56 +03:00
rusefillc bdf4766343 helping jenkins 2021-05-16 11:35:05 -04:00
Andrey G a441ff17a3 Hw layer rearrangement (#2707)
* Fix unit_tests

* simulator: fix redifinition of TS_PRIMARY_SERIAL warning
2021-05-16 15:19:34 +03:00
Andrey 9c352b4d99 More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-15 16:21:24 -04:00
Andrey 06bdf52b3c More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-15 05:27:33 -04:00
rusefillc eecfcd9e0e More low-level firmware coverage for the simulator/unit-tests #2656 2021-05-14 10:58:53 -04:00
Matthew Kennedy 0c03a1cb4a const airmass (#2694) 2021-05-14 07:17:22 -04:00
Matthew Kennedy 9307ab6b1e 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 1aed5c6ae2 remove intermediate buffer (#2668)
* remove define

* goodbye intermediate logging buffer

* free ram! woo!
2021-05-10 08:01:24 -04:00
Matthew Kennedy 76f2f063d2 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
Andrey 1e887f5ecb unit tests usability: overwriting an existing profile data with a different timestamp fix #2650 2021-05-07 22:33:26 -04:00
rusefillc 77c28c6969 Break out unit tests #2627 2021-05-07 22:14:22 -04:00
rusefillc ab9d248254 Break out unit tests #2627 2021-05-07 17:45:26 -04:00
rusefillc effcf3616b Break out unit tests #2627 2021-05-07 17:43:24 -04:00
rusefillc f458b6588a Break out unit tests #2627 2021-05-07 17:18:18 -04:00
rusefillc e0f8cfaca1 Break out unit tests #2627 2021-05-07 12:36:30 -04:00
Matthew Kennedy 37a3de07cf remove stateChangeCallback from simplepwm (#2644)
* remove callback parameter from cj125

* remove from ext

* remove stateChangeCallback

* alt doesn't need that

* demorgan

* remove call

* bad cut/paste

* check the actual pin in the test
2021-05-07 09:38:41 -04:00
rusefillc b7c9002d56 Break out unit tests #2627 2021-05-06 16:33:10 -04:00
rusefillc ab11c2275f docs 2021-05-06 10:43:25 -04:00
rusefillc 71b45bb196 explicit paths 2021-05-06 10:09:18 -04:00
rusefillc c2a42cc823 explicit paths 2021-05-06 10:04:21 -04:00
Matthew Kennedy 65a8941286 more Lua hooks (#2605)
* more hooks

* zero index

* test table hook

* test works

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-29 22:22:04 -04:00
Matthew Kennedy a470c1eec1 lua 5.4 (#2590)
* thread priority

* build

* makefile prep

* call startup

* lua 5.1

* mk

* 5.3

* mk

* I guess lua does something?

* extract hooks, builds for tests

* a bit of error handling

* guard

* bootloader makefile

* remove lua

* submodule

* submodule update

* builds with submodule

* disabled by default

* h7 chconf

* tweaks

* add a useful hook

* move luaconf

* perf trace lua

* test helpers

* lua unit tests

* include to satiate clang
2021-04-28 22:41:25 -04:00
Matthew Kennedy 5f0791f9fb Destroy all shared logger (#2574)
* most of shared logger

* a few more

* one more

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 14:28:48 -04:00
Matthew Kennedy 8cfb63455d 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 992c16b4af 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 babb43013f rewrite text logging system (#2439)
* minor cleanup

* enable mailboxes

* priority

* implement new logger

* more cleaning

* signature

* remove debug

* put the assertion back in

* remove debugging

* spelling

* doy

* tweaks & comments

* cleaning

* size_t

* guard more

* test build now

* needs more ram until we can remove LogginWithSTorage

* hunt for memory

* bootloader

* unused

* stub simulator

* it would help to get the signature right

* geez kinetis only has 64k ram

* more guarding because kinetis

* that's now very legal and very cool

* templatify

* s

* force null terminate

* probably fix

* const

* write a test

* disable sensor chart for now

* hide SC ui

* oh nope that breaks many things

This reverts commit c3c1bb324fb484c3d9cc44b7715c234bc0392e1e.

* missed one

* reset after scheduleLogging

* we can't print out the full message because it contains commas which break parsing

* force terminate long buffers

* let's see how much memory we have to play with

* a lot, is the answer

* real thread name

* shrink this for now before its deleted

* turn that back on

* biiig comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 18:46:47 -04:00
GitHub build-unit-tests Action 55837e9a98 Trigger wheel definitions 2021-04-15 23:39:10 +00:00
rusefillc 9c1aa580f1 WOW major scheduling drama on NB2 running with Proteus #2533 2021-04-15 19:12:09 -04:00
GitHub build-unit-tests Action 82fe2f123d Trigger wheel definitions 2021-04-09 17:12:18 +00:00
GitHub build-unit-tests Action 7063a5bde9 Trigger wheel definitions 2021-04-09 02:45:15 +00:00
rusefillc 8080f3bde7 helping us trace CUSTOM_INTEPOLATE_ERROR 2021-04-08 16:14:06 -04:00
rusefillc c3270fb715 helping us trace CUSTOM_FSIO_STACK_SIZE 2021-04-08 15:15:12 -04:00
rusefillc f34bca916d CUSTOM_ERR_VVT_OUT_OF_RANGE warning false-positive fix #2534 2021-04-08 15:01:12 -04:00
rusefillc 9c26a84be9 trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 01:21:28 -04:00
Matthew Kennedy 7782ebd7b4 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
rusefillc a9e822f790 'displayLogicLevelsInEngineSniffer' on VVT input reports too much into engine sniffer fix #2528 2021-04-04 23:12:07 -04:00
rusefillc b378fcdb88 engine sniffer into unit tests 2021-04-04 22:48:48 -04:00
rusefillc 549839b0de engine sniffer into unit tests 2021-04-04 22:41:38 -04:00
Andrey G 112b4d1182 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 72dac58f9b fix multi-serial-port insanity (#2476)
* carve out UART specific

* implement channel

* config cleanup

* use new config

* bootloader

* dead code

* s

* h7 inherits f7

* oops

* ok now it's right

* tests

* cleanup

* call setup

* put that in its own file

* cleanup

* format

* guard

* not needed

* improve guarding

* portable

* allow override of uart mode

* fixes for bootloader

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-28 09:06:36 -04:00
Matthew Kennedy 204aa33e9a goodbye ignitionOffset (#2503)
* remove

* set the timing map to do what the offset used to do

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-28 08:00:09 -04:00
Matthew Kennedy ce142907a0 replace print/printMsg with scheduleMsg (#2497)
* start cleaning

* disabled feature means don't print that it's disabled

* cli

* usages

* printMsg -> scheduleMsg

* this is alllll dead now

* no crlf please

* all hope is lost if you manage to hit this line

* tests

* tests

* ok we did actually need that part

* sim

* d

* kinetis

* it did ifdef, not if

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-26 17:23:26 -04:00
Matthew Kennedy 4e1d30f86d plumbing for multiple vvt (#2488)
* plumb multiple vvt

* fix test

* s

* fix barra while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-25 07:39:23 -04:00
GitHub build-unit-tests Action fe2b1ddae3 Trigger wheel definitions 2021-03-22 18:33:55 +00:00
Matthew Kennedy 5e6746c3aa 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 910f46267f VVT uses closed loop controller framework (#2453)
* vvt uses framework

* builds

* rename, update headers

* s

* testable

* write some basic tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-14 19:31:46 -04:00
Matthew Kennedy 765895d913 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
GitHub build-unit-tests Action dee68b13f7 Trigger wheel definitions 2021-03-13 03:00:16 +00:00
rusefillc 3651883bcf test_timer 2021-03-12 00:43:48 -05:00
rusefillc 9f90387d09 vBatt -> SensorType::vBatt fix #2260 2021-03-11 23:07:18 -05:00
Matthew Kennedy ff5bf3e3c3 error accumulator (#2434)
* error accumulator

* makefile
2021-03-08 07:40:46 -05:00
slowriot b70e39d425 update all compile scripts to use available cores rather than a hardcoded value (#2425)
* fix typos, spelling

* add two V8 firing orders

* use the available number of CPU cores, not just 4

* add new firing orders to config

* updating generated files to include new v8 firing orders

* reverting update of auto-generated files

* correct firing order labels for new firing orders

* update all compile scripts to use available cores rather than a hardcoded value
2021-03-06 12:55:46 -05:00
Matthew Kennedy 89d71e4379 Compute injection duration later in the pipeline (#2175)
* injector model, test

* new math

* inject fuel based on new math

* tests

* fix

* it should work like this

* format

* update TPS AE even when we're cutting fuel

* comment

* conversion factor

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-03 07:30:56 -05:00
Andrey G cd548b4db2 hip9011 compilation fix, cosmetic clean-ups (#2414)
* Board subaru eg33: has HIP9011 knock sensor

* hip9011: lastExecutionCount does not exist any more

* hip9011: extranc commands to header, use logic math for bitfields
2021-02-28 15:42:57 -05:00
Matthew Kennedy 350a047ead cleanup (#2386) 2021-02-23 16:57:14 -05:00
Matthew Kennedy 12a31e5132 start making tunerstudio more sane: part 2 (#2381)
* ts cleanup part 1

* move more stuff in to the class

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-19 20:48:21 -05:00
Matthew Kennedy 321fe48b27 rework FSIO LEelement (#2374)
* save

* firmware

* test parsing multiple things

* split tests
2021-02-17 23:32:44 -05:00
Matthew Kennedy 55facb6613 use DECLARE_ENGINE_PTR for Engine class (#2365)
* engine cleanup

* do the cleanup

* one last spot

* expand_engine noop for firmware

* simulator
2021-02-16 16:58:54 -05:00
Matthew Kennedy dbebc353a2 remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
rusefi 6b848bf896 second bank vvt decoder unit test 2021-02-09 10:16:49 -05:00
rusefi 8a237fa800 M62T vanos support #2243 2021-02-08 22:41:31 -05:00
rusefillc 8fa1a6530b M62T vanos support #2243 2021-02-08 21:50:31 -05:00
rusefi aea4baecb4 M62T vanos support #2243 2021-02-08 21:07:43 -05:00
rusefi 1012b61e02 M62T vanos support #2243 2021-02-08 20:38:38 -05:00
rusefi 2ccb75a064 refactoring: naming consistency 2021-02-08 18:20:53 -05:00
rusefi 4b8a92ccc9 M62T vanos support #2243 2021-02-08 18:08:26 -05:00
rusefi d05edd2a3d M62T vanos support #2243 2021-02-08 16:16:26 -05:00
rusefi 3390bcf0ce refactoring: more structure 2021-02-08 15:59:40 -05:00
Matthew Kennedy c0757a7d13 simplify MCU selection (#2308)
* set mcu type in hw_ports

* move f4 linker script

* move f7 linker script

* don't set default linker file in makefiles

* extra line

* prometheus actually didn't depend on anything special for f469

* dead line

* h7

* dead
2021-02-08 02:11:44 -05:00
Matthew Kennedy 983d75444e 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
GitHub build-unit-tests Action 3aee9b171f Trigger wheel definitions 2021-02-07 06:11:28 +00:00
rusefillc 11e8a35c15 Trigger pattern request Škoda Favorit fix #2302 2021-02-06 20:53:30 -05:00
GitHub build-unit-tests Action dfd2b6abc6 Trigger wheel definitions 2021-02-07 01:25:21 +00:00
Matthew Kennedy 8d9db6b5c1 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
GitHub build-unit-tests Action 96648f96aa Trigger wheel definitions 2021-02-02 16:21:55 +00:00
GitHub build-unit-tests Action c743c98b3a Trigger wheel definitions 2021-02-02 15:03:11 +00:00
GitHub build-unit-tests Action 1655209406 Trigger wheel definitions 2021-02-02 04:56:18 +00:00
rusefillc 11aa253ae9 vvt/cam events to pass index 2021-01-31 22:24:45 -05:00
Matthew Kennedy e22a9e9d02 -g3 to -g (#2256)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-31 14:13:55 -05:00
GitHub build-unit-tests Action 8e954c89cf Trigger wheel definitions 2021-01-19 00:14:52 +00:00
rusefi 0cc7cb8eb4 Revert "Save more space in the angle cache (#2228)"
This reverts commit 1800219e
2021-01-18 18:53:00 -05:00
GitHub build-unit-tests Action bc39f7e8c2 Trigger wheel definitions 2021-01-18 23:42:56 +00:00
Matthew Kennedy 1800219e44 Save more space in the angle cache (#2228)
* store event angles in a scaled field

* tests

* comment
2021-01-18 18:31:06 -05:00
Matthew Kennedy b047ec4f12 clean up some includes (#2227)
* cleanup

* make c happy
2021-01-16 09:45:45 -05:00
Matthew Kennedy b32e9ecb4a templated interpolate2d (#2221)
* template table2d

* assertions

* oops

* tests

* test bins too

* more assert

* format

* explicitly handle and test NaN

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-11 08:00:15 -05:00
rusefillc 0768eb75da weird 2021-01-10 20:29:20 -05:00
Matthew Kennedy 3daa7d4d9a Start support for multi-bank closed loop fueling (#2184)
* cfg

* cell

* N banks

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-10 08:10:49 -05:00
Matthew Kennedy 86d3746453 Idle timing uses phase logic, remove falloff (#2169)
* use phase computation

* move & simplify implementation

* test

* bad merge

* initialize

* wonderful changelog

* now unused parameter

* put back deadzone

* ui

* test deadzone

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-07 08:06:36 -05:00
Andrey G f962a7bd64 Gpio cleanup #2 (#1530)
* pin repository: PIN_USED size in now equal to brain_pin_e enum size

expect special values...

* smart gpios: register gpio chip to given base (no auto-allocation)

* drivers: gpio: core: add gpiochip_unregister()

* drivers: gpio: MC33810 intergation

* smart_gpio.cpp: cleanup ifdef mess, minor cleanups

* gpio: core: additional check for gpio ranges overlaps

* unit test: gpio chip: fixed and extended
2021-01-06 18:29:47 -05:00
Matthew Kennedy 56b4d87fcd generate triggers.txt from parametric test (#2186)
* add new test

* comment

* remove old

* main cleanup

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 17:58:34 -05:00