Commit Graph

1049 Commits

Author SHA1 Message Date
Andrey 270905fa8b removing dead code 2021-06-23 04:26:32 -04:00
Andrey 25168809f3 performance optimization by dron0gus 2021-06-21 09:27:09 -04:00
Andrey d7789bc2a0 those and many other offsets are no longer correct 2021-06-21 02:11:36 -04:00
Matthew Kennedy c77686ce3b gauges for raw TPS (#2831)
* ecu part

* gauges

* debug info for ford throttle

* sensible order
2021-06-18 16:27:44 -04:00
Andrey ba8ad555c2 reverting TCU cherry pick 2021-06-12 13:52:18 -04:00
Andrey aa9f609df5 random trick 2021-06-12 13:48:37 -04:00
rusefillc 9caa794e6c TCU cherry 2021-06-11 23:48:57 -04:00
rusefillc 68d2fdb6ce https://rusefi.com/forum/viewtopic.php?f=16&t=2027 2021-05-27 05:50:59 -04:00
Matthew Kennedy 4b0d75ff92 make the simulator usable (#2717)
* these start themselves now

* dead

* configure ports

* start serial

* dead

* minimal pins

* simulator logging works

* why not enable lua

* speeeeeed

* start lua

* spammy print
2021-05-17 12:44:02 +03:00
Andrey G 6d849d05c7 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 ad505bfb1b idle indicators (#2692)
* add coasting bit

* remove useless bit
2021-05-13 17:35:00 -04:00
Matthew Kennedy 047f62b2b9 remove deprecated getEngineLoadT (#2676)
* remove

* few more
2021-05-10 08:30:41 -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 G dd46591ad5 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 d7f9d42e07 Hook up multi bank fuel trim (#2532)
* multi bank trim

* cleaning

* output channels

* output channels
2021-05-08 17:41:50 -04:00
rusefillc 4b9dd02056 check MCU flash size at runtime fix #2648 2021-05-07 17:05:47 -04:00
Andrey G f2a194e035 Kill warnings (#2623)
* dead code

* rtc_helper: clean-up warnings

* kill unused
2021-05-04 18:55:27 -04:00
Andrey G 2176d1656b ADC: internalIndex should be used as getAvgAdcValue argument (#2618)
* ADC: internalIndex should be used as getAvgAdcValue argument

-plus output messages re-formated

* ADC: logger -> efiPrintf
2021-05-03 16:44:19 -04:00
rusefillc 87e0b28cc4 https://rusefi.com/forum/viewtopic.php?f=16&t=1996 2021-04-25 09:18:35 -04:00
rusefi 7300bbe750 improving QC process 2021-04-23 00:45:36 -04:00
rusefi 6c75a3d7b4 improving QC process 2021-04-22 22:04:39 -04:00
rusefi be0f2210c5 improving QC process 2021-04-22 21:23:20 -04:00
Matthew Kennedy 737ee444b8 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 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 967383dd8e 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
Matthew Kennedy 177f3afd05 ts logger (#2566)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 19:13:48 -04:00
Matthew Kennedy 1c4c7fe62c remove duplicate SD log fields (#2556)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-15 01:07:59 -04:00
Matthew Kennedy 774f4416a7 constexpr-ify log field list (#2548)
* constexprify

* reclaim ram

* more constexpr

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-13 20:16:18 -04:00
Matthew Kennedy d7e95cd31f 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
Matthew Kennedy 96e655ff4e sd buffer (#2540) 2021-04-11 10:15:54 -04:00
Matthew Kennedy b20ead8d18 More binary log fields (#2518)
* gauge names

* binary log

* it only takes scaled channel
2021-04-03 20:28:55 -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 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 368415972e 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 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
Matthew Kennedy 7cdad67f3f USB uses its own channel, add implementations for serial channels (#2472)
* USB uses its own channel

* revise channels

* put serial ports in their own file

* h7 uart incompatible for now

* guard for sim
2021-03-19 17:05:04 -04:00
Matthew Kennedy 2bf833a1ee 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 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 cb33bb77ae Dedicated code path for USB console/TS (#2465)
* new apis

* dedicated USB path

* move decl

* init

* don't init usb twice

* guard

* check that we're initialized before using TS

* comment

* guard

* guard USB

* brain doesn't go good

* make tests happy

* dead define

* cypress

* ifdef != if

* s

* include priority

* don't start a thread we know we don't need

* bad-ish merge

* const

* why did this code exist...?

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-18 14:07:22 -04:00
Matthew Kennedy 925a6ca086 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 34b678728a extract CAN TS channel (#2469)
* extract CAN channel

* this is gross
2021-03-17 08:39:13 -04:00
Matthew Kennedy a26002bc02 type signature, guards 2021-03-15 17:11:11 -04:00
rusefillc 212b9d6684 fix error/warning buffer overflow #2456 2021-03-14 09:52:27 -04:00
Matthew Kennedy 962e0b32e7 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 943e6078c8 logging cleanup before refactor (#2438)
* minor cleanup

* more cleaning

* signature

* spelling

* doy
2021-03-09 08:43:29 -05:00
Matthew Kennedy d7536bf059 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 f8747a35bf set all thread priorities in the same place (#2412)
* unify thread priority

* header

* mmc
2021-02-28 07:30:45 -05:00
Matthew Kennedy 726be2232e yet more TS sanity (#2382)
* ts cleanup part 1

* move more stuff in to the class

* extract base class

* switch to TsChannelBase where we can

* dfu

* more to TsChannelBase

* bad merge

* another bad merge

* bootloader

* bluetooth

* format

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-20 02:11:39 -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 10efd25764 dead code (#2379)
* dead code

* do nothing

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-19 07:58:52 -05:00
Matthew Kennedy 43f39fa616 start making tunerstudio more sane: part 1 (#2378)
* ts cleanup part 1

* unused unused

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-19 07:40:59 -05:00
rusefi 483bee389b https://github.com/andreika-git/hellen-one/issues/3 2021-02-17 10:18:46 -05:00
rusefi 06dc9a9210 happy new year 2021-02-16 21:44:55 -05:00
Matthew Kennedy c75af2ac75 properly put buffers in no-cache regions (#2357)
* configure for no cache

* this doesn't need a setting

* now we don't need invalidate

* reorder and comment

* mmc

* sw knock
2021-02-15 17:39:11 -05:00
Matthew Kennedy a576c2e109 USB mass storage tweaking (#2352)
* disable TS in case of USB MSD

* housekeeping while we're here

* enable on MRE

* changelog
2021-02-14 15:03:07 -05:00
Matthew Kennedy 71d68b51f4 cleanup too while we're at it (#2336) 2021-02-12 20:27:43 -05:00
rusefi 1012b61e02 M62T vanos support #2243 2021-02-08 20:38:38 -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
Andrey G 04c7ad67aa 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 cd03443dea Limp handles inj/ign disable (#2245)
* status loop just asks limp mgr

* put logic in limp manager

* don't need that function any more

* bye

* TIL these bits already exist in the configuration
2021-01-27 21:28:53 -05:00
rusefillc de5a98880a limp mode too good for bench testing #2244 2021-01-27 00:02:37 -05:00
Andrey G 27905c6817 Chibi os 20 (#2212)
* Update ChibiOS

* Fix Makefiles includes paths

* halconf.h: remove flash hack

* mcuconf: fix EXTI ptiorityes

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

* ChibiOS: lis302dl fix

* ADC: update to new API

* UARTConfig: timeout_cb field, formating

* ChibiOS: remove _exit, _kill, _getpid

* Fix lis302dl

* Bump config versions

* chconfig_common: cosmetic changes

* stm32f4ems: commulative config update

* Update Simulator

* ALLCSRC already contain all needed ChibiOS files.

Same for ALLINC and ALLCPPSRC

* ChibiOS fix for Simulator

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

* STM32F7: update configs

* STM32F7: update linker file

* Cypress: port ADC lld to ChibiOS-20

* Cypress: port SPI lld to ChibiOS-20

* Cypress: port CAN lld to ChibiOS-20

* Cypress: fix include path for rules.ld

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

* Kinetis: update ADC lld to ChibiOS-20

* Kinetis: update SPI lld to ChibiOS-20

* Kinetis: update UART lld driver for ChibiOS-20

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

* Kinetis: fix include path for rules.ld

* Nucleo F746: update ld script

* Nucleo F746: fix compile

* Bootloader: fix compilation with ChibiOS-20, cleanup

* Bootloader: add way to pass crosscompiler using CROSS_COMPILE

* Debug build arguments

* Simulator: fix windows compilation

Exclude syscalls_cpp.cpp from compilation
2021-01-19 15:20:35 -05:00
rusefillc e722f52d39 journey of self discovery 2021-01-14 23:34:10 -05:00
Matthew Kennedy 5bfee13c21 fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
Andrey G 052e2e558b Supress annoing unused warnings (#2216) 2021-01-11 08:49:20 -05:00
rusefillc 6fef10bd6d Revert "Revert "rpm rate of change (#2159)""
This reverts commit d3c49578
2021-01-09 20:06:19 -05:00
rusefillc d3c49578b7 Revert "rpm rate of change (#2159)"
This reverts commit eecb7ce9

#2207 yes, this makes no sense but just to confirm
2021-01-09 19:45:07 -05:00
rusefillc 5b7a59928a cherry pick from https://github.com/dron0gus/rusefi/tree/ChibiOS-20 2021-01-09 18:55:58 -05:00
Andrey G b61ae75fe2 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
Andrey G 71fe582ce5 Adc isAdcChannelValid helper (#2188)
* Guard define argument

* ADC: isAdcChannelValid

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

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

* stub sensor

* stub init

* output channel, gauge, SD log

* linky linky

* fix

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-05 07:57:26 -05:00
Matthew Kennedy eecb7ce97f rpm rate of change (#2159)
* compute rpm rate of change

* fix units on gauge

* oops

* correct order

* scaling and limits

* correct for engine cycle length

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-03 09:55:44 -05:00
Matthew Kennedy add0dcd390 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 83266c904b 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 8492f99b91 show when idle is closed loop (#2160)
* show when idle is closed loop

* semicolon

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-30 08:42:40 -05:00
Matthew Kennedy 59d725a113 fix (#2094) 2020-12-18 01:30:51 -05:00
shadowm60 5bd1da17c1 Logic analyzer ts report (#2080)
* Logic analyzer

progress of integration with debug channels

* Update logic_analyzer.cpp

fixed duty report in %

* Update logic_analyzer.cpp

* Update logic_analyzer.cpp

fix for setting one channel to unused, and use the same pin for another channel. this way we clear out hw pointer and we do not have the risk of reporting wrong values.
2020-12-15 14:52:48 -05:00
Matthew Kennedy e0c7d550f4 sd log afr 2 (#2052) 2020-12-10 14:05:52 -05:00
Matthew Kennedy ba1ba1452d second lambda (x-series CAN only, for now) (#2048)
* add sensor

* second sensor

* switch sensor name

* gobblin up your memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-09 20:26:23 -05:00
Matthew Kennedy cf91351c4a config for second lambda (#2047)
* config

* size

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-09 14:30:51 -05:00
Matthew Kennedy e38a160644 start peeling out ts commands (#2045)
* start peeling out commands

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-09 02:23:02 -05:00
rusefi df4f738401 Merge remote-tracking branch 'origin/master' into master
# Conflicts:
#	firmware/controllers/engine_cycle/high_pressure_fuel_pump.cpp
2020-12-08 21:37:45 -05:00
rusefillc 3f17d84b44 fix warnings found by clang #2014 2020-12-08 13:59:40 -05:00
Matthew Kennedy 2e1dad3650 start making TS protocol testable (#2043)
* start pulling out a class

* pull function out of loop

* there we go

* ok there we go for real

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-08 03:05:43 -05:00
rusefi 412e2b1d40 Revert "Revert "Split ETB in to interface + implementation headers (#2040)""
This reverts commit dae0b606
2020-12-07 01:27:27 -05:00
rusefi dae0b606cb Revert "Split ETB in to interface + implementation headers (#2040)"
This reverts commit 53cbeedb
2020-12-07 01:11:19 -05:00
Matthew Kennedy 53cbeedb99 Split ETB in to interface + implementation headers (#2040)
* split etb interface

* mocks

* fix master while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-07 00:29:09 -05:00
Andrey G 4980fc49d9 Fixes after clenup (#2019)
* We still need consoleEventListener for boards with EFI_CONSOLE_SERIAL_DEVICE

* MC33810: add MC_ prefix for command defines

As CMD_PWM define is now used by console command
2020-12-05 11:54:09 -05:00
Matthew Kennedy 9d2471e9ff add indicator for tps2 fail (#2016)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-05 00:01:24 -05:00
rusefillc a1fe39b89d unit tests in clang #2012 2020-12-04 23:59:21 -05:00
rusefi b2493e3181 Merge remote-tracking branch 'origin/master' into master 2020-12-04 21:52:22 -05:00
shadowm60 45205e7da7 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 b03779e0ac time to bump TS_OUTPUT_SIZE! 2020-12-02 14:10:02 -05:00
shadowm60 1725efc7e3 introduce vehicle acceleration in TS (#1997)
* introduce vehicle acceleration in TS

* Update rusefi.input

added gauge as well
2020-12-02 11:12:19 -05:00
rusefillc ea1c4f9e25 engine sniffer - pins are not displayed #1995 2020-12-01 22:58:27 -05:00
rusefi 6bf93b653f Merge remote-tracking branch 'origin/master' into master 2020-11-29 12:51:04 -05:00
rusefi a853d99d1a start/stop debug process 2020-11-25 16:44:08 -05:00
Matthew Kennedy ebb8ede1da squash warnings (#1984)
* warnings

* unused

* a few more

* too much

* uint16_t-ify
2020-11-23 09:43:16 -05:00
rusefi a54f3e5289 GDI Epic #1448 2020-11-23 01:10:12 -05:00