Commit Graph

2414 Commits

Author SHA1 Message Date
Nathan Schulte 96b2195497
misc tidy (#4926)
* FrequencySensor: code-style

* smart_gpio: fix indent, tidy BOARD_EXT_GPIOCHIPS

tidy _GPIOCHIPS for #pragma message(STRING(BOARD_EXT_GPIOCHIPS output

* obd_error_codes: fix indent
2023-01-01 15:51:31 -05:00
Matthew Kennedy 1f83047ddd tolerate no SPI device 2022-12-21 20:26:39 -05:00
Matthew Kennedy 87b903a2e3
nonblocking for TS, blocking for SD card (#4903) 2022-12-17 20:01:15 -05:00
rusefillc 89bf9fb423 kind of a fix? 2022-12-17 18:59:38 -05:00
rusefillc 85976ed63d guards 2022-12-17 15:23:32 -05:00
rusefillc fa4c69f6cf SDC_MODE flexibility 2022-12-16 20:22:48 -05:00
Matthew Kennedy 52884c64cb
SD card tooth log (#4897)
* adjust tooth logger api

* mmc card writes tooth log

* changelog
2022-12-15 08:34:10 -04:00
Matthew Kennedy 9d8bfb834e
Basic trigger scope implementation (#4885)
* big buffer

* mostly hooked up big buffer

* bad merge

* s

* sneak preview of trigger scope

* s

* constness

* channel limits

* s

* unnecessary

* efilib

* TcpServerSandbox

* includes fix

* binary format

* tooth logger uses big buffer

* dead config

* config

* implement basic trigger scope

* good behavior

* enable on other alphax

* flag to enable second channel

* use 8 bit mode on the ADC for less memory use

* changelog
2022-12-10 23:00:12 -05:00
Matthew Kennedy 8ea5969607
fix warnings (#4840)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 10:11:14 -05:00
Matthew Kennedy ef53ff0104
period -> frequency (#4837)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 08:10:05 -05:00
Nathan Schulte 59406e83f3
avoid ctime, use UTC ISO 8601 for CMD_DATE format (#4764)
* java_console: use UTC ISO 8601 for CMD_DATE format

* ChibiOS RTC avoids ctime

* firmware: controller sets time via ISO 8601

* avoid ctime in CAN dash
2022-11-23 16:53:16 -04:00
rusefillc 8eaa901595
avoid ctime in GPS UART (#4824)
Co-authored-by: Nathan Schulte <nmschulte@desmas.net>
2022-11-23 13:20:36 -05:00
Nathan Schulte fd1115d01a
code style, GPS fixes (test, firmware) (#4822)
* tidy NMEA

* const in nmea

* correct gps test output

* fix GPS UART print statements

* cleanup feature toggles in settings

* fix comment typos, misc whitespace
2022-11-23 07:01:34 -04:00
Nathan Schulte 2a36880961
add /usr/sbin to PATH in create_ini_image*.sh (#4809) 2022-11-21 10:14:49 -05:00
Nathan Schulte 2afc9162eb RTC toggle in hardware.cpp 2022-11-21 09:36:28 -05:00
Nathan Schulte 80cfdc4e1a tidy hw_layer/rtc_helper gcc ifs 2022-11-21 09:35:24 -05:00
rusefillc 6c9f59fd56 big delete ICU #4270
random doc
2022-11-20 19:15:07 -05:00
rusefillc 87c3e957de docs 2022-11-20 16:20:01 -05:00
rusefillc a331cfa2c9 simpler SENT for now 2022-11-19 09:38:39 -05:00
Nathan Schulte d144248a6f
fix simulator build (via MinGW) (#4799)
* firmware: kill -9 dead hipLastExecutionCount

* firmware: pin_repository C includes efi_gpio.h

* firmware: controllers: tidy #endif comments

* firmware: primary_pins logic depends EFI_GPIO_HARDWARE

* firmware: only print ADC info if HAL_USE_ADC

* firmware: digital_input: tidy #endif comments

* firmware: digital_input logic depends on e.g. HAL_USE_ADC

* firmware: digital_input logic depends !EFI_SIMULATOR

* firmware: digital_input logic depends e.g. HAL_USE_ADC

* simulator: Makefile includes RUSEFI_LIB_C as CSRC

* Revert "GHA/build-firmware: pin agents to Ubuntu 20.04 (#4793)"

This reverts commit cb2477be6c.
2022-11-18 23:43:43 -05:00
Nathan Schulte 4cd649db86 firmware: digital_input logic depends e.g. HAL_USE_ADC 2022-11-18 23:24:54 -05:00
Nathan Schulte 51ecb95538 firmware: digital_input logic depends !EFI_SIMULATOR 2022-11-18 23:24:45 -05:00
Nathan Schulte 1da7242e06 firmware: digital_input logic depends on e.g. HAL_USE_ADC 2022-11-18 23:16:28 -05:00
Nathan Schulte 92d2a34941 firmware: digital_input: tidy #endif comments 2022-11-18 23:16:19 -05:00
Andrey Gusakov caebd674ea LUA/SENT: hook to get RAW sig0 and sig1 (WIP)
TODO: how to return two (N) values from LUA hook?
2022-11-17 16:17:27 -05:00
rusefillc f697d6c7dd
Update readme.md 2022-11-15 12:34:17 -05:00
rusefillc 51049b8de5
Update readme.md 2022-11-15 09:44:56 -05:00
rusefillc ed712863c2
Update readme.md 2022-11-15 09:41:16 -05:00
Andrey G 17f98a7c79
SENT: fix null pointer dereference (#4776) 2022-11-13 11:50:08 -05:00
rusefi 37194dfe56 Ford SENT ETB bench test in NJ #4745 2022-11-13 11:23:54 -05:00
Andrey G 27166f4b23
SENT updates (#4774)
* SENT: simplify

* SENT: add crc6 routine, check crc for slow channels enhanced messages

* SENT: helper to get Slow Channel values

* SENT: getTickTime() report tick unit time

* unit_tests: SENT: update tests
2022-11-12 16:57:20 -05:00
rusefi 0e71535727 Ford SENT ETB bench test in NJ #4745 2022-11-11 18:07:13 -05:00
Andrey G 64be738874
SENT unit tests (#4769)
* unit_tests: sent: zero-init

* sent: SENT_SLOW_CHANNELS_MAX to header

* unit_tests: sent: clock, falling edges

* SENT: support and autodetect if device sends pause pulse

Also rework tick time calculation

* unit_tests: SENT: verbose debug on request

* unit_tests: SENT: actual checks

* unit_tests: SENT: extract common code for reuse

* unit_test: SENT: add test with fuel pressue captured data

* unit_test: SENT: add test with Ford ETB CLOSED captured data
2022-11-11 17:25:02 -05:00
rusefillc 0be6559ced
does gcc11 know something? (#4738)
* does gcc11 know something?

* fix BACKUP_FLASH_ADDR assertion semantic (#4750)

* fix BACKUP_FLASH_ADDR assertion semantic

* cast BACKUP_FLASH_ADDR as flashaddr_t

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Nathan Schulte <8540239+nmschulte@users.noreply.github.com>
2022-11-07 19:22:58 -05:00
Andrey 73e69940ba Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 10:30:30 -05:00
Andrey be8ba29b42 Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 00:25:47 -05:00
Andrey a25c9ab520 Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 00:06:42 -05:00
Andrey G 331fabb6de
pin_sepository: no external users for totalPinsUsed, remove (#4733) 2022-11-03 18:26:08 -04:00
Andrey G 94ce8134da
OpenBLT: fix lazy compilation (#4715)
* OpenBLT: fix lazy compilation

* OpenBLT: use per-board obj directory
2022-10-30 10:01:43 -04:00
Andrey G e7b06cbfca
compile warnings: signed vs unsigned and unused (#4713) 2022-10-30 09:47:53 -04:00
Andrey G 12842e485b
OpenBLT: F7: ups, missed shared section (#4714) 2022-10-30 09:38:09 -04:00
Matthew Kennedy 658d1436fb
s (#4708) 2022-10-27 23:17:02 -04:00
rusefillc f9fa729d8d less horrible constant name 2022-10-27 22:17:50 -04:00
rusefillc b75f899973 efi::size 2022-10-27 20:35:37 -04:00
Matthew Kennedy f967231bb9
bigger blocking factor (#4703) 2022-10-26 16:49:55 -04:00
Andrey G 7abe3ba112
SENT improvements (#4702)
* smt32_common.mk: reduce copy-paste

* SENT: sentPins is not used

* hw: stm32: add ICU helper

* hw: stm32: icu helpers: also return timer base clock

* SENT: icu: use helper to get ICU & channel and AF

* SENT: icu: use CPU ticks for pulse measurements

* hw: stm32: icu: cleanup
2022-10-26 15:33:47 -04:00
Andrey G afa0bd92e8
SENT glue to LUA (#4700)
* use tabs

* SENT: Lua glue: getSentValue returns ETB position now

Can be tested with following LUA script:
setTickRate(100)
function onTick()
	pos = getSentValue(1)
	setLuaGauge(1, 10000 * pos)
	print(pos)
end
2022-10-26 06:42:14 -04:00
Andrey G dff2693698
SENT fixes (#4698)
* SENT: use shift register for storing nibbles

* SENT: rxReg shift to the left

* SENT: todo
2022-10-24 08:50:11 -04:00
rusefi 6e24020ab5 GM ETB bench test in NJ #4688
SENT to Lua integration
2022-10-22 22:46:37 -04:00
Andrey G d21d5397ac
SENT fixes (#4692)
* SENT: measure more pulses during Unit time calibration

* SENT: no magic numbers

* SENT: fix typo

* SENT: setninfo output: do not show slow channels if not detected

* SENT: fix GM-style CRC calculation

* SENT: another one CRC algorithm, now for pressure sensor

* SENT: show CRC error percentage
2022-10-22 18:07:22 -04:00
rusefillc 98076927b0
progress: rpm register based on trigger input being none or not (#4691)
* progress: rpm register based on trigger input being none or not

* use helper functions

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-22 09:27:41 -04:00
rusefillc da0fa03f0a refactoring: wider usage of helper method 2022-10-22 08:39:55 -04:00
rusefillc 7a1e729cd8 ROLLBACK 2022-10-21 22:45:46 -04:00
rusefillc 3abed33988 progress: rpm register based on trigger input being none or not 2022-10-21 22:07:41 -04:00
rusefillc 50d8aa37b4 refactoring: inline method 2022-10-21 21:20:44 -04:00
rusefillc 9cf3bca60c trigger input: dead code? 2022-10-21 21:10:58 -04:00
rusefillc 23f14d0e21
Update readme.md 2022-10-20 14:30:23 -04:00
Andrey G a50f898982
SENT fixes (#4687)
* SENT: cache current setting to do proper clean-up on stop

* SENT: microRusEfi supports send on "AN temp 2" = PA1 only

* SENT: microRusEfi: fix pin number

* SENT: use activeConfiguration during sentStop()

* MRE: pin 23: can accept events (for SENT)
2022-10-20 13:33:16 -04:00
rusefillc ea8f75a6cb
Adc unregister (#4684)
* Sensor: unregister on the fly #4683

* Sensor: unregister on the fly #4683

* Adc unregister #4684

* Adc unregister #4684
2022-10-20 09:33:27 -04:00
Matthew Kennedy 6e3efed09c
more f429 business (#4679)
* 429 boots and LEDs work

* oops missed a comma

* enable on f767 too, since it should be the same board

* why not just completely duplicate it

* script should not be fancy

* script should not be fancy

* correct pins

* h743 while we're at it
2022-10-20 00:59:39 -04:00
rusefi b7db5f90c3 SENT protocol capture implementation #4631 2022-10-20 00:04:43 -04:00
Andrey G b4ccef4239
SENT protocol capture implementation (#4631)
* boards: MRE: enable SEND protocol capture

* SENT protocol capture implementation #4631

* SENT protocol capture implementation #4631

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-19 17:08:15 -04:00
Andrey Gusakov b7820ee713 port: stm32: f4/f7: enable ICU drivers, enable ICU for TIM2 2022-10-19 15:14:29 -04:00
rusefillc 38639e8877 nicer (?) parameter names 2022-10-19 10:25:02 -04:00
Matthew Kennedy 1ae642e7a7
build tweaks for size (#4661)
* don't align on non-cached mcu

* lua decimal point

* no snprintf

* sort sections by alignment

* unit tests
2022-10-13 20:30:30 -04:00
Matthew Kennedy 9d132676fd
consolidate analog vs. temp info commands (#4646)
* consolidate analog vs. temp info commands

* cleanup

* guard
2022-10-10 07:44:20 -04:00
Andrey G 850848d2ee
SENT core decoder and ICU driver (#4648)
* SENT: copy-paste SENT decoder from rusefi-hardware

* SENT: decoder: refactor, cleanup

* SENT: add ICU implementation

* SENT: decoder: use pch.h

* SENT: EFI_PROD_CODE guard

* SENT: ICU driver: fixes

* SENT: don't forget to SysLock

* SENT: call Start on Init (agrrrr)

* SENT: ICU: some limitations

ICU can capture on two firsts TIM inputs only. So move from PA2 to PA1

* SENT: mmmm... c++... i like it (no)

* SENT: autocalibrate tick time

* SENT: debug

* SENT: clean-up

* SENT: optimize slow channel mailboxes

* SENT: GetSignals() helper
2022-10-09 06:38:28 -04:00
rusefi 46d5db4d5f We are mostly focused in standby, not in stop 2022-10-03 19:37:17 -04:00
GitHub gen-configs Action 0d9090de28 Auto-generated configs and docs 2022-09-30 03:15:40 +00:00
rusefillc 234862b2b7 CAN side of automated testing #4630 2022-09-29 23:01:06 -04:00
Matthew Kennedy ff9ce3730a
rtc cleanup (#4596)
* rtc formatting and code style

* more cleanup

* s

* time example
2022-09-20 05:28:42 -04:00
GitHub gen-configs Action eea87274a8 Auto-generated configs and docs 2022-09-19 01:31:32 +00:00
rusefillc 2be1db62a2 CanCategory 2022-09-18 20:44:00 -04:00
rusefillc ec0e567989 tear down Engine god object #4511 2022-09-15 21:46:01 -04:00
Andrey G 31180e179b
digital_input: check for valid callback not name! (#4575) 2022-09-13 18:02:00 -04:00
rusefillc 9c83cfd696 moving SD logic to better source 2022-09-12 20:39:43 -04:00
Andrey G 69d9716fa6
tle8888 dead code (#4568) 2022-09-12 18:54:29 -04:00
Andrey G 8ff49301e5
stm32: microsecond timer: set correct period value (#4567)
Driver sets (period - 1) to ARR (auto-reload register)
So we need to set period to (1 << 32) to get maximum
0xffffffff value in ARR. But period is uint32_t.
So set it to 0 and it will ovelap to UINT32_MAX at
pwmp->tim->ARR  = pwmp->period - 1;
2022-09-12 07:35:31 -04:00
Andrey G 55c1f53c75
dead code, reduce typedefs (#4566)
* Do lightweight checks first

* Dead getTimeIgnitionSeconds()

Dead since 81fffe87b7

* Get rid of efitime_t.

Purpose are not clear. Use efitick_t where ticks are used,
use efitimeus_t for uS, use efitimems_t or efitimems64_t for mS.

* Fix unit tests

* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -04:00
Andrey G 91d4844e38
time routines refactor (#4563)
* Extract time helpers from engine_controller_misc to efitime.cpp

* Rename currentTimeMillis() to getTimeNowMs()

We have getTimeNowNt(), getTimeNowUs(), currentTimeMillis() and getTimeNowSeconds()
Align a bit.

find . -type f -name '*.c*' -exec sed -i 's/currentTimeMillis/getTimeNowMs/g' {} \;

* Rename getTimeNowSeconds() to getTimeNowS()

To align with Nt, Us, Ms versions.

* Some comments about getTimeNowLowerNt()
2022-09-11 13:06:03 -04:00
rusefillc 851e8e48d3 refactoring: type safety 2022-09-11 02:57:35 -04:00
rusefillc 6e71b72acc refactoring - reducing API between FW and Java 2022-09-11 02:16:47 -04:00
Andrey 8e49542600 trigger: in corner cases like NB2 and VQ35 those are not revolutions 2022-09-07 22:24:28 -04:00
Andrey 5962cbd5c2 brutal encapsulation 2022-09-07 20:31:04 -04:00
Andrey 6e8d248408 brutal encapsulation 2022-09-07 19:37:11 -04:00
Andrey ab4b451195 os_access.h dead? 2022-09-07 15:56:45 -04:00
rusefi f399e275b2 servo is truly not alive 2022-09-06 16:29:12 -04:00
Andrey 09bef1e440 tear down Engine god object #4511
just trying different things
2022-09-05 04:09:59 -04:00
Andrey 9d8afea152 a bit of dead code 2022-09-01 11:47:56 -04:00
rusefillc e53cad4459 helping CI stay green 2022-08-27 14:51:41 -04:00
Matthew Kennedy 9738ba84ae
log missed exti events (#4473)
* log missed exti events

* units

* s

* guard

* stub for non stm32
2022-08-23 19:45:28 -04:00
rusefillc f9b50c2523 better method name 2022-08-22 18:07:59 -04:00
rusefi 755f9926ea canRxAdd bus does not convert from Lua/human value into zero-indexed implementation value fix #4467 2022-08-21 23:48:10 -04:00
rusefi b471012838 less violent error handling 2022-08-21 22:46:59 -04:00
rusefi 26eda07424 Lua CAN bus index: let's fail if invalid value specified 2022-08-21 22:31:52 -04:00
rusefillc 2f87dd2a12 RUSEFI virtual drive to spell out firmware version fix #4458 2022-08-18 21:02:26 -04:00
rusefillc 835611ed62 RUSEFI virtual drive to spell out firmware version fix #4458 2022-08-18 20:13:00 -04:00
rusefillc cfcd334333 RUSEFI virtual drive to spell out firmware version fix #4458 2022-08-18 19:49:01 -04:00
rusefillc 3ce0246962 RUSEFI virtual drive to spell out firmware version fix #4458
# Mac OS comes with Bash version 3 which is quite limiting and lack key features
2022-08-18 19:46:42 -04:00
rusefillc 5f218a58dd RUSEFI virtual drive to spell out firmware version fix #4458
80% of the result for 20% of the effort
2022-08-18 19:31:49 -04:00
rusefillc db8a965288 unconditional VVT PID logging 2022-08-17 00:47:31 -04:00
Matthew Kennedy 3a0bf87d92
update libfirmware (#4446)
* update libfirmware

* s
2022-08-16 23:02:34 -04:00
rusefi 3396aa865a verboseCan bugfix 2022-08-11 01:19:10 -04:00
rusefi f671f688a9 ISO-TP does not work on real car #4427 2022-08-11 00:29:09 -04:00
rusefillc c4a817dfa0 verboseCan EXT fix 2022-08-09 20:39:27 -04:00
Matthew Kennedy c3d6bd7e59
Pt2001 module (#4396)
* pt2001 uses module

* read flag0

* c

* libfirmware

* makefiles

* are unit tests happy?

* bootloader
2022-08-08 08:53:08 -04:00
Andrey G aecd997d4b
OpenBLT shared params (#4417)
* OpenBLT: linker file: use last 16 bytes of ram for shared area

This area is used for communication between FW and OpenBLT.

* OpenBLT: startup: invalidate only DFU breadcumb from startup code

Same location (but different seed) is used for shared param's
signature in OpenBLT.

* OpenBLT: enable shared params

* OpenBLT: enable hooks

If 0x01 is stored in shared param idx=0, then stay in OpenBLT forever.

* Jump to OpenBLT: store proper shared param when OpenBLT is requested

TODO: calculate and store CRC too!

* OpenBLT: move shared_params to start of RAM

* Bootloader: Allocate 16 bytes at start of RAM for bootloader shared area

* OpenBLT: shared_params: reuse same .c and .h file for main application

* OpenBLT: shared_params: enable CRC check

* OpenBLT: no need to manualy set breadcumb before reset

* Revert "OpenBLT: startup: invalidate only DFU breadcumb from startup code"

This reverts commit 6b064714b953560227ae53e38355332cf9f46f7f.

* OpenBLT: guard for builds without OpenBLT

* OpenBLT: reboot to OpenBLT on CAN request with ID=0x667 and DLC=2

* config: options to enable OpenBLT on CAN interfaces

* OpenBLT: comments
2022-08-07 19:33:19 -04:00
Matthew Kennedy 18351dc43b
tle9104 driver (#4410)
* tle9104

* it works!

* cleanup

* cleanup for pr

* efifeatures

* guards
2022-08-02 19:02:03 -04:00
Matthew Kennedy 165e5bb869
misc fixes (#4411)
* fix warnings

* break to debugger in case of panic

* move the check

* s
2022-08-02 12:19:50 -04:00
Andrey G ce7fc8e69d
MRE: tle8888 ls2 fix and friends (#4409)
* tle8888: ups IGN1

* tle8888: more BIT() macro

* tle8888: fix typos

* tle8888: fix LS2 output on MRE when stepper is enabled

Default settings casue one (or few) not used direct driver inputs
to be mapped to OUT5 (LS2 on MRE)

* smart_gpio: comments for TLE8888 on MicroRusEFI

* smart_gpio: typo

* tle8888: more comments
2022-08-02 00:50:56 +03:00
rusefillc c597d6da62 https://github.com/andreika-git/hellen-one/issues/173 2022-07-31 04:39:02 -04:00
rusefillc b0e87c789d [SECURITY] Cheap password protection against tune modification #4243
ohh cute we have name overlap!
2022-07-30 11:28:56 -04:00
rusefillc 026a28d651
Adc mux (#4379)
* adc mux

* cypress is a special ADC size case

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-26 14:12:00 +03:00
rusefillc a020a4cf05 safer without LED 2022-07-26 04:35:12 -04:00
Andrey G cbef71e97c
Openblt to dfu jump fixed (#4367)
* OpenBLT: supress "target 'startup_xxxxxx.o' given more than once in the same rule" warning

* OpenBLT: check for DFU request, do not ignore dead beef
2022-07-22 07:43:15 -04:00
Andrey G 59eee6641c
Add "Reset to OpenBLT" button (#4364)
Similar to "Reset to DFU", but uses different seed
2022-07-22 08:21:11 +03:00
Matthew Kennedy 88b8e57e10
detect too short/too long boost (#4363) 2022-07-21 15:53:57 -04:00
Matthew Kennedy b99d90b006
Start -> start (#4366) 2022-07-21 15:17:32 -04:00
rusefillc 15f2725282 more on MRE BT drama part 2 2022-07-18 02:15:31 -04:00
Matthew Kennedy d413b28a77
GDI: add min/max boost time config (#4343)
* add min/max boost time config

* add cast

* generated

* UI
2022-07-16 02:23:05 -04:00
Matthew Kennedy 52f2d3fd64
pt2001 sim project (#4342)
* sim project files

* wave list

* project files

* ignore simulator build files

* ignore .def.hex too

* wave list and readme

* readme
2022-07-14 17:42:57 -04:00
Matthew Kennedy c55873593d
pt2001 updates (#4340)
* delete registers/

* update gitignore

* readme

* Revert "delete registers/"

This reverts commit de10448d5479487b529b4e9ee551f45f271daa8c.

* remove dead dram constants

* switch to use generated C source instead of copy/paste

* more memory map
2022-07-14 12:47:51 -04:00
rusefillc 25cc8ed0df
STM32_HSE_BYPASS where we need it (#4338)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-11 04:30:49 -04:00
Matthew Kennedy 5d844b1ebe
Error handling cleanup (#4332)
* dead code in stm32

* rusefi.cpp can have some noreturn

* handle lua panic

* unused error codes

* simplifications of error_handling.cpp

* comment

* put that back

* guard
2022-07-07 23:49:02 -04:00
rusefillc 9e26fe007e debug is set to idle mode, but none of the debug fields show anything #4335
reducing confusion
2022-07-07 23:04:19 -04:00
Matthew Kennedy e9d092f975
big delete ICU (#4270)
* big delete

* icu vestiges

* changelog
2022-07-07 15:27:59 -04:00
Matthew Kennedy 0cc1f729c4
Write hard faults to backup ram, print on next boot (#4324)
* use backup ram, hard fault handler improvement

* wire it up

* upload elf

* s

* I guess I'll just use strncpy

* s

* what is it even complaining about?

* neat, we don't need a cast

* cypress and kinetis

* cleanup

* ci

* guard for tests
2022-07-07 15:14:31 -04:00
Matthew Kennedy a95bc3ad03
implement CAN driver for simulator (#4312)
* stub simulator CAN driver

* comments

* CAN sensor

* maybe implement?

* s

* fix

* tx and rx actually work!?!?!

* check_can_isr

* modify chibios

* Sim has no CAN on Windows (for now?)

* safer init/deinit, enable assertions

* smarter handling of missing CAN device

* better guards

* guards for windows
2022-07-03 08:25:24 -04:00
Matthew Kennedy b92c0149d6
get rid of setSerialConfigurationOverrides (#4274)
* get rid of setSerialConfigurationOverrides

* missed a few

* kinetis
2022-06-23 19:42:09 -04:00
Matthew Kennedy 4d7fe35c5c
clean up sd overrides (#4272) 2022-06-23 09:15:51 -04:00
rusefillc 2e8559e72e symmetrical logging 2022-06-19 11:03:26 -04:00
rusefillc c8eb7af400 docs 2022-06-07 17:13:21 -04:00
Matthew Kennedy 4ada633206
Remove third trigger channel (#4226)
* remove third trigger

* clean up the honda mess

* there was nothing novel about this engine config

* include

* missed a few

* s

* x

* changelog

* don't set the third trigger input

* don't redefine the same thing 3 times

* only two inputs!

* test
2022-06-01 21:24:20 -04:00
Matthew Kennedy 9445e73dfd
500 byte blocking factor (#4227) 2022-06-01 20:27:20 -04:00
rusefi 1d629df884 trying to reduce confusion x2 2022-05-30 17:06:56 -04:00
Matthew Kennedy e8be471b46
bail from trigger_central (#4210) 2022-05-29 10:42:08 -04:00
rusefillc 3dc70db9b1 less confusing error message https://rusefi.com/forum/viewtopic.php?p=45456#p45456 2022-05-28 17:46:45 -04:00
rusefillc 00f44bc2e2 making file reuseable 2022-05-26 23:54:30 -04:00
rusefillc de10b8c473 unique file name seems a bit more convenient 2022-05-26 23:43:44 -04:00
rusefillc 5c698b98b4
why does this fail? (#4196)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-05-26 20:54:36 -04:00
rusefillc 7700548b7a
how are these layout files used? is this change legit? (#4198)
* reducing OpenBLT file duplication

* Revert "Revert "what could possibly go wrong with MRE""

This reverts commit 124375b07a.

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-05-25 17:10:41 -04:00
rusefillc bb76a8f7ad Matt drives H7 #4175 2022-05-24 18:28:16 -04:00
rusefillc 03fa7c7d95 reducing code duplication, also one step back with HSE 2022-05-24 16:25:16 -04:00
rusefillc d4066acc14 reducing code duplication 2022-05-24 16:05:07 -04:00
rusefillc f35e0a634e reducing code duplication 2022-05-24 15:45:06 -04:00
rusefillc 54268843b8 reducing code duplication 2022-05-24 15:31:14 -04:00
rusefillc 4af557d7ac promoting openblt to it's own folder 2022-05-24 15:23:55 -04:00
rusefillc 35eb39e11e typos 2022-05-24 15:07:31 -04:00
Matthew Kennedy 885693d5a5
correct channels (#4190) 2022-05-19 19:09:41 -04:00
Matthew Kennedy 367f58675e
harley (#4188) 2022-05-19 16:44:56 -04:00
Matthew Kennedy c6f46128d6
prototype overcurrent protected driver (#4029)
* stub passthrough protected driver

* plumbing

* include the thing

* signature

* dead

* tdg pdm build task

* s

* pdm pins

* tdg

* init properly

* remove gaps

* board doesn't fatal on start
2022-05-17 23:49:18 -04:00
rusefillc 500c443a15 Timestamp Error scheduleByTimestampNt too far #3395
improving error message
2022-05-14 21:24:19 -04:00
rusefillc 7597b2c0eb
.ini image fix (#4161)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-05-10 20:06:45 +03:00
rusefillc 683a723d2f
CAN category (#4148)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-05-09 16:49:23 -04:00
rusefillc 82cb7a07da spelling 2022-05-02 16:08:04 -04:00
Matthew Kennedy e4a0979dc2
Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
Matthew Kennedy bc6a87cadc
allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -04:00
Matthew Kennedy 648f9e623d
fix proteus legacy vbatt (#4092) 2022-04-25 17:08:04 -04:00
Matthew Kennedy 16de438ab8
knock threshold table fix (#4077)
* fix knock threshold table

* defaults

* knock controller is engine module

* testable

* test builds

* knock tests work

* s

* format

* everyone loves changelogs
2022-04-18 08:03:16 -04:00
rusefillc 9b067b1a5a we need a bit extra now 2022-04-17 22:48:48 -04:00
rusefillc 70e4d118ef very random progress 2022-04-16 17:04:35 -04:00
Matthew Kennedy 6358a467ce
exti uses a queue (#4027)
* exti uses a queue

* TRIGGER_BAIL_IF_SELF_STIM
2022-04-03 03:22:54 -04:00
rusefillc 5afed85479 We have working runtime RAM detection - we shall use it for Lua #3970 2022-03-27 19:39:40 -04:00
Matthew Kennedy 7d657106d7
warning cleanup (#4020) 2022-03-22 16:53:24 -04:00
rusefi cd2d93bc39 typo & progress 2022-03-15 15:50:39 -04:00
rusefillc 4f15fc6179 https://github.com/rusefi/rusefi/pull/3976
maybe probably help
2022-03-02 18:52:00 -05:00
rusefillc 2ab8a3df4e Feature request: odometer for engine break #3857 2022-02-25 00:46:45 -05:00
Andrey G fd6a0d10a5
ports: stm32f7: ld file: fix typo (#3956) 2022-02-23 10:03:44 -05:00
Andrey G 788ac5508d
Flash size on eg33 (#3955)
* subaru-eg33: 1M of flash is available for FW and bootloader

* ports: stm32f7: allow board define its flash size, otherwise 512K
2022-02-23 07:36:58 -05:00
Matthew Kennedy 07e922bb4b
mitigate F7 flash error by making the image smaller (#3859)
* grumble

* do it for all F7
2022-02-19 15:56:44 -05:00
rusefi 4d92336362 Revert "SD card read prefetcher (#3814)"
This reverts commit 1311f45ad4.
2022-02-13 19:03:09 -05:00
Andrey G 0e8e5acd94
usb descriptor: we are bus powered and can consume up to 400mA (#3933) 2022-02-13 16:12:22 -05:00
Matthew Kennedy 1311f45ad4
SD card read prefetcher (#3814)
* block cache

* efi::size

* extract function and prefetch at start

* comments

* s

* s

* bool result

* no prints

* refactoring

* enable only on some ECU

* normalize

* adjust defines

* is_protected

* naming, comment

* cleanup

* typo

* priority

* mem

* not that mem
2022-02-09 15:40:37 -05:00
rusefillc c8b094ce6a L9779WD driver L9779 #3768
oops
2022-02-09 08:14:28 -05:00
rusefillc 2d746e5733 L9779WD driver L9779 #3768 2022-02-09 08:00:30 -05:00
Matthew Kennedy 70ac0c378b
support lps22 (#3900)
* support lps22

* s

* changelog, UI
2022-02-07 17:09:51 -05:00
rusefillc 3cf6a392cb I2C EEPROM support #3860
helping build
2022-02-06 21:26:22 -05:00
rusefillc 8892cd26ff I2C EEPROM support #3860 2022-02-06 19:48:20 -05:00
rusefi ad57fd1628 I2C EEPROM support fix #3860
bare bones support works
2022-02-06 19:39:21 -05:00
Andrey G 10cab3390a
L9779: update (#3899)
* L9779: update

* L9779: cleanup macro
2022-02-06 17:47:53 -05:00
rusefi a1ccdb1bd9 unused code? 2022-02-06 17:44:58 -05:00
rusefi 61ec6b3436 I2C EEPROM support #3860 2022-02-06 17:23:07 -05:00
Andrey G c53fd0eaf9
L9779: update driver (#3898)
* L9779: update driver

* L9779: missed chip_init

* L9779: signature
2022-02-06 11:39:37 -05:00
Andrey G a50f848857
L9779: initial driver (#3897)
* smart_gpio.cpp: glue to L9779

* L9779: fill with some code

* L9779: missed getDiag

* L9779: no l9779 on subaru-eg33 board
2022-02-06 09:47:18 -05:00
Matthew Kennedy 2f8acb13be
fix f4 standby (#3894)
* fix the bug

* wake on PD0 = CAN RX

* cleanup
2022-02-05 07:25:09 -05:00
rusefillc 409d05ace4 I2C EEPROM support #3860
let's go with EE24 for now
2022-02-04 22:03:12 -05:00
rusefillc b692437510
Wider usage of contrib (#3892)
* I2C EEPROM support #3860

let's use contrib on all F4

* I2C EEPROM support #3860

let's use contrib on all F4, step 2

* I2C EEPROM support #3860

let's use contrib on all F4, step 3

* I2C EEPROM support #3860

let's use contrib on all F4, step 4

* I2C EEPROM support #3860

huh

* I2C EEPROM support #3860

all the way

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-04 21:50:21 -05:00
Matthew Kennedy d8073e8b27
remove mock adc (#3888)
* remove mock adc

* do these do /anything/?
2022-02-03 20:43:34 -05:00
rusefillc 014b8293a5 User board-specific terms in error messages #3886
progress
2022-02-03 12:45:26 -05:00
Andreika 2beca221a3
hellen_board_id + hellen-common.mk (#3885)
* Hellen_board_id

* move EXTI init before config load

* add NT2USF()

* Hellen_board_id unit-tests

* hellen-common.mk

* fix for older macos compiler
2022-02-03 11:24:31 -05:00
Matthew Kennedy 53297cb1fd
fix (#3877) 2022-02-01 18:40:40 -05:00
Matthew Kennedy 729e107474
we have other places to set these MCU values (#3875)
* we have other places to set these values

* missing parts

Co-authored-by: rusefillc <rusefillc@gmail.com>
2022-02-01 18:18:16 -05:00
rusefillc ca98e270e1
safer file name (#3861)
* safer file name

* safer file name

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-31 21:51:32 -05:00
rusefillc 9553942c7c Revert "I2C EEPROM support #3860"
This reverts commit 45d39906bd.
2022-01-31 20:39:20 -05:00
rusefillc 45d39906bd I2C EEPROM support #3860 2022-01-31 19:48:53 -05:00
rusefillc be4184b42d I2C EEPROM support #3860 2022-01-31 18:58:39 -05:00
Matthew Kennedy c6f45c5022
warnings fixes (#3851)
* unused things

* !!! actual bug !!!

* dead

* unused

* unused

* multi-bus lua RX was just broken

* make the compiler angry about it

* dead config

* alphax 2

* just call, no store

* compiler too angry
2022-01-31 18:37:42 -05:00
Matthew Kennedy 5865f65e1e
remove getDebugChannels (#3850) 2022-01-27 19:21:05 -05:00
rusefillc 051ca7ac92 docs 2022-01-26 13:13:06 -05:00
rusefillc 6a388ecd6e https://github.com/rusefi/alphax-2chan/issues/22 2022-01-22 17:28:11 -05:00
rusefillc 91e8d5ac64 https://github.com/rusefi/alphax-2chan/issues/22 2022-01-22 16:50:58 -05:00
Andrey 3b6ecb432b migrating to SensorType::Rpm API 2022-01-20 22:38:08 -05:00
NMSTEC c8fdd25d5c
Add comments to Stop & Stby modes (#3798) 2022-01-17 13:11:24 -05:00
rusefillc 54b70fbc3c PA0 wake up - sharing is caring? 2022-01-17 01:25:31 -05:00
rusefillc a3f2dc84ae https://github.com/rusefi/alphax-2chan/issues/17 2022-01-16 10:48:31 -05:00
rusefillc 1d1bebb264 Catch up with Chibios 20.3 #2555 2022-01-15 21:43:01 -05:00
rusefillc 6ca6c53786 refactoring? 2022-01-14 22:45:49 -05:00
rusefillc 71b2dc762a https://en.wikipedia.org/wiki/Pi 2022-01-14 21:23:27 -05:00
NMSTEC 6f23d2be34
F429 Working Stby, Stop & Wake PA0 (#3787) 2022-01-12 23:18:58 -05:00
rusefillc 240c6fe8b6 GDI red FATAL led on cranking fix #3766 2022-01-12 01:01:33 -05:00
rusefillc 963c168788 Code style for methods with zero arguments #3535 2022-01-11 22:26:24 -05:00
rusefillc d0d8e95bd3 L9779WD driver #3768 2022-01-10 19:15:36 -05:00
rusefillc 373d619c16 L9779WD driver #3768 2022-01-10 16:53:38 -05:00
Andrey G f106afd9e1
F429 discovery ram dev (#3761)
* stm32f429-discovery: mostly copy-paste from ChibiOS-Contrib

* STM32F429-discovery has external SDRAM

* F429-Discovery: add simple memory test for SDRAM (disabled)

* Revert "random piece of https://github.com/dron0gus/rusefi/tree/f429-discovery-ram-dev"

This reverts commit c58a2f5ecb.

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-10 16:14:39 -05:00
Matthew Kennedy b4d916c913
per-board pre-low-power handlers (#3752)
* per-board pre-low-power handlers

* per-chip standby options

* default implementation
2022-01-10 08:37:05 -05:00
Andrey G 2d1fb8a68c
Sdram preparations (#3764)
* ports: stm32f4: not all stm32f4xx are stm32f407, let board decide

* Do not include mcuconf_community.h in port's mcuconf.h usign relative path

as override file can be provided in board directory.
2022-01-10 08:31:29 -05:00
rusefillc 0d8e4d5222 AlphaX few bytes of progress 2022-01-10 01:47:06 -05:00
rusefillc c58a2f5ecb random piece of https://github.com/dron0gus/rusefi/tree/f429-discovery-ram-dev 2022-01-09 22:45:46 -05:00
Andrey G 0860caa72b
Enable ENABLE_AUTO_DETECT_HSE only if STM32_HSECLK is not defined (#3758)
Some board (like stm32f429-disco) with SDRAM need clock to be
enabled in __early_init (before .bss and .data initialization).
So if STM32_HSECLK defined - skip clock detection.
2022-01-09 17:39:29 -05:00
Andrey G d06c157099
Ports: STM32F4: add optional external SDRAM (#3762) 2022-01-09 17:39:10 -05:00
rusefillc 0fc9fcdb63 GDI Epic #1448 2022-01-08 20:16:01 -05:00
Andrey G 74b9ce8a8f
USB: use OTG1/OTG2 for serial over USB depending on which enabled (#3757) 2022-01-08 16:33:48 -05:00
Andrey G 29ec6d7381
mk files random cleanup (#3759) 2022-01-08 16:33:34 -05:00
Andrey G 752802b0cc
CAN: do null check first (#3755)
Otherwise it will emit strange error if both can are disabled
2022-01-08 10:25:21 -05:00
rusefillc c74f6e7c29 docs 2022-01-07 21:35:21 -05:00
rusefillc 35dece3375 docs 2022-01-07 19:26:43 -05:00
rusefillc 8e0590fe91 docs 2022-01-07 18:57:23 -05:00
NMSTEC 90f4306c4d
Stop & wakeup working on rising edge (#3747)
* Stop & wakeup working on rising edge

* Standby & Sleep mode working Using PA0 only.

* Stop & standby works with wake from PA0.
Added alternative interrupt method to STOP

* Removed hand screwery on registers
2022-01-07 16:46:28 -05:00
Andrey G 020727d65b
TLE8888: do not allow direct gpio drive for Push Pull outputs (#3748)
Some register settings also needs to be changed. Change of direct
drive input is not enought.
2022-01-07 14:11:21 -05:00
rusefillc 914deedb0f TLE8888 diag says OK on disconnected pins and bench test #3737 2022-01-03 20:33:51 -05:00
rusefillc a223ec7ab9 smart diag into bench test 2022-01-03 14:21:54 -05:00
rusefillc 47444519d6 typo 2022-01-03 03:09:14 -05:00
rusefillc e9498f64db GDI/HPFP: Set HPFP current/timing params on MC33816 #3736 follow-up 2022-01-03 02:13:47 -05:00
Scott Smith 79b38d894b
GDI/HPFP: Set HPFP current/timing params on MC33816 (#3736) 2022-01-03 01:46:00 -05:00
Matthew Kennedy 6b6fd5e6e8
fix dual CAN init, update UI (#3719)
* CAN init sequence

* config & UI cleanup

* ui

* simplify
2021-12-24 23:33:54 -05:00
rusefillc 2205a57024 Second CAN #3687 2021-12-22 22:02:34 -05:00
rusefillc f350338642 Second CAN #3687 2021-12-22 20:43:08 -05:00
rusefillc cb5357890b Second CAN #3687 2021-12-22 20:39:07 -05:00
rusefillc 205177a8ce Second CAN #3687 2021-12-22 20:15:22 -05:00
rusefillc 15daec77e6 Second CAN #3687 2021-12-22 20:15:22 -05:00
rusefillc 4ad1f887fd Second CAN #3687 2021-12-21 01:10:37 -05:00
rusefillc 7b0179aaa3 Second CAN #3687 2021-12-21 00:48:13 -05:00
rusefillc 66f82a0cdb 2 byte table axis #3045 2021-12-19 22:43:10 -05:00
rusefillc 9170fd17a1 Second CAN #3687
what could possibly go wrong?
2021-12-19 11:28:42 -05:00
Matthew Kennedy 408d4c6ebf
multi CAN plumbing (#3688)
* framing for multi CAN

* typoooooooo
2021-12-10 17:08:10 -05:00
rusefillc 5830975040 rusEFI console ISO-TP via PCAN #3667
fixing build #3
2021-12-08 16:24:54 -05:00
Andreika 72cefd42de
CAN ISO-TP progress (+unit-tests fix) (#3677)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-08 15:11:19 -05:00
rusefillc 3a33e59b86 rusEFI console ISO-TP via PCAN #3667 2021-12-08 12:01:28 -05:00
Andrey 940b04ab24 Let's always have TS structure so that unit tests can check values in outputChannels, kind of making outputChannels a god dump for state but whatever since Live View is coming 2021-12-07 20:18:47 -05:00
Matthew Kennedy c0b37d78e4
testing stm32 stop/standby (#3666)
* testing stop/standby

* comments

* guard

* s

* we shall figure out f7 later

* ok maybe we do worry about f7

* comments and tweaks

* f7

* f4 maybe probably
2021-12-07 15:12:33 -05:00
rusefillc b778aa7173 Pause CAN broadcast on engine stop #3665 2021-12-07 10:35:52 -05:00
rusefillc 1dd3370b56 https://rusefi.com/forum/viewtopic.php?f=18&t=2236 2021-12-06 21:31:49 -05:00
Andrei c6fa50d196 CAN update 2021-12-03 21:44:15 -05:00
rusefillc 53d50b5076 doc 2021-12-03 09:57:15 -05:00
Andreika 90c56e8643
more trigger_adc & cypress fixes (#3642)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-01 17:26:58 -05:00
rusefillc 7db1bb87f5 trigger_adc helping cypress 2021-12-01 15:26:38 -05:00
rusefillc 251bdfc12a trigger_adc helping cypress 2021-12-01 15:09:34 -05:00
rusefillc 51b2666d2c trigger_adc helping cypress 2021-12-01 14:40:36 -05:00
rusefillc c80a37503e trigger_adc helping simulator 2021-12-01 14:17:16 -05:00
rusefillc aaf732f738 trigger_adc unit tests 2021-12-01 13:35:44 -05:00
Andreika ada89312b5 hellen81 ADC trigger 2021-12-01 13:03:08 -05:00
rusefillc 26997ab9e3 why so many channels are hidden in debug ? #3614 2021-11-29 01:02:40 -05:00
Matthew Kennedy a071e2a168
verbose CAN bits picker (#3628)
* verbose bits picker

* s
2021-11-28 14:59:26 -05:00
Matthew Kennedy d5363b814a
better VSS configuration (#3542)
* vss uses real values

* some defaults

* test and correct math

* km, not miles!

* comment

* tooltip

* that macro went away

* 100hz and default settings gives 9kph

* changelog

* order of operations safety

* make the test like the pwm test

* housekeeping

* this is why we need sensor automation

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-27 08:49:07 -05:00
Andrey a012e70e6f Mark hit timer watchdog #3608 2021-11-24 20:34:24 -05:00
Matthew Kennedy 178ccdeb4d
simulator writes binary log (#3598)
* simulator writes log

* replace the file

* check that the sim actually fails

* put it back

* did the sim really not fail?

* good, asan does catch it
2021-11-23 11:42:45 -05:00
Matthew Kennedy a342bee57e
rpm calculator refactoring, gm 24x test (#3585)
* data

* stub test

* use getTimeSinceSyncPoint

* s

* s

* no

* test

* stray ;

* those were 1/10 what they were supposed to be

* actually check something

* dead log line?
2021-11-20 14:59:02 +03:00
Scott Smith 1fe26f55fb
Expose console over serial port for H7 proc (#3578)
This way you can use the console/TunerStudio with the ST-Link

In the process, combine TS_PRIMARY_UART and TS_PRIMARY_SERIAL into TS_PRIMARY_PORT, to make UART vs
SERIAL selection more robus.  Ditto for TS_SECONDARY_*.  Also change use of TS_NO_PRIMARY to be #if
not #ifdef, so that it can be properly set as a compile flag and not be overwritten by various
header files.
2021-11-20 00:39:08 -05:00
Matthew Kennedy 29613ec403
fast exti interrupt handoff (#3497)
* fast exti

* test code snuck in

* full interrupt disable :(

* do it the old fashioned way

* enable interrupt

* consume stored timestamp

* dead

* h7 maybe

* guard maybe

* non-stm32

* exti 16 wrong on f4/f7

* CORTEX_MAXIMUM_PRIORITY

* safer but uglier

* s

* chibios

* no const

* initializers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 06:37:52 -05:00
Scott Smith 69d36dad6e
Final cleanup of ENGINE macros (#3567)
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
2021-11-17 13:45:10 -05:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith cc95bd6c8e
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* (#3560)
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*

for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
    git grep -l "$i" | xargs sed -i "s/$i//g"
done

git grep -l "inject" | xargs sed -i "/inject[(][)]/d"

for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
    git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done

git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h

* Review fixups.
2021-11-16 16:52:11 -05:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Matthew Kennedy cb032fb1ea
(void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
rusefi 05820ec92d speed into caninfo 2021-11-13 10:41:23 -05:00
Andrey 78fdd5b9a9 UART pins validation and dynamic alternative function recognition #3536 2021-11-11 21:29:18 -05:00
rusefillc b8ccdfb7d8 todo: smarter online change of CAN settings, kill isCanEnabled with fire 2021-11-06 22:23:06 -04:00
Andrey G e3be563b27
Openblt (#3430)
* Makefile: define BOOTLOADER=1 for linker in case of OpenBLT too

This will reserve first 32K of flash for bootloader.

* OpenBLT: include into build

* board: subaru eg33: add OpenBLT board code

* board: subaru eg33: use OpenBLT

* Board: Subaru EG33: OpenBLT: reuse HAL and CMSIS from OpenBLT submodule

* Board: Subaru EG33: OpenBLT: reuse linker file from OpenBLT too

* OpenBLT for MRE

* OpenBLT: MRE: adjust LD memory map for smallest variat of MCU on MRE

* OpenBLT: enable for MRE

* OpenBLT: disable CRC check of user application

This allows us to use DFU tool to flash main application too.

* hex2dfu: fresh binary for linux

* OpenBLT: extract common part of OpenBLT makefiles to openblt.mk

* OpenBLT: enable CRC check of user application for MRE and EG33

CRC (actually just a summ) of few first vectors is stored at 0x1c
offset. This is reserved vector for Cortex-M3, M4 and M7

* common_make: append OpenBLT CRC to dfu files

This should allow to use DFU to do main application update when
when OpenBLT is used as bootloader. hex2dfu will store same
styled CRC as OpenBLT expects to see in user app.

* OpenBLT reorganization

Move common stuff to hw_layer/ports/

* OpenBLT: proteus

* Proteus: enable OpenBLT for F4 and F7

Compilation tested only
2021-11-05 19:28:55 -04:00
Scott Smith d508d0d7d7
Remove correct file in create_ini_image.sh (#3460) 2021-11-04 16:06:44 -04:00
Matthew Kennedy 75a2b5ef02
Knock retard (#3396)
* output gauge

* knock controller

* don't need that

* inject engine ref

* test knock

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
Andrey G f8c099771e
Linker file typo fix (#3436) 2021-10-31 15:17:56 -04:00
Matthew Kennedy 29ec0a5859
better pch usage and gmock constructors (#3426)
* break out mock constructors

* comment and spacing

* unnecessary compiler options

* happy stepper

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-30 20:31:09 -04:00
Andrey G 95099e2c12
STM32F7 linker script: ITCM flash area also needs reserve for BL (#3431) 2021-10-30 09:12:47 -04:00
Matthew Kennedy 558a6d01fc
etb pwm limit (#3408)
* etb pwm limit

* missed an arg

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-25 15:35:23 -04:00
Matthew Kennedy da0e4f1823
misc ethernet config parameters (#3343)
* various cfg

* this has to be 1522

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-11 15:35:09 -04:00
Matthew Kennedy abb6513744
faster uniform adc cleanup (#3334)
* dead fast tps

* oooooh map avg on hh7

* adc v4 fast support

* new fast API

* hardware.cpp

* adc v2

* warning

* guard

* no check required

* stub cypress/kinetis

* kinetis and cypress stubs

* cleanup

* h7 adc speed

* adc skip

* configurable oversample
2021-10-10 22:59:25 -04:00
Matthew Kennedy e3196a7bbd
ethernet (#3342)
* checksum offload

* ethernet console

* guard flag

* flags

* reserve pins

* f4

* ip and link options

* chibios

* conditional build lwip

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-10 01:15:49 -04:00
Matthew Kennedy 31ffb0add4
Fast adc API (#3327)
* dead fast tps

* oooooh map avg on hh7

* adc v4 fast support

* new fast API

* hardware.cpp

* adc v2

* warning

* guard

* no check required

* stub cypress/kinetis

* kinetis and cypress stubs
2021-10-07 08:29:01 -04:00
Andreika bc4a068c9c
[DRAFT] IAC H-Bridge Microstepping (#3213)
* fix for stepperHbridgeHardware

* new config fields for microstepping

* add stepper dir pin mode to the dialog

* refactor stepper hw dialog & add microstepping panel

* microstepper modes enum

* stepperDcInvertedPins needed by Hellen

* add sleep() for stepper and divisor for pause()

* microstepping impl.

* make unit-tests more happy

* small progress

* fix etb-stepper dlg conflict

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 13:57:04 -04:00
Matthew Kennedy 9797d25b7c
getOrZero (#3319) 2021-10-05 19:59:07 -04:00
rusefillc b4884498cb OBD error renames 2021-10-03 01:30:42 -04:00
Andrey b41f9d3777 vr threshold test configuration 2021-09-26 03:27:53 -04:00
Matthew Kennedy 8cd132b8a8
dead knock code (#3255)
* more unification

* hip stub

* comment

* guard

* channel idx

* include

* hip

* move in to engine

* hip9011

* dead stuff

* dead

* fsio

* lcd

* more dead
2021-09-21 20:40:20 -04:00
Matthew Kennedy 5de27e0b92
more knock sense unification (#3250)
* more unification

* hip stub

* comment

* guard

* channel idx

* include

* hip

* move in to engine

* hip9011
2021-09-21 17:39:21 -04:00
Matthew Kennedy bf98546314
share some knock logic (#3246)
* knocky knock

* only if TS

* typo

* merge
2021-09-20 16:10:34 -04:00
rusefillc 05d477431d Hellen Nissan defaults are no longer valid #3143 2021-09-05 19:29:40 -04:00
Andrey d8fbd9b40f Hellen Nissan defaults are no longer valid #3143 2021-09-05 15:15:25 -04:00
rusefillc b917394354 my first Lua 2021-09-01 02:37:36 -04:00
rusefillc f47320fd70 my first Lua 2021-08-31 12:32:05 -04:00
Matthew Kennedy 730b26d034
remove old vss implementation (#3208)
* dead vss

* remove
2021-08-28 01:39:55 -04:00
rusefillc 48a009fc33 Revert "Revert "memory savings (#3195)""
This reverts commit 0b3ef5f5
2021-08-27 06:18:05 -04:00
rusefillc 0b3ef5f553 Revert "memory savings (#3195)"
This reverts commit 52a24ee7
2021-08-27 02:32:31 -04:00
Matthew Kennedy 52a24ee773
memory savings (#3195)
* d

* dead code

* all your ram are belong to me

* turn off gpiochips we don't need

* save

* save by using the same file handle

* smaller stack ok

* these can be on the stack

* this is closer

* what about ccm?

* probing available

* now probe ccm

* ccm

* put stuff in ccm

* fsio

* memory usage

* memory
2021-08-26 23:05:31 +03:00
Matthew Kennedy 4603f875cd
missed a little bit (#3192) 2021-08-24 17:00:14 -04:00
Matthew Kennedy a18b86a09b
start allowing ADC change while running (#3100)
* allow re-register of the same sensor

* add api to unsubscribe

* do it for tps

* clear the pin

* happy test

* maybe make afr happy for now

* tests build

* happy simulator

* active configuration

* check valid

* we need vbatt now

* manage all pin init in init_sensors.cpp

* don't need that

* cleanup

* thermistors

* do two phase reinit in the right place

* config vs engine

* finally the tests are happy
2021-08-24 16:41:16 -04:00
alxrMironov f926d2ccba
Vehicle speed switching to frequency sensor #3106 (#3148)
* Add vehicle_speed_converter.h with realization.

* Add test_vehicle_speed_converter.cpp with realization.

* Add test_vehicle_speed_converter.cpp to Makefile

* Edit "VehicleSpeedSensor" from function pointer sensor to frequency sensor

* Fix "VehicleSpeedSensor" init function args

* Remove "VehicleSpeedConverter" empty constructor

* Edit vehicle_speed_converter.h code style

* Fix args and engine injection in "VehicleSpeedSensor" initialization procedure

* Remove old "Vehicle Speed" module initialization

* Revert "Remove old "Vehicle Speed" module initialization"

This reverts commit 100b7caa8c615c20eed3d0c23a49824b4e556148.

* Remove old "Vehicle Speed" module initialization pieces

* Revert "Revert "Remove old "Vehicle Speed" module initialization""

This reverts commit f559a726f1f7f5a7acacd1b6517e571743e84327.

* Debug changes

* Revert "Debug changes"

This reverts commit f7e2be1a8a46c6f3f93f14f002b2f2db539da8e2.

* Another debug changes

* More debug changes

* And more debug changes.

* Revert "Another debug changes"

This reverts commit 914fbb1df42c37e4b5ecbb119bb45e7cffdf4064.

* Revert "More debug changes"

This reverts commit 0b2d96d461c3cd9b0f1ae97ed110b8effe6b0cc6.

* Revert "And more debug changes."

This reverts commit 06ae8daded0e6e1c025e4e5058b47283f4adfe92.

* Add "Vehicle Speed" sensor reconfiguration

* Revert "Add "Vehicle Speed" sensor reconfiguration"

This reverts commit a089a6d563dd710004ce1a7da1744b0b4b90c3b1.

* Revert "Revert "Add "Vehicle Speed" sensor reconfiguration""

This reverts commit 7b2bb8af4b3caa547236ca59e4c4bdb3ac1200cc.

* Debug changes

* Another debug changes

* Fix another debug changes

* Another debug changes 2

* Revert "Another debug changes 2"

This reverts commit cfad55141eec125b2f1d35fb95d9f46b54f666b6.

* Revert "Fix another debug changes"

This reverts commit 9bc2c74a3be6fd896827ff48cf4580e7657529c0.

* Revert "Another debug changes"

This reverts commit 4337ed8cad8dff508d093944eb3f75e9a69e4a77.

* Edit class  FrequencySensor, make it more RAII

* Debug changes

* Debug changes 2

* Debug changes 3

* Revert "Debug changes 3"

This reverts commit 52a7054c122b5157540fe45a055a84b57478d722.

* Revert "Debug changes 2"

This reverts commit dec79fb913344ccb4b8614910ad62e6c129a243e.

* Revert "Debug changes"

This reverts commit eb08d7a529b55ba397a7dd2c154b76eab42f212b.

* Revert "Edit class  FrequencySensor, make it more RAII"

This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.

* Remove VSS pin definition in "Citroen Berlingo" engine config.

This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.

* Remove VSS pin definition in "Dodge Neon" engine config

Co-authored-by: alxrMironov <330OMcorporative>
2021-08-24 00:55:41 -04:00
Andrey G 780e91f38a
Bunch of small fixes related to EG33 board (#3188)
* Typo fix

* flash_main: always allow to write settings to ext NOR while running

* mc33810: do not enable outputs right after undervoltage

Wait for next active signal

* QSPI flash: set correct dummy cycles for fast read command

* board subaru: fix connector pinout. again.

* board subaru: fix SDMMC pin configuration

* board subaru: fix DMA conflict SPI4_RX vs SDMMC2
2021-08-24 07:39:03 +03:00
Andrey G 3961c6ad84
qspi flash updates (#3169)
* ChibiOS QSPI updates

* board: subaru: speed up NOR flash

* QSPI: add fast read commands
2021-08-17 11:06:37 +03:00
Andrey G c23e02c582
Settings ext storage (#3155)
* flash_main.cpp: reorder code for easy integration of ext storage

* Add EFI_STORAGE_INT_FLASH option

Default set to TRUE

* Add ChibiOS's Managed Flash Storage to build

* Add support for QSPI flash (SST26F064A tested)

* board: subaru: enable WSPI and NOR flash drivers

* Add option to save settings on ext flash MFS partition

* board: subaru: store settings on QSPI NOR flash
2021-08-14 09:36:08 -04:00
Matthew Kennedy d9adba2024
everybody is pulldown (#3131) 2021-08-14 09:34:13 -04:00
Matthew Kennedy 045db15dac
implement adc unsubscription (#3149)
* allow re-register of the same sensor

* adc unsub
2021-08-14 15:41:27 +03:00
rusefillc e72277c863 No pins should be restarted for no reason during config change #3151 2021-08-14 06:15:29 -04:00
rusefillc 82da6e43fd No pins should be restarted for no reason during config change #3151 2021-08-14 05:20:12 -04:00
rusefillc b141f83a88 No pins should be restarted for no reason during config change #3151 2021-08-14 04:58:10 -04:00
rusefillc bd410d0c1b No pins should be restarted for no reason during config change #3151 2021-08-14 04:35:43 -04:00
rusefillc 5e663200fd Hellen Nissan defaults are no longer valid #3143 2021-08-12 17:46:10 -04:00
rusefillc 5bf52023e7 Hellen Nissan defaults are no longer valid #3143 2021-08-12 13:44:54 -04:00
rusefillc e07e44fc9a Nissan progress 2021-08-11 18:04:57 -04:00
Matthew Kennedy 0422392ba9
fix vss crash (#3130)
* don't deref null pointer

* error on invalid

* no logic analyzer

* print out function in case of error
2021-08-10 14:20:57 -04:00
rusefillc 333fcfca8c Hellen72: Set the default pin states to input-pulldown instead of input-pullup #2525 2021-08-05 04:53:37 -04:00
Matthew Kennedy d24f1462e2
even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
rusefillc c1275af29c reduce chance of invalid CAM setting fix #3105 2021-08-03 22:15:40 -04:00
Matthew Kennedy 25414ebdad
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
Andrey fe0ae21a16 unit test for vehicle_speed.cpp fix #3081 2021-08-03 20:22:48 -04:00
Andrey 8fe2d99254 unit test for vehicle_speed.cpp #3081 2021-08-03 19:48:24 -04:00
Andrey faaf547e8b boards file clean-up 2021-08-03 04:06:06 -04:00
Matthew Kennedy 6eab1fe506
s (#3101) 2021-08-02 19:17:17 -04:00
Matthew Kennedy a8eddbccf6
perform extra-step-prevention in the stepper driver itself (#3038)
* perform extra-step-prevention in the stepper driver itself

* isBusy flag

* I am unable to type

* the court of public opinion has decided that greater-equal is correct

* that sets target in steps, not percent

* correct var name

* mock stepper motor

* testable stepper

* build is happy

* helping build
2021-08-02 07:03:57 -04:00
Andrey G c091b18baf
Int flash fixes (#3089)
* STM32F7xx: flash write parallelism settings

Datasheed allows 32bit program operation only for 2.7..3.0
While RM defines wider range...

* Add parentheses to defines

* intFlash: show all errors to user

Currently only erase error was exported to user. Flash write error
was silent. Also define few additional error codes and show it to
user.
2021-08-01 18:26:42 -04:00
rusefillc ac6cb0601c unit test for vehicle_speed.cpp #3081 2021-08-01 12:19:59 -04:00
Andrey 511b5c22dd unit test for vehicle_speed.cpp #3081 2021-08-01 12:09:53 -04:00
Andrey G 435f712e84
Remove outdated option CH_DBG_ENABLE_TRACE (#3087)
Not used since RT5
2021-07-31 07:51:13 -04:00
Andrey d3523e5010 another dead line 2021-07-31 01:37:51 -04:00
Andrey 139c2593d5 dead var 2021-07-31 01:36:50 -04:00
Andrey 7d551a062e RUSEFI MSD to contain bundle-specific URL #2848 2021-07-30 22:47:35 -04:00
Andrey 2dedcb1152 RUSEFI MSD to contain bundle-specific URL #2848 2021-07-30 22:26:30 -04:00
Andrey 2744fa53bc RUSEFI MSD to contain bundle-specific URL #2848 2021-07-30 22:23:52 -04:00
Andrey c601659dc7 RUSEFI MSD to contain bundle-specific URL #2848 2021-07-30 21:45:55 -04:00
Andrey 7888574bf0 RUSEFI MSD to contain bundle-specific URL #2848 2021-07-30 21:18:51 -04:00
Andrey 477dc27992 Wrap PAL driver into universal 'startDigitalCapture' #2123 2021-07-30 20:57:01 -04:00
Andrey 608d5de22f Wrap PAL driver into universal 'startDigitalCapture' #2123 2021-07-30 20:48:26 -04:00
Andrey 54b29c8196 Wrap PAL driver into universal 'startDigitalCapture' #2123 2021-07-30 20:30:52 -04:00
Andrey 50240c6500 Wrap PAL driver into universal 'startDigitalCapture' #2123 2021-07-30 20:15:53 -04:00
Andrey 1ce05e9a02 Wrap PAL driver into universal 'startDigitalCapture' #2123 2021-07-30 20:10:34 -04:00
rusefillc 21a821d751 more details into output 2021-07-30 19:33:31 -04:00
rusefillc 5331daf559 RUSEFI MSD to contain bundle-specific URL #2848 2021-07-30 19:13:43 -04:00
Matthew Kennedy 9b4f8a3a29
flash erase cache invalidate (#3073)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-30 16:52:55 -04:00
Andrey 8c72fdfd93 RUSEFI MSD to contain bundle-specific URL #2848
refactoring and progress
2021-07-30 16:23:01 -04:00
Andrey 4f9b3cc4d0 RUSEFI MSD to contain bundle-specific URL #2848
refactoring and progress
2021-07-30 16:07:37 -04:00