Commit Graph

2742 Commits

Author SHA1 Message Date
Matthew Kennedy 142e44d82b
misc (#2899)
* dead fields

* defaults

* ui

* configs
2021-07-04 09:22:42 -04:00
rusefillc 62ce798c0b human readable warning codes into TS #2898
preparation
2021-07-03 21:01:42 -04:00
Andrey 23e7022e55 Nissan VVT trigger decoder #2887 2021-07-03 11:08:22 -04:00
Andrey eaf5c54bc5 Nissan VVT trigger decoder #2887 2021-07-03 09:48:59 -04:00
Andrey 36165bed44 Nissan VVT trigger decoder #2887 2021-07-03 09:43:27 -04:00
Andrey bd5ff4b5a5 Nissan progress 2021-07-02 16:31:10 -04:00
Andrey a039c52897 Nissan progress 2021-07-02 16:26:23 -04:00
Andrey fccd13247b Nissan VVT trigger decoder #2887 2021-07-01 21:48:47 -04:00
Andrey 50e25605b8 Nissan VVT trigger decoder #2887 2021-07-01 17:28:52 -04:00
Andrey f11bd1544b Nissan VVT trigger decoder #2887 2021-07-01 17:03:17 -04:00
Matthew Kennedy c171d5f1d3
not const getAirmass (#2883)
* not const

* test
2021-07-01 00:05:42 -04:00
Matthew Kennedy 0c5f4f5179
target lambda table (#2879)
* move function

* put that back

* fancy lamba table
2021-06-30 06:56:43 -04:00
Andrey 75cffa26d3 https://github.com/rusefi/hellen121nissan-issues/issues/2 2021-06-29 01:04:39 -04:00
Matthew Kennedy cd5eb6a77c
Move AC logic out of FSIO (#2872)
* new impl

* remove fsio

* inject "is ac active" to fan

* include the correct code

* include

* test

* more AC features

* AC switch vs. actual AC indicators

* include

* duh
2021-06-27 18:51:34 -04:00
Andrey 82439b3ffd so many wonderful discoveries 2021-06-27 00:54:38 -04:00
Andrey 4463ca1fdb depressing code comment 2021-06-26 23:01:47 -04:00
Andrey 1822426d0c refactoring - explicit read method 2021-06-26 22:11:42 -04:00
Andrey a5eeb19c4d refactoring - explicit read method 2021-06-26 22:07:45 -04:00
Matthew Kennedy ce4eb2b55d
fix trigger changed logic (#2860)
* reenable

* fix

* longer interval between updates

* only deinit hard trigger outputs if necessary

* init logic

* init order

* warning

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-25 19:38:42 -04:00
Andrey 266e50f4ca Trigger: warning code on normal engine start up #669
making more code unit-testable
2021-06-25 11:50:23 -04:00
Andrey 761d9fc40e global static not good, there shall be only one god object /s 2021-06-25 01:37:43 -04:00
Andrey 71fdfe6756 giving unit tests a chance to use tdcMarkCallback 2021-06-25 01:31:53 -04:00
Andrey 1c48a61339 refactoring 2021-06-23 06:37:32 -04:00
Andrey a57d7c48fb global static not good, there shall be only one god object /s 2021-06-23 06:10:27 -04:00
Andrey 35a63cad89 Revert "TS Burned All Data engine stop #2839"
This reverts commit dcb52a5b
2021-06-21 08:53:39 -04:00
Andrey dcb52a5b37 TS Burned All Data engine stop #2839
second guess
2021-06-21 03:10:59 -04:00
Andrey 3aab93b122 TS Burned All Data engine stop #2839
first wild guess
2021-06-21 02:51:12 -04:00
Matthew Kennedy 3a30f038ce
kill engine if no oil pressure (#2800)
* min oil pressure for crank

* do it time-based

* rename field

* include

* fix existing test

* tests

* fix logic

* more test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-16 17:20:28 -04:00
Andrey 640097f327 Review default H64 tune #2815 2021-06-13 21:27:03 -04:00
Andrey 3c62881fe8 Review default H64 tune #2815 2021-06-13 21:17:22 -04:00
Matthew Kennedy 097bf85faf
dual fans (#2806)
* remove fsio

* hard code impl

* test it

* enable fan with AC

* make commented stuff match

* second fan config

* second fan ui

* defaults

* impl
2021-06-13 08:06:45 -04:00
Matthew Kennedy 7d2057e74a
remove cranking dwell angle (#2814)
* config & impl

* settings

* engines & boards

* this test doesn't do anything interesting
2021-06-13 07:52:07 -04:00
GitHub build-firmware Action e94bf1fc6e Auto-generated configs and docs 2021-06-12 18:07:43 +00:00
Andrey 158296f990 reverting TCU cherry pick 2021-06-12 13:52:18 -04:00
Andrey 76cd257221 sorry last change for trans selector 2021-06-12 13:00:54 -04:00
rusefillc 4bd0ea04d2 TCU cherry 2021-06-12 07:06:57 -04:00
GitHub build-firmware Action d1ec77847c Auto-generated configs and docs 2021-06-12 04:03:50 +00:00
rusefillc d8e217da28 TCU cherry 2021-06-11 23:39:50 -04:00
Matthew Kennedy c27549b2e8
hard coded fan logic (#2805)
* remove fsio

* hard code impl

* test it

* enable fan with AC

* make commented stuff match
2021-06-11 06:25:12 -04:00
Matthew Kennedy e7f17b0365
move ign & cranking defaults (#2791)
* ignition defaults

* cranking

* s
2021-06-03 14:40:19 -04:00
Matthew Kennedy 3ef969d743
warnings & assorted cleanup (#2793)
* lua hook

* validateBuffer

* tables

* simplify fsio table

* test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-03 14:30:25 -04:00
Matthew Kennedy 981e8f5047
defaults cleanup: base engine & fuel (#2790)
* build

* fuel and base

* fix build

* cleanup

* extern

* tps/tps

* alternator

* tps

* iat timing

* cranking RPM

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-03 00:50:07 +03:00
Matthew Kennedy ab214f974c
Bandaid for 2735 (#2788)
* bandaid

* fix test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-02 12:02:52 +03:00
Matthew Kennedy 790ac08a2e
Cranking defaults (#2787)
* defaults

* more

* cranking fuel

* cranking timing

* cranking time digits

* ugh these tests shouldn't depend on defaults
2021-06-02 08:21:36 +03:00
Matthew Kennedy 526f1f97a0
Assorted todos (#2762)
* gpiochip todos

* fuel computer

* this was already done
2021-05-30 19:23:29 -04:00
Matthew Kennedy 6d19adb24f
remove old config override (#2763) 2021-05-30 13:31:36 +03:00
GitHub build-firmware Action 578256ec86 Auto-generated configs and docs 2021-05-28 07:41:15 +00:00
Matthew Kennedy 2667810942
add pedal to gppwm (#2748)
* add pedal to gppwm

* string
2021-05-28 03:38:45 -04:00
Matthew Kennedy 8ce2057a89
parser rewrite prep: normalize config (#2741)
* cleanup 1

* cleanup 2

* impl

* fix
2021-05-27 08:23:28 -04:00
rusefillc 31a34a3ac2 some 121 coordinates 2021-05-27 05:44:48 -04:00
Andrey 0ad11168e8 Override trigger gaps feature #2734 2021-05-25 17:19:20 -04:00
Andrey cd5653ff84 Override trigger gaps feature #2734 2021-05-23 20:52:18 -04:00
rusefillc 590f5e4f99 cranking timing not costant #2733 2021-05-23 13:54:49 -04:00
Matthew Kennedy de7879b6e4
convert a table to scaled_channel (#2724)
* scaled VE table

* use setTable

* efi::clear

* ratio -> struct
2021-05-20 20:00:32 -04:00
Andrey a762853d3b refactoring magic constant STOICH_RATIO 2021-05-20 02:39:20 -04:00
Andrey ba758dd5cb refactoring magic constant STOICH_RATIO 2021-05-20 02:36:55 -04:00
rusefillc 73bc91dee4 Improve default H64 tune #2709 2021-05-19 03:50:28 -04:00
Matthew Kennedy b373c03db8
Lua script editor in console (#2699)
* stub

* implement reset

* console

* just use the console command

* cleanup

* s

* s

* ui

* write in chunks

* fix write

* tab size, script read

* parse script properly

* put lua script in flash, tiny for now

* generated fields
2021-05-18 20:58:39 +03:00
Matthew Kennedy 04f9019df2
Post cranking fuel tweaks (#2718)
* post cranking factor limits

* sensible defaults

* but not for tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-05-17 17:24:29 -04:00
Matthew Kennedy 84368cae10
Config generator jar (#2716)
* fix test

* jar

* kick config

* guard stuff

* nmea

* nmea

* nmea

* c++ is type safe, which is good

* c++ is type safe
2021-05-17 12:32:59 +03:00
rusefillc 08de271407 hiding 8888 mess under the rug
making LPS25 one step more available to Hellen
2021-05-14 10:54:40 -04:00
Matthew Kennedy 1d10fbc7a8
const airmass (#2694) 2021-05-14 07:17:22 -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 dd6105cfa3
shrink canned tables (#2651)
* helper

* use it miata

* do type safe copy

* miata vvt

* etb

* default iat correction

* magic is afoot here

* hunchback

* misc

* neon

* neon

* aspire

* citroen

* neon

* missed one

* dead

* festiva

* remove andreyism

* very dead

* no need for copy of that function

* cleanup
2021-05-09 14:37:16 -04:00
Matthew Kennedy 13f3d1e291
Fix multi bank fueling (#2661)
* add cylinder number

* changelog

* wording
2021-05-09 09:37:07 -04:00
Andrey G e18ba01fe5
hip9011 (#2658)
* hip9011: isolate debug stuff

* hip9011: renames

* hip9011: start sensing knockDetectionWindowStart degres from fire

* engine: more realistic values for knock window

* hip9011: remove magic CS toggling

* hip9011: EFI_HIP_9011_DEBUG should depend on EFI_HIP_9011
2021-05-08 18:43:55 -04:00
Matthew Kennedy 3968204dfa
Hook up multi bank fuel trim (#2532)
* multi bank trim

* cleaning

* output channels

* output channels
2021-05-08 17:41:50 -04:00
Andrey G 15811a6ff0
hip9011 (#2654)
* Move HIP states enum out of rusefi_enums.h

-this is internal driver stuff. No need to have it defined globaly.

* Auto-generated configs and docs
2021-05-08 10:08:18 -04:00
Matthew Kennedy 8b30776016
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
GitHub build-firmware Action 649e3cd48f Auto-generated configs and docs 2021-05-04 14:14:18 +00:00
Matthew Kennedy 9d4bd0d6fe
Lua debug channels (#2620)
* setdebug hook

* add debug mode

* memory size debug channel

* default script
2021-05-04 10:05:39 -04:00
Matthew Kennedy bb0662791b
use setTable (#2621) 2021-05-04 10:03:41 -04:00
rusefillc 4dc461891a 2021 is the year of Hellen 2021-05-03 00:01:53 -04:00
rusefillc 9be7f2c582 50% duty cycle is the default for tach signal 2021-05-02 23:47:47 -04:00
rusefillc 38a7448107 2021 is the year of Hellen 2021-05-02 23:45:39 -04:00
rusefillc ecdcf8112b 2021 is the year of Hellen 2021-05-02 19:02:30 -04:00
rusefillc d8648f5d6c 2021 is the year of Hellen 2021-05-02 18:52:33 -04:00
GitHub build-firmware Action 625b1ba778 Auto-generated configs and docs 2021-04-30 05:39:53 +00:00
GitHub build-firmware Action bcb71310f0 Auto-generated configs and docs 2021-04-30 05:10:36 +00:00
rusefillc 2575c8beeb Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077 2021-04-30 01:05:23 -04:00
rusefillc 10a6da8ac0 https://rusefi.com/forum/viewtopic.php?p=40654 2021-04-26 17:32:00 -04:00
Matthew Kennedy c26987b96b
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 ad71016862
rip the bandaid: find-replace most of scheduleMsg (#2572)
* biiiig find replace

* more trivial find replace

* pwm

* almost all of them

* few more

* gpio

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 12:53:13 -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 bbb6b6dd14
remove simple cases of LoggingWithStorage (#2569)
* remove simple cases

* more simple

* serial

* s

* more

* try memory

* easy

* mmc acc

* that's how much memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-19 08:11:59 -04:00
rusefillc 5aca0dec1a hellen64 scripts and pinout #2565 2021-04-18 10:42:50 -04:00
GitHub build-firmware Action 37c2495f9f Auto-generated configs and docs 2021-04-15 05:23:00 +00:00
Matthew Kennedy 15a8dab795
gppwm zero option (#2557)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-15 01:08:34 -04:00
Matthew Kennedy 5e2e18d2b9
improve sensor chart flush behavior (#2545)
* disable sensor chart

* type signature, guards

* we can't log the message as that confuses the parser

* dead

* this syntax was technically illegal

* more

* turn it back on

* remove config

* api

* implement

* ui

* java ui
2021-04-12 14:05:52 -04:00
rusefillc 20fcaafb92 https://github.com/rusefi/hellen72/issues/25 2021-04-10 23:30:36 -04:00
rusefillc 66e616c329 https://github.com/rusefi/hellen72/issues/25 2021-04-10 23:22:25 -04:00
rusefillc 2032e5fdb8 Kawasaki KX450F trigger wheel #2538 2021-04-08 22:16:14 -04:00
rusefi 3f914bf3ed trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 15:17:01 -04:00
rusefillc 2b094849c5 linking error on jenkins and Andrey's windows desktop fix #2520 2021-04-03 23:34:56 -04:00
Matthew Kennedy 1dffcf5729
make board config override actually usable (#2508)
* new function

* hellen

* MRE

* proteus

* put those function declarations in a reasonable place

* put the comment back

* weak

* move that to a reasonable place

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-31 14:46:50 -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 523bef2eb6
fix (#2511) 2021-03-30 07:28:22 -04:00
GitHub build-firmware Action d2df6f9675 Auto-generated configs and docs 2021-03-29 13:06:35 +00:00
Matthew Kennedy f05b8ba675
More gppwm and fsio (#2509)
* gppwm aux temp

* fsio fuel flow rate and oil pressure

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-29 08:57:37 -04:00
Matthew Kennedy 8b3aa6c40d
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 6491c83f73
read configuration from flash exactly once (#2481)
* early hw init

* s

* read configuration exactly once

* cleanup

* housekeeping

* test friendly

* ugh bad merge

* that is a noop

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-25 18:16:26 -04:00
Matthew Kennedy 51a5b4d6d5
rename setBoardConfigurationOverrides (#2479)
* rename

* proteus

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-22 14:15:09 -04:00
GitHub build-firmware Action 2eaa6de822 Auto-generated configs and docs 2021-03-22 11:54:44 +00:00
Matthew Kennedy 5e88376e2c
barra vvt cam pattern (#2483)
* barra vvt cam pattern

* two tooth sync

* I think this needs to be here too
2021-03-22 07:48:29 -04:00
Matthew Kennedy 650d148008
Usable fuel consumption data/gauges (#2474)
* fuel consumption

* gauge names

* consumers

* obd

* binary logging

* doesn't need explicit constructor

* getters

* it works

* correct for injections per cycle

* datalog

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-19 17:04:42 -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 be70524ced
harden against various no-boot scenarios (#2468)
* zero length trigger

* validate config

* validate cylinder count

* wrong type on cylinder count

* invalid comment

* invalid SPI
2021-03-17 09:24:13 -04:00
Matthew Kennedy 3072d54717
dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
GitHub build-firmware Action ee5e73b446 Auto-generated configs and docs 2021-03-14 21:30:08 +00:00
rusefillc 72aa619353 VAG MQB 2021-03-14 17:27:26 -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
Matthew Kennedy b087f328f7
default config, UI tweaks (#2444)
* s

* fix this while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-12 00:16:24 -05:00
rusefillc 16b8fb64ca vBatt -> SensorType::vBatt fix #2260 2021-03-11 23:07:18 -05:00
rusefillc d650271077 vBatt -> SensorType::vBatt #2260 2021-03-11 22:52:34 -05:00
rusefillc c7d8997a3a vBatt -> SensorType::vBatt #2260 2021-03-11 22:44:59 -05:00
Matthew Kennedy 7b4ba0c836
remove lastTriggerToothEventTimeNt (#2430)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-07 17:11:50 -05:00
slowriot 881c3739a2
Add two new V8 firing orders (#2423)
* 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
2021-03-05 19:28:17 -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 5067b81fce
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
rusefillc 278e889f2c aux valve to CI 2021-02-18 00:11:10 -05:00
Matthew Kennedy 39884f8934
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 4a1d3de9a6
remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -05:00
rusefi 6f065274e4 aux pid is now VVT 2021-02-10 12:41:38 -05:00
Matthew Kennedy 85fab40d21
get mcu temperature within port (#2326)
* remove EFI_ADC_TEMP_SENSOR

* implement

* comment

* s

* switch adc_inputs over

* header

* s

* I think aligned-on-stack should work ok

* num channels

* cache safety

* move adc init too

* don't compile that file for the h7

* cypress & kinetis

* ports

* guard against bootloader

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-09 22:04:36 -05:00
rusefillc 24887adbb2 M62T vanos support #2243 2021-02-09 09:40:08 -05:00
rusefillc 56072ac889 M62T vanos support #2243 2021-02-08 22:30:02 -05:00
rusefillc ce78123eb0 M62T vanos support #2243 2021-02-08 22:21:02 -05:00
rusefillc 081357ca5e M62T vanos support #2243 2021-02-08 22:07:14 -05:00
rusefillc 2d99e77c95 M62T vanos support #2243 2021-02-08 21:50:31 -05:00
rusefi 0d6dfbb501 M62T vanos support #2243 2021-02-08 21:28:57 -05:00
rusefi 6b10de5616 refactoring: naming consistency 2021-02-08 18:20:53 -05:00
rusefi c576f0a9d9 M62T vanos support #2243 2021-02-08 18:08:26 -05:00
rusefillc 1ba8e24f86 M62T vanos support #2243 2021-02-08 16:42:53 -05:00
rusefi a349bf1ca8 M62T vanos support #2243 2021-02-08 16:16:26 -05:00
rusefillc d2deca74bf M62T vanos support #2243 2021-02-08 15:09:12 -05:00
GitHub build-firmware Action d57b4b48b5 Auto-generated configs and docs 2021-02-08 19:13:25 +00:00
rusefillc 7e25202712 M62T vanos support #2243 2021-02-08 14:10:57 -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
rusefillc d95ba6b443 Trigger pattern request Škoda Favorit #2302 2021-02-06 20:12:58 -05:00
GitHub build-firmware Action 9a254634d0 Auto-generated configs and docs 2021-02-06 18:52:00 +00:00
Andrey G 08a5421090
Add subaru eg33 (#2294)
* engine: Subaru SVX EG33 engine configuration

Not tested yet. Just basic settings and placeholder

* board: add Dron_Gus's Subaru EG33 p'n'p board

* board: subaru eg33: linker script: stack, bss and heap to ram0

* board: subaru eg33: add mapping.yaml

* board: subaru eg33: scripts for autogenerated

* board: subaru eg33: fix DMA conflict (ADC1 vs SPI5)

* board: subaru eg33: enable ADC3

* board: subaru eg33: Autogenerated

* board: subaru eg33: disable fsio control of Main Relay

Default MAIN_RELAY_LOGIC cause error during parsing

* board: subaru eg33: configuration hack to fix usbconsole.c

* gen_config: generate config for Subaru SVX board too
2021-02-06 12:50:34 -06:00
GitHub build-firmware Action 4a6bca0a2a Auto-generated configs and docs 2021-02-03 19:36:47 +00:00
Matthew Kennedy 9f0ebaac49
Proteus analog input ci (#2271)
* test vbatt

* test proteus vbatt

* tolerance

* these don't work on proteus

* new engine type

* test analog input

* more test points, less tolerance

* console build needs this file generated

* only include for hw ci builds

* wiring info

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-03 13:34:48 -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
GitHub build-firmware Action eca31a782c Auto-generated configs and docs 2021-02-02 14:17:30 +00: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
rusefillc 11f9bf16f6 GM/Daewoo 60/2/2/2 Trigger Pattern #2264 2021-02-01 23:18:11 -05:00
rusefillc 9a2cc6b3c9 GM/Daewoo 60/2/2/2 Trigger Pattern #2264 2021-02-01 22:49:49 -05:00
rusefillc 4bb9762e2e extracting runtime state from trigger central 2021-01-31 22:41:17 -05:00
Matthew Kennedy 0e70d08a22
Add fallback map table (#2248)
* table

* sd math

* config

* debug channel name

* ptr vs not ptr

* actually use return value

* memory

* less magic
2021-01-31 17:19:06 -05:00
rusefillc 6ffddb8e3a #2260 2021-01-31 13:30:14 -05:00
rusefillc 5e50b542a8 typo 2021-01-31 12:27:26 -05:00
Matthew Kennedy e0b2802a43
Map fallback logic, TS cleanup (#2247)
* add new field

* UI

* set default

* consume new parameter

* some cleanup while we're at it
2021-01-27 20:31:29 -05:00
Matthew Kennedy bed6819d8b
normalize configuration grammar (#2240)
* modify grammar

* add missing typedefs

* these typedefs are easier to handle in the parser

* make the existing parser work with the changed format

* grumble grumble jar

* we can deal with this part later

* handle later

* deal with this later
2021-01-26 21:56:47 -05:00
rusefillc 1ed7d16d50 knock-knock 2021-01-23 00:00:34 -05:00
rusefillc 6bc882f30a Hellen72 2021-01-22 02:02:16 -05:00
rusefillc edd89c34f9 HELLEN_NB2 2021-01-22 01:47:01 -05:00
Matthew Kennedy fa30efbc94
boost fixes (#2230)
* fix boost pin reinit

* call boost from periodic slow

* ui

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-18 07:04:14 -05:00
Matthew Kennedy 60f70a3721
clean up some includes (#2227)
* cleanup

* make c happy
2021-01-16 09:45:45 -05:00
Matthew Kennedy bdacda558c
fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
Matthew Kennedy 2e557dbcf6
make fuel math look more like ign math (#2214) 2021-01-14 19:18:30 -05:00
Matthew Kennedy a5266cd6ef
part of 2217 which may fix it alone (#2220) 2021-01-11 08:01:54 -05:00
Matthew Kennedy 868f0d47ac
Enable idle timing/ve tables based on idle phase logic (#2213)
* add helper

* advance

* ve

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-11 00:54:37 -05:00
rusefillc 4416d1c7dc cmd_test_main_relay 2021-01-10 23:46:50 -05:00
Matthew Kennedy 571122d461
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
GitHub build-firmware Action 4500e1dc71 Auto-generated configs and docs 2021-01-09 19:15:01 +00:00
David Holdeman 52e88ade01
Add TCU Solenoid debug fields (#2202)
* try adding debug fields

* oops

* include

* add labels

* add enum

* add more solenoid

* whoops

* ifdef
2021-01-09 14:12:45 -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
andreika-git 11c358f65c
Hellen72 config (#2200)
* Hellen72 config

* Hellen72 files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-01-08 12:50:13 -05:00
Matthew Kennedy 7a90692187
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 f96ae7525f
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 eabb5c7366
flex fuel AFR interpolation (#2190)
* config

* implement flex

* secondary fuel default

* test

* test works

* rename

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 16:27:23 -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
rusefillc 15665484e5 Audi OEM 5-cyl trigger pattern aka "Tri-Tach" https://rusefi.com/forum/viewtopic.php?f=5&t=1912 2021-01-03 13:52:53 -05:00
Matthew Kennedy 92ea09b0a6
switch more map to read from sensor model (#2162)
* hook up map

* check for init

* switch some consumers

* that's the rest of them

* test

* tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-02 19:13:10 -05:00
rusefillc d213c01ca5 questionable progress 2021-01-02 16:51:14 -05:00
GitHub build-firmware Action 8a0fa161ac Auto-generated configs and docs 2021-01-01 06:12:01 +00:00
rusefillc 9587b7bb54 hellen 2021-01-01 01:10:28 -05:00
GitHub build-firmware Action 10c0553038 Auto-generated configs and docs 2020-12-31 17:41:53 +00:00
rusefillc 46583b2a19 Revert "Idle timing PID uses phase logic (#2156)"
This reverts commit 9634a803
2020-12-31 12:22:54 -05:00
shadowm60 d49fc7fc71
Haltech as dash option (#2165)
* Haltech as dash option

* Update build-firmware.yaml

added generate enums for build-primary-bundle
2020-12-31 12:22:01 -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
Matthew Kennedy 9634a803f1
Idle timing PID uses phase logic (#2156)
* use phase computation

* move & simplify implementation

* test

* bad merge

* initialize

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 23:50:56 -05:00
rusefillc f28f1e0f90 fine-grained check modes 2020-12-27 17:41:28 -05:00
Matthew Kennedy 898b7a82e0
move swtiches out of idle (#2148) 2020-12-26 21:31:41 -05:00
Matthew Kennedy ff4ce2fb1f
create limp manager (#2142)
* move rev limit to limp manager

* call fatal error

* include order

* fix bug

* tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 17:30:46 -05:00
rusefillc 1ebce57721 proteusBoardTest 2020-12-26 10:41:33 -05:00
Matthew Kennedy 3d13d03424
Purge e34 config (#2127)
* remove

* enums

* s

* func test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-24 07:31:25 -05:00
Matthew Kennedy 55ebe223a7
Partition configs by board type (#2106)
* remove old flag

* flags

* reorder switch

* oops
2020-12-22 21:54:40 -05:00
Matthew Kennedy ba9de3a604
Purge fiesta config (#2117)
* config

* this had a feature flag?

* enums

* goodbye, fiesta
2020-12-22 17:22:05 -05:00
rusefillc 2d2225bfdb PROTEUS_QC_TEST_BOARD 2020-12-22 10:13:27 -05:00
Matthew Kennedy 8737ba62c2
Purge rover v8 config (#2116)
* bye

* goodbye, rover v8

* that snuck in

* use a different config for that test
2020-12-22 10:05:54 -05:00
Matthew Kennedy f29ca22b99
fix (#2109) 2020-12-20 19:31:14 -05:00
Matthew Kennedy 6168bcea80
Fix gpio reinit race condition (#2098)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize
2020-12-18 17:18:12 -05:00
rusefillc 50e9dd6da7 generate java enum from C enum #2102
one step back
2020-12-18 14:21:08 -05:00
rusefillc 71ba1c529c generate java enum from C enum #2102 2020-12-18 13:33:01 -05:00
rusefillc 55b4e82615 naming consistency 2020-12-18 09:01:18 -05:00
Matthew Kennedy aeea50ada2
move target computation (#2091) 2020-12-17 17:46:51 -05:00
Matthew Kennedy 1838beadfa
only build in config for the correct board (#2088)
* only build in config for the correct board

* undo

* undo

* undo

* only touch proteus config

* include configs in tests
2020-12-17 17:12:24 -05:00
rusefillc 26fbf0527a trigger and start button pins not displayed by "pins" command fix #2084 2020-12-16 22:53:26 -05:00
rusefillc a47129693a trigger and start button pins not displayed by "pins" command #2084
progress but not complete fix yet
2020-12-16 22:00:42 -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 0899102b05 returning AT validation into QC 2020-12-15 15:43:36 -05:00
rusefillc bd279edd8e pnp progress 2020-12-15 00:09:35 -05:00
shadowm60 9d36bab793
Debug channel updates (#2078)
* Debug channel updates

Renamed DBG_44 to Dyno_View
added DBG_LOGIC_ANALYZER
DBG_46..48 are  buffers for new features
corrected ini error: [mainController.ini]:[Line:2593]:    entry = wastegatePosition, "Wastegate position sensor",       float,  "%.3f"

* enum_regeneration

fix build issue?
2020-12-14 08:29:43 -05:00
rusefillc 951676e111 Merge remote-tracking branch 'origin/master' into master 2020-12-13 17:49:36 -05:00
rusefillc 49ee4ad78e trigger decode should pay to attention to what wheel signal is coming from #2073 2020-12-13 17:49:24 -05:00
GitHub build-firmware Action 4ef5bf3d34 Auto-generated configs and docs 2020-12-13 22:48:42 +00:00
rusefillc 314e9ef580 TT_SUBARU_7_WITHOUT_6 2020-12-13 17:46:48 -05:00
GitHub build-firmware Action 48e26ec0a3 Auto-generated configs and docs 2020-12-13 21:23:35 +00:00
rusefi 38bcd63e13 maybe this would just work? 2020-12-13 16:22:02 -05:00
rusefi 7f65e95a65 subi 2020-12-13 11:39:10 -05:00
rusefillc f2bb2ce0c6 MRE issue with tle8888 - GP3 does not work? #2065 2020-12-13 11:29:19 -05:00
rusefillc b41ca74386 clang warnings again #2055 2020-12-11 12:50:10 -05:00
rusefillc 9b4a1fff7b clang warnings again #2055 2020-12-11 10:33:00 -05:00
Matthew Kennedy f2426677db
start fuel pump as soon as trigger events happen (#2038)
* switch pump fsio logic

* value collision

* fuel pump in tests

* mock time since trigger

* test fp

* init pin in test

* fix gpio outputs in tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-10 01:23:24 -05:00
rusefillc ea8e09ba13 fix warnings found by clang #2014 2020-12-08 13:59:40 -05:00
Matthew Kennedy 67269aa637
maybe fix sensor init checks (#2034)
* enums

* don't collide

* auto_generated_enums

* check based on new enum val

* maybe this will make generate tool happy

* add a test

* fix test

* fix and add another test

* make clang happier

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 23:19:57 -05:00
rusefillc debec1107e subi 2020-12-06 18:08:55 -05:00
rusefillc 9f13d39003 MRE_SUBARU_EJ18 2020-12-06 14:16:40 -05:00
rusefillc 166f4fc381 MRE_SUBARU_EJ18 2020-12-06 13:08:09 -05:00
rusefillc 75ffe1f38e making console happier 2020-12-05 21:56:39 -05:00
rusefillc e5ef8de2ae unit tests in clang #2012 2020-12-04 23:59:21 -05:00
shadowm60 864bd7fa73
Dyno view proposal (#1999)
* DynoView creation

module implementation and unit_tests

* update acc algo

we only calcualte new acceleration value if speed has changed, not on every callback.

* added acceleration ts_channel

* fixed broken unit tests

* fixed accel sign

* review updates

* Update test_dynoview.cpp

fix unit_tests

* Update engine_controller.cpp

Fix .ram4 unused size

* Update test_dynoview.cpp
2020-12-04 20:28:48 -05:00
rusefillc db5e30edf5 all triggers should be documented way nicer #2001 2020-12-04 11:44:27 -05:00
rusefillc 0a23e82baf 6.1 Hemi V8 decoder #2010 2020-12-04 00:30:22 -05:00
rusefillc 4c3eae5676 FORD ST170 CAM TRIGGER PATTERN fix #2009 2020-12-03 23:54:08 -05:00
GitHub build-firmware Action 0b2e8755ee Auto-generated configs and docs 2020-12-04 02:59:40 +00:00
rusefillc c413f03359 DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT #2008 2020-12-03 21:58:03 -05:00
GitHub build-firmware Action 77914fb702 Auto-generated configs and docs 2020-12-04 02:33:46 +00:00
rusefillc c55120372b DAIHATSU 3CYLINDER TRIGGER WHEEL SUPPORT #2008 2020-12-03 21:31:58 -05:00
rusefillc 662eaea384 avoid float -> int64 conversion #1977
both cases have to be relatively small durations of time cherry picking...
2020-12-03 13:32:01 -05:00
GitHub build-firmware Action 82c30dadf8 Auto-generated configs and docs 2020-12-03 15:51:02 +00:00
rusefillc 745038c4a7 more dead code 2020-12-03 10:49:20 -05:00
GitHub build-firmware Action b2e26a2e2b Auto-generated configs and docs 2020-12-03 06:38:53 +00:00
rusefillc dd9e431782 dead code matches Mazda SOHC 2020-12-03 01:36:43 -05:00
GitHub build-firmware Action b5b9554903 Auto-generated configs and docs 2020-12-03 06:25:01 +00:00
rusefillc a2036ebc70 dead trigger, this would now be vvt+60/2 2020-12-03 01:22:57 -05:00
rusefillc 7855847a3f all triggers should be documented way nicer #2001 2020-12-03 01:02:17 -05:00
rusefillc 479fcf0174 all triggers should be documented way nicer #2001 2020-12-03 00:19:18 -05:00
rusefillc c36f76b68e Fuel pump should turn on at the first sign of engine rotation #1961 2020-12-02 23:09:39 -05:00
rusefillc b662b977fa all triggers should be documented way nicer #2001 2020-12-02 20:51:33 -05:00
shadowm60 6fb745d29c
Launch Control refactoring (#1992)
* refactor

- called from periodicFastCallback
- removed defines

* Update rusefi.input

removed unused configurations.
added clutch inversion option

* Added new tests

fixed limiting only in case we have launch condition and rpm outside of window

* Update launch_control.cpp

Unintialized config update, now it is working fine with VSS and with clutch as well.

* small fixes

updated after review findings

* Fix breaking engine rev limiter

applyLaunchControlLimiting should not overwrite booleans to false!

* Delay timer in seconds

timer uses ms, so convert seconds to ms
2020-12-01 13:03:42 -05:00
Matthew Kennedy d48367d565
timer (#1994) 2020-11-30 19:35:06 -05:00
GitHub build-firmware Action 8e1674956d Auto-generated configs and docs 2020-11-29 03:51:15 +00:00
rusefillc b982d02298 miata 94 2020-11-28 22:49:28 -05:00
rusefi 89eaae8234 LM_ALPHA_N_2 rename 2020-11-27 15:44:31 -05:00
rusefillc 0840b91f7f dead engine config
one step back
2020-11-26 21:21:25 -05:00
rusefillc 334f0a5a8a dead engine config 2020-11-26 21:07:34 -05:00
rusefillc 55b763f62e dead engine config 2020-11-26 20:26:12 -05:00
rusefillc 641959b9a3 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 17:48:09 -05:00
rusefi 0d441be869 better default value 2020-11-25 17:02:28 -05:00
Andrey G a285ba6743
ADC: fixes: (#1979)
* ADC: fixes:

-use enums
-internalAdcIndexByHardwareIndex array should be adc_channel_e size
-add sanity checks
-save few bytes of RAM

* ADC: use logical OR instead of math add
2020-11-22 12:23:27 -05:00
shadowm60 7c793834ef
Launch control unit tests update (#1972)
* testable launch start

* extract base class

* add a test

* fix ts debug

* Launch control unit_tests

updated launch control for a better split
VSS mock for unit tests

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2020-11-19 21:14:38 -05:00
Matthew Kennedy ee51da64ad
Launch control testable (#1967)
* testable launch start

* extract base class

* add a test

* fix ts debug
2020-11-19 08:15:56 -05:00
Matthew Kennedy f3b7a1d9da
Remove lockAnyContext, replace with CriticalSectionLocker (#1938)
* switch to CriticalSectionLocker

* that's just about all

* clean up last usage

* include hpp for sim

* need the cpp wrappers in the makefile too

* include dir

* include
2020-11-19 06:56:02 -05:00
rusefillc 47fbb92bff Starter seems to be engaged forever fix #1965 2020-11-18 23:54:30 -05:00
rusefillc c70c546d46 better error handling 2020-11-17 22:45:43 -05:00
rusefillc 07e25ccf3c https://rusefi.com/forum/viewtopic.php?p=38367#p38367
idle position/waste gate position sensor usability
2020-11-14 18:05:27 -05:00
Matthew Kennedy 0e3673e78c
remove idle thread; just call from periodicSlowCallback (#1924)
* remove thread

* remove ui
2020-11-11 21:47:19 -05:00
GitHub build-firmware Action d6687a68e9 Auto-generated configs and docs 2020-11-11 04:13:06 +00:00
Matthew Kennedy 02c4d630f6
compensate injector flow based on fuel pressure (#1931)
* injector compensation

* fix

* ui

* testability & comments

* hella testing

* debug channels

* enum value

* auto generated enums

* update comment

* oops too much

* update config fields

* handle failed pressure sensor

* build

* fix

* add some todos for the future

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-10 23:11:22 -05:00
rusefi 59a000e7d5 miata TCU 2020-11-04 12:48:07 -05:00
Matthew Kennedy 3241a43a2d
extract idle hardware to its own file (#1923)
* extract idle hardware

* should fix the build
2020-11-03 18:06:32 -05:00
Matthew Kennedy cf3dc9c2c3
convert cranking defaults to mg (#1921)
* convert cranking defaults to mg

* fix tests
2020-11-03 14:12:26 -05:00
Andrey G 63c25ab8a7
Tle8888 small update (#1908)
* TLE8888: add support MR switching from SW

Main Relay has limitation - it is always active while KEY=1. When
KEY=0 MR can be switched on from SW.

* TLE8888: support reading of KEY and WAKE inputs

* Rusefi enums: add new TLE8888 pins
2020-11-01 22:19:55 -05:00
rusefi 2b7e33404f wall wetting default 2020-10-31 19:28:27 -04:00
Matthew Kennedy 15d5c872c2
log afr in addition to lambda (#1920)
* log afr

* log it

* weird double commas
2020-10-31 17:52:07 -04:00
Matthew Kennedy 3e30865e6c
unused tach field (#1918) 2020-10-29 15:26:01 -04:00
rusefillc 3635bac90a [EPIC] [Feature Request] Transmission Control #1454 2020-10-28 01:23:05 -04:00
GitHub build-firmware Action 8d0c537533 Auto-generated configs and docs 2020-10-28 05:06:20 +00:00
rusefillc b4e3927a92 TCU 2020-10-28 01:01:30 -04:00
Matthew Kennedy 09b41bb1bb
Everything in lambda! (#1893)
* lambda

* default configs, fix build

* config, gauge, UI

* more digits

* change menu text

* fix that while I'm here

* doesn't need extra word

* todo note

* tests

* last test

* missed a config

* update java

* store target lambda

* more java

* format

* hopefully enough java for CI to pass
2020-10-26 18:15:17 -04:00
Matthew Kennedy 5e06db6b75
probably fix ci (#1912) 2020-10-26 14:04:22 -04:00
Matthew Kennedy a90792fa44
convert mass -> duration later in the pipeline (#1906)
* cranking duration to mass

* implement

* units

* patch types

* suppress warning

* fix output channels

* add note about how to set it
2020-10-26 07:23:13 -04:00
Matthew Kennedy f37ed597c5
fix double deadtime (#1904)
* move global correction factor to fuel mass

* tests

* the fix
2020-10-25 00:12:05 -04:00
Matthew Kennedy 10c1ad7698
use fuel model (#1901)
* use fuel model

* spit'n'polish
2020-10-23 20:25:47 -04:00
GitHub build-firmware Action 27207dde9c Auto-generated configs and docs 2020-10-23 19:48:01 +00:00
Matthew Kennedy d84cd385ce
add Injector pressure sensor (#1898)
* add sensor type

* add config

* initialize injector pressure

* add UI
2020-10-23 15:46:16 -04:00
Andrey G 8e11675afd
Tle8888 big update 1 (#1892)
* smart gpio: fix tle8888 direct pin mapping for MRE

* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888

* TLE8888: cleanup

* TLE8888: do not reset driver private data on WD/undervoltage reset

* TLE8888: diagnostic updates

* TLE8888 driver: BIG driver rework

* TLE8888: check SPI answers for abnormal states

Reply with other than requested register can be a sign of:
-Power-On-Reset, then OpStat0 will be replyed
-WatchDog reset, then FWDStat1 will be replyed
-Invalid communication frame, then Diag0 will be replyed

Keep tracking last accessed register and check with the next reply.

* TLE8888: debug clean-up

* TLE8888: implement spi array write

This reduce CS inactive state time between two consequent accesses
from 8.8 uS to 1.4 uS

* TLE8888: fix PP outputs in OD mode

* TLE8888: cleanup register definitions

* TLE8888: run separate driver thread for each chip instance

Calculating poll interval for few chips become more complex, avoid
this running thread for each device.

* TLE8888: fix cypress and kinetic compilation

Both platforms define its own MAX and cause redifination error if
common.h is included in driver.

* MRE: update mapping.yaml and fix direct pin mapping for TLE8888

* TLE8888: diagnnostic: disable switch off in case of overcurrent

For all output, use current limiting instead

* TLE8888: check for overvoltage on OUT8..OUT13

* TLE8888: add TODO note about how to recover from failure condition

Currently TLE8888 automaticly recovers only from overcurrent and
(may be) overtemperature conditions.
Short to bat cause output disable (bit in OECONFIG is reset) and
needs driver/host intervention.

* TLE8888: save few bytes of RAM

* TLE8888: Lada Kalina is test mule for IDLE stepper on TLE8888

Don't forget to enable PP mode for TLE8888 outputs 21..24:
uncomment line 1087 in tle8888.c

* TLE8888: reorder code, cleanup

* TLE8888: mode all debug/statisctic to per-chip struct

* TLE8888: rework poll interval calculation

* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888 #2
2020-10-23 12:25:30 -04:00
Matthew Kennedy 4e249889a6
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
rusefi a7a475a1df B6 2020-10-23 00:39:22 -04:00
GitHub build-firmware Action 3f9dd26478 Auto-generated configs and docs 2020-10-22 02:51:46 +00:00
Matthew Kennedy 6605877326
gppwm debug (#1895)
* dbg gppwm

* fix channel

* TS guard
2020-10-21 22:49:38 -04:00
rusefi e0a5c3dc12 GDI Epic #1448 2020-10-19 22:04:06 -04:00
Matthew Kennedy ee5d0bf07b
remove (#1887) 2020-10-18 20:49:42 -04:00
rusefillc b24f173892 refactoring: better method name 2020-10-17 18:45:08 -04:00
GitHub build-firmware Action 906675166e Auto-generated configs and docs 2020-10-15 02:42:20 +00:00
Matthew Kennedy 568ec91fc0
fix temp sensor & validate it (#1879)
* fix temp sensor & validate

* smaller here should work
2020-10-14 22:39:16 -04:00
rusefi 12a720dde2 QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase #1871 2020-10-11 22:57:31 -04:00
rusefi b77c4ab55a QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase fix #1871 2020-10-11 22:46:08 -04:00
rusefi 94a6399e56 QC control mode to crash if RPM = 0 and to mark successful 3 minute test with self-stimulation RPM increase #1871 2020-10-11 19:05:56 -04:00
David Holdeman 29c2d692ee
Simple transmission 2 (#1870)
* simple trans controller

* don't need check

* we can loop!

* use efi::size

* pin mode configuration

* set pin mode

* switch to RegisteredOutputPin

* size

* add to makefile

* fixes

* fixes

* wat

* output pin, and ts stuff

* use SimpleTransmissionController

* include

* grrr

* grrr

* move to separate file

* fix includes

* try

* semicolon stupid

* try pointers

* try

* add to makefile

* wat

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* try

* undo

* more idiomatic maybe

* remove logger

* try init func

* try

* try

* try init fn

* try

* switch

* try

* try

* ifndef

* try

* try

* ifndef

* use def dug

* INJECT FIRST

* try

* try

* duh
2020-10-09 23:34:45 -04:00
Matthew Kennedy 83fe9dae77
ign mode overrides (#1869) 2020-10-09 17:16:49 -04:00
rusefillc 5f15b8e48b tachPulsePerRev needs a safer default, MRE config needs a value 2020-10-06 00:56:49 -04:00
Matthew Kennedy c9fdde4472
remove virtual calls from hot path (#1857)
* const ref-ify

* no virtual 

* even more const

* tests

* fix tests
2020-10-05 16:42:50 -04:00
Matthew Kennedy 5925a5f4bd
const ref-ify trigger (#1856)
* const ref-ify

* tests
2020-10-05 14:22:59 -04:00
Matthew Kennedy 3aa4f2bd97
trigger decode cleanup and perf (#1853)
* trigger decode cleanup

* test config ptr patchup

* disable CDM by default
2020-10-04 19:29:26 -04:00
rusefillc c9d3d1f01a 60/2 perf grab #1850 2020-10-04 01:04:15 -04:00
GitHub build-firmware Action 2c0db8e970 Auto-generated configs and docs 2020-10-03 14:42:14 +00:00