Commit Graph

544 Commits

Author SHA1 Message Date
Scott Smith dac67235c4
Don't keep a separate MultiChannelStateSequence for the trigger emulator, version 2. (#3517)
All it wants is to use the main trigger state, so don't bother copying it.  Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt.  Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes.  And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)

Also remove SimplePwm's 2nd copy of SingleChannelStateSequence.  It served no purpose.

Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-10 07:01:20 -05:00
rusefillc 1db9a02f1d Revert "Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)"
This reverts commit 280dfa94e7.
2021-11-09 20:42:23 -05:00
Scott Smith 280dfa94e7
Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)
All it wants is to use the main trigger state, so don't bother copying it.  Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt.  Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes.  And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)

Also remove SimplePwm's 2nd copy of SingleChannelStateSequence.  It served no purpose.

Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-09 14:35:07 -05:00
Andrey b4f1f7b8d2 lua curve progress 2021-11-05 16:08:34 -04:00
rusefillc 1ead914f93 more curves! also names for curves 2021-11-04 23:59:04 -04:00
rusefillc 77be92e2c3 more curves! also names for curves 2021-11-04 23:22:37 -04:00
rusefillc 85984928ca more curves! also names for curves 2021-11-04 23:19:44 -04: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
rusefillc 5f4fa50682 VVT is no longer aux pid 2021-10-28 23:51:46 -04:00
rusefillc 5fdc884e71 generate java enum from C enum? generate both C and java from yaml? #2102 2021-10-23 22:07:44 -04:00
rusefillc 0d5e605f75 Aux analog inputs via CAN #3378 2021-10-19 20:04:03 -04:00
rusefillc 4871e8ba42 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
dead code
2021-10-14 15:17:59 -04:00
Matthew Kennedy 9797d25b7c
getOrZero (#3319) 2021-10-05 19:59:07 -04:00
Matthew Kennedy 8cd132b8a8
dead knock code (#3255)
* more unification

* hip stub

* comment

* guard

* channel idx

* include

* hip

* move in to engine

* hip9011

* dead stuff

* dead

* fsio

* lcd

* more dead
2021-09-21 20:40:20 -04:00
rusefillc 22a0b88872 my first Lua 2021-09-01 07:47:50 -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
Matthew Kennedy d2b54428c0
cleanup missing fsio stuff (#3189) 2021-08-24 08:19:03 +03:00
Matthew Kennedy 559656bdc2
lua & fsio cleanup (#3175) 2021-08-18 15:25:46 -04:00
rusefillc 063ab4af35 dead FSIO 2021-08-14 11:52:41 -04:00
rusefillc 4ad584d3cc dead idle FSIO 2021-08-12 18:34: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 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 bd599ab374
cleanup for pch (#3062)
* cleanup

* d
2021-07-25 20:43:02 -04:00
Andrey 6d958826c7 Nissan 360 CAS #3003
docs
2021-07-20 21:11:08 -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
Andrey d6e4c8281d progress - reducing code duplication 2021-07-12 21:22:20 -04:00
Matthew Kennedy 43e6cef77d
more graceful chibios assertion failure (#2859)
* no custom assert hook

* dead

* setjmp/longjmp

* always call tid hook

* tests get threadid

* simulator threadid

* kick

* stubs for kinetis

* make it happier

* noreturn

* oops

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-05 18:18:58 -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 a498e86944
dead fsio alt (#2871) 2021-06-26 20:15:48 -04:00
Andrey 28a27367e5 helping build? 2021-06-25 11:48:17 -04:00
rusefillc b84369c8c0 unit_tests: mapAveragingTriggerCallback causes segmentation fault fix #2858 2021-06-25 10:43:58 -04:00
Matthew Kennedy fd49590a4e
don't stack overflow on early ch dbg assert (#2853) 2021-06-24 16:36:20 -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 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
Andrey G 710a512fe7
Hw layer rearrangement (#2703)
* max31855: move to sensors

* uart GPS driver: move to sensors and rename

* i2c_bb: move to drivers

* LCD HD44780: move to drivers

* ping?
2021-05-16 06:01:00 -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 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 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 bf41ec354e helping us trace CUSTOM_FSIO_STACK_SIZE 2021-04-08 15:59:42 -04:00
rusefillc b49c5200b7 helping us trace CUSTOM_FSIO_STACK_SIZE 2021-04-08 15:15:12 -04:00
rusefillc 007764b212 code style? 2021-04-04 22:09:22 -04: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 4e3e95db2d
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 1c473934b9
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
Matthew Kennedy b56a31143e
fix error/warning buffer overflow (#2456)
* fix error printing overflow

* make the worst offender shorter

* error as warning

* these don't need that flag set
2021-03-14 09:31:11 -04:00
Matthew Kennedy 990c3649ae
logging cleanup before refactor (#2438)
* minor cleanup

* more cleaning

* signature

* spelling

* doy
2021-03-09 08:43:29 -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 b6de500059
cleanup (#2386) 2021-02-23 16:57:14 -05:00
Matthew Kennedy 102804db7d
rework FSIO LEelement (#2374)
* save

* firmware

* test parsing multiple things

* split tests
2021-02-17 23:32:44 -05:00
rusefi 92ffd4a84b no one expects to make FSIO progress 2021-02-17 10:53:35 -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
rusefillc 6416929fbd M62T vanos support #2243 2021-02-10 19:51:14 -05:00
Andrey G 3166076839
Some fixes prior to board pull request (#2291)
* ChibiOS: add support for STM32F765

This chip is used on Subaru EG33 p'n'p RusEFI board from Dron_Gus

* drivers: gpio: mc33810: commulative update

- use BIT macro
- fix wake-up method
- fix order of arguments in _add function

* port: stm32f4/7: detectCanDevice check for enabled interfaces only

* ADC: fix internal array size

internalAdcIndexByHardwareIndex should be EFI_ADC_LAST_CHANNEL size
couse adc_channel_e is used as index

* status LEDs: support status LEDs that driven by low level
2021-02-06 12:22:57 -05:00
Matthew Kennedy 60f70a3721
clean up some includes (#2227)
* cleanup

* make c happy
2021-01-16 09:45:45 -05:00
rusefillc e1668402f6 cmd_test_main_relay
helping build
2021-01-11 20:01:20 -05:00
rusefillc 1431baefbc cmd_test_main_relay 2021-01-11 19:37:50 -05:00
rusefillc 4416d1c7dc cmd_test_main_relay 2021-01-10 23:46:50 -05:00
rusefillc 494b6caf3b cmd_test_main_relay 2021-01-10 20:30:08 -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 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
Matthew Kennedy ba2c675ffa
progress to fsio type safety (#2137)
* rename

* packed type safe fsio value

* comment

* rename

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-27 17:22:11 -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 64c8d7c494
unused ivalue (#2138)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-25 09:47:33 -05:00
Matthew Kennedy 17554539d1
rename (#2136)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-25 08:40:54 -05:00
Matthew Kennedy 7790453342
format in tests (#2100) 2020-12-18 08:48:19 -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 378d118118
test (#2071)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-12 23:40:05 -05:00
shadowm60 593be1c943
Fsio eval check (#2068)
* FSIO error signaling

- wrong keyword in FSIO now shows up as nice TS error message
- added f7 debug option for vsCode as well.

* Keep unit_test happy
2020-12-12 20:03:52 -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
Matthew Kennedy 22c74895a6
put back safe part of #2005 (#2036)
* put back some safe bits

* dumb typo

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 22:28:29 -05:00
rusefillc b3d45b909f Revert "switch rpm calculator to use timer class (#2005)"
This reverts most of a26ed3eb5a commit.
2020-12-06 18:05:53 -05:00
Matthew Kennedy a26ed3eb5a
switch rpm calculator to use timer class (#2005)
* add api

* rpm calculator

* fix fsio

* fix float

* remove wrong comment

* fix timer

* clang didn't like this

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 16:01:45 -05:00
Matthew Kennedy f1f64bd3e5
add timer since last trigger tooth (#2004)
* add elapsed time to timer

* store trigger time

* fsio method

* don't do a 64b divide

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-03 11:13:45 -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
Matthew Kennedy bb8650179c
consolidate EFI_UNIT_TEST and friends (#1940)
* restructure

* guard c++

* idle too

* status_loop.h

* consolidate definitions

* use 1/0 instead, check for existence

* missed a few

* dead define

* defs for bootloader
2020-11-11 20:34:39 -05:00
Matthew Kennedy d992bab241
Move all DECLARE_ENGINE_PTR etc to one place (#1937)
* restructure

* guard c++

* idle too

* status_loop.h
2020-11-11 19:06:04 -05:00
Matthew Kennedy 1bce3aa4c0
Etb function cfg, try again (#1860)
* two throttles one thread

* look at all this RAM!

* add enum

* switch from index to function

* test fixup

* improve init logic

* remove old vw idle mode bit

* add config

* better spot for it

* use config init values

* handle null controller array

* fatal error testability

* test new init config

* defaults

* fix for default config
2020-10-08 14:12:03 -04:00
Matthew Kennedy cb47cde068
switch from float to expected<float> (#1862) 2020-10-06 22:33:00 -04:00
Matthew Kennedy 8cff16e797
FSIO refactoring (#1861)
* better fsio tests

* condense operators

* minor parser cleanup too

* comments, too!
2020-10-06 21:54:49 -04:00
Matthew Kennedy 86b5edecbc
missing iat (#1854) 2020-10-04 21:33:54 -04:00
rusefillc 367436454d HW CI has failed 11 times since Oct 2 #1849
Revert "ETB function config (#1831)"

This reverts commit af59c45a
2020-10-03 22:00:00 -04:00
Matthew Kennedy af59c45adb
ETB function config (#1831)
* two throttles one thread

* look at all this RAM!

* add enum

* switch from index to function

* test fixup

* improve init logic

* remove old vw idle mode bit

* add config

* better spot for it

* use config init values

* handle null controller array

* fatal error testability

* test new init config

* defaults

* fix for default config
2020-10-02 20:51:02 -04:00
Matthew Kennedy a05b06f5f0
print red (#1843) 2020-10-01 17:14:25 -04:00
Matthew Kennedy 97cb9f45bd
logging simplification: switch bare functions to member functions: try the second (#1794)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup

* fix sniffer
2020-09-13 11:49:25 +03:00
rusefi 256a4a2637 Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit d941bdc5
2020-09-12 04:36:24 -04:00
Matthew Kennedy d941bdc502
logging simplification: switch bare functions to member functions (#1788)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup
2020-09-12 03:08:11 +03:00
rusefi 89bb08ddb6 Hellen says merge #1772 Kinetis needs help 2020-09-10 21:51:58 -04:00
rusefi ec366b68ee Hellen says merge #1772 main relay progress 2020-09-10 21:11:02 -04:00
rusefi 2840d2c276 Hellen says merge #1772 error pin logic 2020-09-09 18:35:17 -04:00
rusefi 8bcc387fa7 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/core/error_handling.cpp
#	firmware/controllers/system/efi_gpio.cpp
2020-09-09 18:23:04 -04:00
rusefi 3af04d7824 Hellen says merge #1772 error pin 2020-09-09 18:18:59 -04:00
rusefi cea0ec439b microRusEFI used as Body Control Module BCM BCU 2020-09-07 11:09:48 -04:00
Matthew Kennedy 95798a5246
fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
rusefi 795c7acf31 A vague bug #1684 2020-08-08 21:38:09 -04:00
rusefi 196337a8de NA6 progress 2020-07-29 22:48:41 -04:00