Commit Graph

65 Commits

Author SHA1 Message Date
rusefillc 243fde13fa knock reaction #202
steps towards new LiveData convention
2022-04-29 13:47:31 -04:00
David Holdeman f305db2575
Add interface for selecting GearController and TransmissionController classes (#4048)
* save changes

* save changes

* save changes

* fix mistakes

* try adding empty method

* copy simpleTransmissionController to GM 4L6X controller

* Import 4l6x header

* add to makefile

* fix whitespace

* try enum class

* change field name

* change field name in rusefi.input

* check for gear controller mode

* add mode fields to catch if mode was changed
2022-04-06 17:37:30 -04:00
Matthew Kennedy 91ec135cf8
ignition controller detects rising edge on voltage (#3636)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test
2021-12-07 21:28:04 -05:00
Matthew Kennedy 81fffe87b7
main relay doesn't use fsio (#3580)
* fuel pump

* s

* call correct callback

* more dead

* test adjustment

* don't overflow

* don't need separate function

* java

* give it a name

* generated

* generated

* add to generate script

* import *

* this is so cheap we don't need a flag

* main relay

* plumbing

* dead fsio stuff

* test it

* by 100%, we mean 99.98%
2021-11-24 07:47:51 -05:00
Matthew Kennedy d40ca0f581
fuel pump doesn't use fsio (#3576)
* fuel pump

* s

* call correct callback

* more dead

* test adjustment

* don't overflow

* don't need separate function

* java

* give it a name

* generated

* generated

* add to generate script

* import *

* this is so cheap we don't need a flag
2021-11-19 22:23:12 -05:00
rusefillc 2431fa79b3 refactoring - extracting idle state 2021-10-17 00:30:26 -04:00
Matthew Kennedy e3ed413e06
send voltage and heater enable to WBO controller (#2956)
* add info send function

* fatal if CAN not configured correctly

* build

* s

* 20hz

* update wideband firmware

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-13 07:32:41 -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
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 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 5cb659a7b0
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 17719c5da0
prep for lua (#2589)
* thread priority

* build

* makefile prep

* call startup

* s
2021-04-27 07:57:08 -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 1dd2180f76
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
rusefi 6f065274e4 aux pid is now VVT 2021-02-10 12:41:38 -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
Matthew Kennedy d62618c5f8
prototype wideband firmware update (#2074)
* add submodule for firmware

* ts

* add updater

* add bench_test

* don't collide idx

* feature flag

* send acks

* fix timeout logic

* ui

* do it on the bench thread

* guard

* guard

* only do twice

* guard

* bump version

* update

* file name

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-16 08:28:53 -05:00
rusefillc fa58d75364 GDI Epic #1448 2020-11-05 16:34:25 -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
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
David Holdeman f5d9263ad1
switch start/stop to ButtonDebounce (#1777) 2020-09-09 08:22:15 +01:00
David Holdeman b8838de309
[TCU] Button Shifting (#1750)
* add buttonshift files

* buttonshift includes, targets, and init
2020-09-02 20:17:58 -04:00
David Holdeman 499a430347
[TCU] GearController and TransmissionController base classes (#1749)
* add tcu ts outputs

* accidental change?

* add tcu base classes

* rearrange

* accidental change?

* add files

* missing backslash

* undo accidental change

* buttonshift includes, targets, and init

* Revert "buttonshift includes, targets, and init"

This reverts commit 1b0630511e1948f3d330d74be5bff6c087f118fb.

* use unused bit

* add return documentation

Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2020-09-02 15:39:50 -04:00
Matthew Kennedy 1d0a244fa4 add fuel computer 2020-08-10 21:40:19 -07:00
Matthew Kennedy 626f55a08a refacto 2020-07-24 18:26:24 -07:00
Matthew Kennedy 76745412c6
Factor out airmass logic (#1483)
* refactor

* extract more airmass

* rename, fix tests
2020-06-06 07:25:19 -04:00
kon 8d35c35035
Aux serial (#1422)
* aux serial updates from last PR

* trying to guess

* wow that's old! also not working maybe?

* hiding diag code which was messing with GP2/GP3 i.e. TLE8888_PIN_22 TLE8888_PIN_23

* date

* Mc33 undervolt (#1421)

* mc33 flash check

* DI sanity checks for setting HV config

* mc33 under voltage check

* mc33 under voltage check

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>

* fixed {}

Co-authored-by: rusefi <rusefillc@gmail.com>
Co-authored-by: NOx-z <50815960+NOx-z@users.noreply.github.com>
Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
Co-authored-by: kon <dev@triggerdevel>
2020-05-11 12:17:42 -04:00
Matthew Kennedy f128b33694
General purpose PWM: implementation & tests (#1366)
* config

* significant digits

* renumber enum, no need for a "none"

* ui

* impl base

* error handle MAP

* init & update

* don't need arg

* don't lie about sensor

* fix test build

* test stub

* initialize

* null check

* fix clamping

* test output

* types & enums

* don't need param

* test getOutput

* fix

* output pin instead of brain pin

* default config
2020-04-26 14:06:28 -04:00
shadowm60 fe3030bb23
Vss over Can implementation proposal (#1340)
* Vss over Can implementation proposal

Working for BMW e46

* fixed Firmware CI?

* kinetis fix.

* minor fixes
2020-04-21 20:48:37 -04:00
Matthew Kennedy 53679fab54
Finally rename injector_central to bench_test (#1229)
* bench test rename

* rename consumers

* good lord what are all of these externs doing

* fix tests
2020-03-26 08:03:55 -04:00
rusefi 66ec0fdea6 moving a bit of crazy aside 2020-03-23 00:01:59 -04:00
Matthew Kennedy 7b44f618e7
custom verbose can format (#1200)
* config

* ts

* default cfg

* hand generate

* tx struct helper

* add data sending

* wire up

* value_or helper

* add file

* more sensors

* header

* compactify

* add status frame

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 17:58:46 -04:00
Matthew Kennedy 30cdeb0d7f
split out can tx logic (#1197)
* move to can folder

* split out can rx

* only print in debug mode

* guard on feature flag

* split out tx

* headers

* headers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 14:01:07 -04:00
Matthew Kennedy aeee5a1391
split out can rx logic (#1196)
* move to can folder

* split out can rx

* only print in debug mode

* guard on feature flag

* headers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-19 08:43:37 -04:00
Matthew Kennedy a96bf18604
move to can folder (#1195)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-18 23:20:00 -04:00
Matthew Kennedy 40b0783205
Split out EtbHardware (#1168)
* start tear out motor

* fix

* nuke reconfig

* guard for test

* test fixing

* format, condense headers

* fix todos

* undo todo

* format
2020-03-03 17:56:50 -05:00
960 4b4e683957
Boost pr (#1114)
* boost control

* cleanup

* Delete rusefi_config.txt

* Add files via upload

* Delete rusefi_config.txt

* Add files via upload

* Update rusefi.input

* Update boost_control.cpp
2020-02-02 03:56:21 -05:00
rusefi 62481d7fe8 The Big Refactoring of 2019: folder structure #723 2019-12-08 13:21:35 -05:00
rusefi cf8c6e7eca The Big Refactoring of 2019: folder structure #723 2019-12-08 13:09:51 -05:00
rusefi f6a50b7375 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:35:05 -05:00
rusefi de36f76882 The Big Refactoring of 2019: folder structure #723 2019-12-03 23:52:44 -05:00
rusEfi 1991437f77 development into unit tests, makefile cleanup 2019-11-19 20:05:12 -05:00
rusefi 2acdbf308b something is over-complicated here? looks like two classes should become one? 2019-10-08 02:56:19 -04:00
rusefi 72a710ffd5 The Big Refactoring of 2019: folder structure #723 2019-06-15 22:11:43 -04:00
rusefi 8d924a2f49 The Big Refactoring of 2019: folder structure #723 2019-04-09 23:17:09 -04:00
rusefi 5316d7ad6a The Big Refactoring of 2019: folder structure #723 2019-04-09 23:01:45 -04:00
rusefi e0c9493dd9 The Big Refactoring of 2019: folder structure #723 2019-04-05 01:41:24 -04:00
rusefi f9fa7604bc The Big Refactoring of 2019: folder structure #723 2019-04-05 01:02:34 -04:00
rusefi ebe58122c6 The Big Refactoring of 2019: folder structure #723 2019-03-31 16:56:13 -04:00
rusefi bd2b992918 unifying_file_naming 2019-03-29 09:11:13 -04:00