Commit Graph

1080 Commits

Author SHA1 Message Date
alxrMironov 9d1ce540c4 Begin "vehicleSpeed" refactoring. Module switched to "FunctionalPointerSensor" class. #3106 #3107 #3108. (#3132)
* Add new sensor type "VehicleSpeed"

* Add "Vehicle speed" sensor to name list

* Add Vehicle speed sensor initialization with function pointer sensor.

* Add init_vehicle_speed_sensor.cpp to Makefile

* Replace dependencies from "getVehicleSpeed" to OOP-like "Sensor::get()"

* Add warning and TODO to "mock vehicle speed" call

* Replace get & mock "VehicleSpeed" methods in tests

* Remove #warning directive (cause error by current settings)

* Remove stray tab

* Remove explicitly type casting.

* Add "InitVehicleSpeedSensor" function declaration to init.h

* Add "VehicleSpeedSensor" initialization call into "InitNewSensors"

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-12 22:16:51 +03:00
rusefillc 8034528dff moving two lines closer 2021-08-07 17:13:54 -04:00
Matthew Kennedy c3cbf8d34c oops (#3116) 2021-08-07 22:56:59 +03:00
rusefillc dbd879284c would H7 work? 2021-08-07 12:36:39 -04:00
Matthew Kennedy 39388c75d8 even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy 4e6b61234f 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 c03c779703 make build happy (#3067) 2021-07-26 09:08:05 -04:00
Matthew Kennedy d3ec2b21d1 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 0fde085a44 remove TS file read (#3004)
* remove

* more defines

* test

* lots of java

* s
2021-07-21 14:24:53 -04:00
Matthew Kennedy 3fa7a52a84 fan indicators + test buttons (#3002)
* sd bits

* rusefi.input

* second fan bit

* fans
2021-07-20 23:26:06 -04:00
Matthew Kennedy dfaac25df1 sd card indicators (#3001)
* sd bits

* rusefi.input
2021-07-20 21:29:24 -04:00
Matthew Kennedy 7d709950f7 force init LEDs even with fatal (#2998) 2021-07-20 17:09:52 -04:00
Matthew Kennedy dec215f199 detect clock with TIM11 instead of TIM5 (#2989)
* detect clock with TIM11 instead of TIM5

* s

* h7 has a different register name

* s

* rename
2021-07-19 18:04:59 -04:00
rusefillc 9570458aea NB2 trigger shape does not seem to match JimStim #2980 2021-07-17 16:12:54 -04:00
Matthew Kennedy e3849b95d5 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 122ef9f637 making code more testable 2021-07-14 22:37:05 -04:00
Matthew Kennedy c08eb18ca7 Start on HSI clock (#2957)
* chibios uses HSI

* set pll to use HSE

* simplify capture

* even better logging

* string

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-14 15:20:38 -04:00
rusefi 723b347e4d longer error message in 't' response 2021-07-14 12:42:35 -04:00
rusefi ad37021a0b printing autoDetectedPllMValue in console 2021-07-14 12:42:35 -04:00
rusefi 1b2be671dd 't' comammand to return fatal error text 2021-07-13 22:53:11 -04:00
Matthew Kennedy ff31301284 trailing coils (#2937)
* gpio wiring

* plumbing
2021-07-09 15:51:30 -04:00
rusefillc 1cfdf68ecf fix vvt indication #2926
TS project part of the change
2021-07-08 09:37:56 -04:00
Andrey 09fee427c4 fix vvt indication #2926
only field rename
2021-07-08 09:25:31 -04:00
Matthew Kennedy 717d4dd7ac Unified cyl count macro (#2914)
* update test framework

* eh

* hey look it's fewer warnings

* unwind

* fix

* config

* configs

* logic

* even java had some

* console needs help
2021-07-06 20:14:08 -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
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