Commit Graph

1985 Commits

Author SHA1 Message Date
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