Commit Graph

973 Commits

Author SHA1 Message Date
Matthew Kennedy 7cea9ab533
remove duplicate SD log fields (#2556)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-15 01:07:59 -04:00
Matthew Kennedy b110e01638
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 5e2e18d2b9
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 e83022f8d2
sd buffer (#2540) 2021-04-11 10:15:54 -04:00
Matthew Kennedy 22bcbf7444
More binary log fields (#2518)
* gauge names

* binary log

* it only takes scaled channel
2021-04-03 20:28:55 -04:00
Andrey G 3d138958ce
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 f0cf4f38ff
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 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 6491c83f73
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 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 599a9b0183
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 650d148008
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 95b08c433f
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 d7698f6703
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 be70524ced
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 248e9636db
extract CAN TS channel (#2469)
* extract CAN channel

* this is gross
2021-03-17 08:39:13 -04:00
Matthew Kennedy a931928a61 type signature, guards 2021-03-15 17:11:11 -04:00
rusefillc cf4068f54a fix error/warning buffer overflow #2456 2021-03-14 09:52:27 -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 b1873b3d8b
set all thread priorities in the same place (#2412)
* unify thread priority

* header

* mmc
2021-02-28 07:30:45 -05:00
Matthew Kennedy 9226f483a8
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 a50d1d5ee3
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 31f9fb9e94
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 bc85adc74e
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 3d69adb2e2 https://github.com/andreika-git/hellen-one/issues/3 2021-02-17 10:18:46 -05:00
rusefi c37529f5ea happy new year 2021-02-16 21:44:55 -05:00
Matthew Kennedy 878794f9cf
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 187c4d00f7
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 ddb54aee40
cleanup too while we're at it (#2336) 2021-02-12 20:27:43 -05:00
rusefi 6793b5d8fc M62T vanos support #2243 2021-02-08 20:38:38 -05:00
Matthew Kennedy 7d3cadfc87
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 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 93b034b8e9
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 156ae07bac limp mode too good for bench testing #2244 2021-01-27 00:02:37 -05:00
Andrey G 777979c3ca
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 e3e517f9a2 journey of self discovery 2021-01-14 23:34:10 -05:00
Matthew Kennedy bdacda558c
fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
Andrey G 25560b85c2
Supress annoing unused warnings (#2216) 2021-01-11 08:49:20 -05:00
rusefillc 1cbb0c5680 Revert "Revert "rpm rate of change (#2159)""
This reverts commit 538b3ac6
2021-01-09 20:06:19 -05:00
rusefillc 538b3ac649 Revert "rpm rate of change (#2159)"
This reverts commit f73b7123

#2207 yes, this makes no sense but just to confirm
2021-01-09 19:45:07 -05:00
rusefillc 880b310ec9 cherry pick from https://github.com/dron0gus/rusefi/tree/ChibiOS-20 2021-01-09 18:55:58 -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
Andrey G b92e3086d0
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 edee10ee1c
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 f73b7123bb
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 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 acdf6fdc85
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 342414a5f7
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