Commit Graph

991 Commits

Author SHA1 Message Date
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
Matthew Kennedy 2792828dce 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 28e65e8fea occasional tunerstudio CRC errors #1943
third time a charm?
2020-11-17 23:47:35 -05:00
rusefillc 9fb7540ece sporadic crc error #1943
un-removing, one step forward
2020-11-17 15:24:00 -05:00
rusefi 70a94ee1f7 occasional tunerstudio CRC errors #1943
second step back
2020-11-15 22:41:04 -05:00
rusefillc c3b680b408 occasional tunerstudio CRC errors #1943
one step back
2020-11-15 21:41:38 -05:00
Matthew Kennedy 80edfe64ce Fix crc again, for real this time (#1948)
* re enable

* changelog

* fix

* fix test

* put some tests back
2020-11-15 16:59:02 -05:00
rusefillc 1eb0f8808f occasional tunerstudio CRC errors #1943
unit test progress
2020-11-15 12:36:07 -05:00
rusefillc 05e7792ad4 occasional tunerstudio CRC errors #1943
now with a bit of a unit test
2020-11-15 12:27:47 -05:00
rusefillc 53bcd448cf occasional tunerstudio CRC errors #1943
getting ready for unit test
2020-11-15 11:55:26 -05:00
rusefillc 952e019b01 occasional tunerstudio CRC errors #1943
getting ready for unit test
2020-11-15 11:53:09 -05:00
rusefillc 0cc30b4239 Re-applying part of "fix CRC errors #1944" 2020-11-15 10:28:23 -05:00
rusefillc 0ec945dc4c fix CRC errors #1944
partial rollback in order to isolate the defect
2020-11-15 10:02:40 -05:00
Matthew Kennedy 3a052682dd fix large response packets (#1947)
* fix console text mode

* oops I should actually write the crc
2020-11-15 07:14:50 -05:00
Matthew Kennedy ebcd4f73af fix CRC errors (#1944)
* fix crc mismatch

* cleanup

* use size_t, add null check

* bounds check for good measure

* rename to scratchBuffer

* comment
2020-11-14 19:21:29 -05:00
Matthew Kennedy 74d2af9c6c 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
rusefillc e8446bd73c Output pin init/deinit needs a linked list #1803 2020-11-05 18:47:45 -05:00
Matthew Kennedy 5f11390f58 fatal error + inhibit read on TS preset (#1922)
* fatal error + inhibit read on preset

* inhibit more stuff when flag is set

* don't need that message

* extract function, improve msg

* changelog entry
2020-11-03 19:03:46 -05:00
rusefi c464dfdca6 Output pin init/deinit needs a linked list #1803 2020-11-03 00:21:39 -05:00
Matthew Kennedy a29f73f467 log afr in addition to lambda (#1920)
* log afr

* log it

* weird double commas
2020-10-31 17:52:07 -04:00
Matthew Kennedy c0ed7cab62 log target lambda (#1919) 2020-10-30 17:42:00 -04:00
rusefillc 31256f6559 fluid gauges 2020-10-28 00:20:35 -04:00
Matthew Kennedy b8c2041467 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 6abc80e74c 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
shadowm60 8b92537e2a Trigger logger (#1902)
* Update tachometer.cpp

Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next

* tacho unit tests

First successfull unit test for tachometer

* RAM adjustment so it would link

* refactoring tacho, broken!

* starting to make some progress...still fails after a few seconds

* Rework with SW PWM

* Update after code review

* unit_test update

* First working unit_test

* Update .gitignore

* Update engine_controller.cpp

* Update engine_controller.cpp

* Update tachometer.h

* Update test_tacho.cpp

* Switched UART DMA on

* Revert "Switched UART DMA on"

This reverts commit 4a23974c431e0e7fd760595d2161e74e6854897e.

* tooth logger update

Updated the way we send the buffer to TS
Updated the way we log cam signals
removed TDC, inj and ign direct log... this causes some flicker in TS, this way we log inj and ign comapred to a cranck or camshaft trigger.

* Update tooth_logger.cpp

Fix unit_tests

* Update tooth_logger.h

clean-up

* Update tooth_logger.cpp

remove dead code, actually i forgot to uncomment these lines.
rename isTDC to trigger, since it is trigger (cam) for TS.

Co-authored-by: rusefi <rusefi@users.noreply.github.com>
2020-10-25 22:26:20 -04:00
Matthew Kennedy dbdeca93b0 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
rusefillc fd30576dca GDI Epic #1448 2020-10-22 23:17:29 -04:00
Matthew Kennedy f6f3e514d2 trigger/scheduler perf improvements (#1885)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out
2020-10-16 11:04:27 -04:00
Matthew Kennedy 02c47eeec8 write SD header using new Writer class (#1882)
* write header

* hooray, free memory!

* fix test

* is there really this much free space...?

* no, there is not
2020-10-15 16:00:13 -04:00
Matthew Kennedy 4868068e2f start using BufferedWriter (#1878)
* do the part up to actual usage

* borrow some memory for now
2020-10-14 20:06:05 -04:00
Matthew Kennedy 89ac8508b9 Check for sd buffer overrun (#1867)
* use actual header size

* and the buffer can be a little smaller
2020-10-08 21:02:15 -04:00
rusefillc b1c0b72aa7 SD card logs not valid for REO #1864 2020-10-08 20:17:32 -04:00
rusefillc 08efb1f43d SD card logs not valid for REO #1864 2020-10-08 20:06:07 -04:00
rusefi af19c020c7 SD card logs not valid for REO #1864 2020-10-08 17:58:58 -04:00
rusefi a2f3ee8d06 SD card logs not valid for REO #1864 2020-10-08 17:50:43 -04:00
rusefillc d9102b3c3c 60/2 perf grab #1850 2020-10-04 00:15:40 -04:00
rusefi f8d5463064 making error codes available 2020-10-01 00:03:54 -04:00
Matthew Kennedy 3e64861c14 display base fuel mass in milligrams (#1838)
* switch to mg

* use the correct thing

* gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-30 20:19:51 -04:00
Matthew Kennedy 3374db1658 Remove dead & useless config (#1834)
* remove dead config

* remove enum
2020-09-29 06:34:39 -04:00
andreika-git 2d4d34291c Hellen says fix cypress build (#1818)
* fix compilation

* fresh generated files

* more files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-23 14:06:22 -04:00
Matthew Kennedy d23a48fc53 Dedicated sensors for wastegate + idle position (#1805)
* config

* add sensor

* listen to new adc channels

* fix

* add gauges to TS

* add gauge values

* TS UI
2020-09-18 10:04:07 +03:00
Matthew Kennedy 36234961c1 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 ead14bd1ca Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit 39280fb2
2020-09-12 04:36:24 -04:00
Matthew Kennedy 39280fb2c6 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 082ab11dfb Hellen says let's fix Prometheus part #3 2020-09-11 08:25:42 -04:00
rusefi c0f5dec636 Hellen says let's fix Prometheus 2020-09-11 07:51:49 -04:00
rusefi ea363c61b9 Hellen says let's fix Prometheus 2020-09-11 07:19:04 -04:00
rusefi 5521249dc9 Hellen says let's fix master 2020-09-11 07:05:32 -04:00
rusefi 63b1a6652b Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/console/binary/tunerstudio_io.cpp
#	firmware/console/console_io.cpp
2020-09-11 05:54:21 -04:00
rusefi 58be12bf0e Hellen says merge #1772 TS 2020-09-11 05:50:48 -04:00
Matthew Kennedy c2eb7c9f4a remove tach output pin (#1779)
* remove from cfg

* cfg

* rip out impl

* efi gpio
2020-09-09 16:52:23 -04:00
rusefi 0b1b2f991c Hellen says merge #1772 helping merge 2020-09-09 16:25:50 -04:00
rusefi b4a33ef59a Hellen says merge #1772 helping merge 2020-09-09 15:08:01 -04:00
rusefi a3c9871d58 Hellen says merge #1772 helping merge 2020-09-09 14:35:01 -04:00
rusefi d580869a4d Hellen says serial can 2020-09-07 12:19:32 -04:00
rusefi ee2096d5d6 Hellen says serial can 2020-09-07 12:10:39 -04:00
Matthew Kennedy 8adfef930f Selectable VE axis override (#1769)
* add config fields

* config options

* new output channels

* dump out state to ts

* s

* implement override

* enums

* this test is no longer used

* test new behavior

* old

* comments
2020-09-07 10:15:42 -04:00
rusefi 0e3d16b5d5 microRusEFI used as Body Control Module BCM BCU 2020-09-06 23:19:32 -04:00
Matthew Kennedy a3db817f6e Move ve logic (#1762)
* move ve

* fix build

* fix rendering

* duh

* cleaning

* correct scaling

* put some back

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-06 19:06:32 -04:00