Commit Graph

485 Commits

Author SHA1 Message Date
Andrey 09fee427c4 fix vvt indication #2926
only field rename
2021-07-08 09:25:31 -04:00
Andrey G fdfec5ea3c Fix swap macro (#2904)
* convert swap macroses to inline functions

* clean-up workarounds
2021-07-04 18:03:17 -04:00
Andrey 9ad5ec8044 refactoring: getShaftSynchronized 2021-07-03 10:37:03 -04:00
Andrey 9339f0169d Nissan progress 2021-07-02 20:12:31 -04:00
Andrey e1c6e19577 less broken code? 2021-07-02 19:28:09 -04:00
Matthew Kennedy fe6f123be5 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 b0ef8313cd warnings (#2862)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-25 20:58:38 -04:00
Andrey G 5c552e196a TS communication minor fixes (#2847)
* console: noone use this

* console: do not stop blinking if TS command executes too long

Set and clear flag from the same place

Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-06-23 04:36:55 -04:00
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
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
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
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 d7f9d42e07 Hook up multi bank fuel trim (#2532)
* multi bank trim

* cleaning

* output channels

* output channels
2021-05-08 17:41:50 -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 b20ead8d18 More binary log fields (#2518)
* gauge names

* binary log

* it only takes scaled channel
2021-04-03 20:28:55 -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 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 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 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 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 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
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
rusefi 1012b61e02 M62T vanos support #2243 2021-02-08 20:38:38 -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 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
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 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 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
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
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
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 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 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 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
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
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
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
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
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
David Holdeman 51258d2cbc [TCU] TS interface and output channels (#1747)
* add tcu ts outputs

* accidental change?

* rearrange
2020-09-02 13:30:54 -04:00
Matthew Kennedy 95f858265b detect which cylinder knocked (#1732)
* s

* science

* set pin mode

* turn stuff off so it fits

* filtering maybe

* filtering actually works

* generate filter parameters internally

* shorter window

* guard behind enable flag

* use checked in filter

* add biquad reset

* tracing

* const

* exec order

* do it from a thread

* smaller buffer, comment

* configure with header

* only for proteus

* oops

* unused

* not needed

* guards

* pin config

* don't need that include

* precook filter steady state

* define sample rate

* multi cylinder knock

* TS

* only sense when running
2020-08-31 21:05:33 -04:00
rusefi 8f8d8ed8f9 Revert "reducing confusion?"
This reverts commit f80b27ab

this was NOT reducing the confusion
2020-08-28 21:03:01 -04:00
rusefi f80b27ab12 reducing confusion? 2020-08-28 08:58:51 -04:00
Matthew Kennedy cc25333fae Auto cal dual etb (#1725)
* implement

* add bench mode

* add ts cal mode

* TS impl

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-23 23:41:35 -04:00
Matthew Kennedy 207aafe262 harmonize blocking factor (#1709)
* harmonize blocking factor

* static assert
2020-08-21 14:12:28 -04:00
Matthew Kennedy c03e0eb302 add (#1711) 2020-08-21 08:53:23 -04:00
Matthew Kennedy d2c93afff8 Ts error codes (#1706)
* correct TS errors

* tidy

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-08-21 08:24:31 -04:00