Commit Graph

491 Commits

Author SHA1 Message Date
Matthew Kennedy 76c423ccca enable H7 spi (#2391)
* enable features

* move MMC SPI config to port

* correct word length

* related cleanup

* doesn't need nocache

* include

* enable that
2021-02-24 08:14:21 -05:00
David Holdeman a12cc8e091 Fix mre pinout (#2384)
* move pins over

* rearrange
2021-02-22 16:23:08 -05:00
rusefillc ee13021dee hellen 2021-02-20 00:45:48 -05:00
rusefillc aa3157fbb0 a lot of Hellen 2021-02-19 22:23:58 -05:00
rusefillc 571f18e2c2 hellen64 2021-02-19 17:40:32 -05:00
rusefillc 8c43a15b8a Merge remote-tracking branch 'origin/master' into master 2021-02-19 17:00:44 -05:00
rusefillc f9d75db87b let's start somewhere! 2021-02-19 17:00:30 -05:00
David Holdeman 3c0d8a3206 Add missing MRE pins, fix bug (#2380)
* get type for table with multi-id pin

* add missing pins

* add missing type styles

* missing colon

* fix type

* add missing color

* use whole type
2021-02-19 16:59:57 -05:00
GitHub build-firmware Action 260aa6e333 Auto-generated configs and docs 2021-02-18 23:20:11 +00:00
Andrey G 4b5da445f1 Subaru build (#2376)
* Subaru EG33: gen_config.sh update

* gen_config and gen_enum_to_string for subaru_eg33 board too

* Subaru eg33: add to buildables

* Subaru: fix build

* Subaru eg33: fix build and cleanup

* subaru eg33: add compile script

* github: subaru_eg33: call special  gen_config.sh
2021-02-18 18:18:13 -05:00
rusefillc 369d68d464 would this give me h72 SD? 2021-02-18 17:04:51 -05:00
rusefillc 14e8ebd034 would this give me h72 SD? 2021-02-18 16:16:45 -05:00
rusefillc 32cdd1dcea h72 2021-02-17 19:25:49 -05:00
andreika-git 9b5a266d59 Hellen72 more defaults (#2369)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-02-17 11:20:03 -05:00
rusefi 483bee389b https://github.com/andreika-git/hellen-one/issues/3 2021-02-17 10:18:46 -05:00
rusefi 79deda97ac https://github.com/andreika-git/hellen-one/issues/3 2021-02-17 10:16:21 -05:00
rusefi 07bafa81fb h72 might require this 2021-02-17 09:50:28 -05:00
rusefi cffd7964ef h72 wants control 2021-02-16 16:08:45 -05:00
rusefillc c2147799bc USB mass storage tweaking #2352 2021-02-16 14:59:54 -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
David Holdeman 70341538f0 MRE connectors (#2354)
* Add MRE connector images

* fix name

* missing colon
2021-02-14 20:56:25 -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 5391b4260f automatic switch between internal and MSD SD card (#2349)
* auto enable usb msd

* guard and turn on for proteus
2021-02-14 08:10:39 -05:00
Matthew Kennedy adff68748c move chconf/mcuconf/halconf in to hw_ports (#2321)
* move f4 config files

* don't need this

* f7

* f7

* h7

* this was duplicated

* turn off smart build

* loader too

* update prometheus paths

* bootloader should include confdir

* fix the flash size while we're at it

* move chconf_common

* use wait

* normalize board.mk

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-10 19:38:24 -05:00
Matthew Kennedy a3d0b61cf1 get mcu temperature within port (#2326)
* remove EFI_ADC_TEMP_SENSOR

* implement

* comment

* s

* switch adc_inputs over

* header

* s

* I think aligned-on-stack should work ok

* num channels

* cache safety

* move adc init too

* don't compile that file for the h7

* cypress & kinetis

* ports

* guard against bootloader

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-09 22:04:36 -05:00
Matthew Kennedy 8cc6ef83f9 h7 flash, guard against no CAN (#2317)
* h7 flash

* guard some other stuff

* I guess it just builds now?

* maybe ci too
2021-02-08 16:24:38 -05:00
Matthew Kennedy ad6fc5415d move board.h for f7/h7 (#2316)
* f7 board.h

* h7
2021-02-08 15:46:48 -05:00
Matthew Kennedy 3412d8fe64 move f4 board.h (#2313)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-08 15:29:07 -05:00
Matthew Kennedy 37fa81b5d0 include board.c from hw_ports.mk (#2311)
* set mcu type in hw_ports

* move f4 linker script

* move f7 linker script

* don't set default linker file in makefiles

* extra line

* prometheus actually didn't depend on anything special for f469

* dead line

* h7

* dead

* move board.c

* set explicit cpu type for simulator

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-08 07:52:31 -06:00
Matthew Kennedy c0757a7d13 simplify MCU selection (#2308)
* set mcu type in hw_ports

* move f4 linker script

* move f7 linker script

* don't set default linker file in makefiles

* extra line

* prometheus actually didn't depend on anything special for f469

* dead line

* h7

* dead
2021-02-08 02:11:44 -05:00
Matthew Kennedy 58c18f8df9 goodbye f746 (#2309) 2021-02-07 07:52:57 -06:00
David Holdeman 3ae34637b8 add info to 4S (#2300) 2021-02-06 16:06:25 -06:00
Andrey G 0f47cff952 Add subaru eg33 (#2294)
* engine: Subaru SVX EG33 engine configuration

Not tested yet. Just basic settings and placeholder

* board: add Dron_Gus's Subaru EG33 p'n'p board

* board: subaru eg33: linker script: stack, bss and heap to ram0

* board: subaru eg33: add mapping.yaml

* board: subaru eg33: scripts for autogenerated

* board: subaru eg33: fix DMA conflict (ADC1 vs SPI5)

* board: subaru eg33: enable ADC3

* board: subaru eg33: Autogenerated

* board: subaru eg33: disable fsio control of Main Relay

Default MAIN_RELAY_LOGIC cause error during parsing

* board: subaru eg33: configuration hack to fix usbconsole.c

* gen_config: generate config for Subaru SVX board too
2021-02-06 12:50:34 -06:00
rusefillc 660b8e319d H7 compilation #2284 2021-02-06 00:07:05 -05:00
rusefillc c549a13c1f let's build for h7 2021-02-05 22:10:59 -05:00
rusefillc 1c51e06e35 let's build for h7 2021-02-05 20:58:34 -05:00
rusefillc 48adc90975 let's build for h7 2021-02-05 20:16:10 -05:00
rusefillc 79b035a7b0 that's a bit useless? 2021-02-05 20:14:52 -05:00
rusefillc 2b2c020582 hellen72b 2021-02-05 19:20:04 -05:00
Matthew Kennedy 7af3931032 hardware ci tweaks (#2266)
* frankenso config

* Revert "frankenso config"

This reverts commit 5bb2375ba2d33ae487273eaa5b7a4f12e8a9cecc.

* add hardware CI flag for proteus

* rename ci job

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-02 08:14:24 -06:00
David Holdeman 2a6efec24f Pinouts Improvements (#2263)
* redo pinout generation in ci script

* missing operand

* fix some errors

* copy yaml

* more bugs

* fix bug

* wait for image to load

* set background color for hover in dark theme

* add feature: click on rows to select pin

* change cursor to pointer

* undo accidental submodule bump

* oops
2021-02-01 17:31:36 -06:00
Matthew Kennedy e22a9e9d02 -g3 to -g (#2256)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-31 14:13:55 -05:00
David Holdeman 46ac46f171 Connector images, hellen128 mapping (#2255)
* add some connector images

* proteus black23

* add script

* add black23 to script

* remove redirect to send to stdout

* copy img

* black35

* rotate white35

* white35

* forgot last row of black35

* rename

* create in subdir

* hellen72 main

* connectors subdir stupid

* undo submodule update

* remove hash signs

* add hellen128 image

* cd to script dir first

* hellen128 rough draft

* gen hellen128

* fix paths
2021-01-31 08:11:18 -05:00
rusefillc 9cec794f27 IGNORE_FLASH_CONFIGURATION 2021-01-28 18:03:45 -05:00
rusefillc 3c62dfc39d mre_f4_recovery build 2021-01-28 17:46:49 -05:00
rusefillc d5f914f96a Hellen mapping #2235
fixing CLT mis-mapping
2021-01-27 22:58:06 -05:00
rusefillc ab12a4d187 Revert "FRANKENSO to use HAL_VSS_USE_PAL"
This reverts commit 7c66b535
2021-01-24 00:05:17 -05:00
rusefillc 7c66b535e5 FRANKENSO to use HAL_VSS_USE_PAL 2021-01-23 22:57:13 -05:00
rusefillc 0ae7eed5be knock-knock 2021-01-23 00:00:34 -05:00
David Holdeman 8e2f6e57d8 Hellen mapping (#2235)
* convert hellen mapping.yaml

* remove mapping.yaml as it is not used
2021-01-22 16:51:02 -05:00
David Holdeman 928b8ce70a New board pin-mapping system (#2231)
* convert mre mapping

* convert mre mapping

* funny stuff for GPIOA_5

* move class next to id

* rough draft

* update scripts

* fix some errors

* fix some errors

* try

* check against null

* try amp

* try

* try

* fix some errors

* update scripts

* fix maybe

* fix maybe 2

* fix maybe

* fix maybe

* fix

* try

* fix

* use .equals

* use StringBuilder

* use instanceof

* use .max

* remove getMaxValue

* Suppress Warning

* major optimization

* fix maybe

* off-by-one error

* move yaml file loop

* add j2 connector

* add pads yaml

* check for null or empty

* add AV pins to pads

* forgot class

* move registerpins out of loop

* fix typo

* rebase

* check if string

* convert frankenso

* convert frankenso

* tyop

* missing class

* copy mre to skel

* remove prometheus yaml

* remove kinetis yaml

* build configDefinition

* replace var with string

* slight refactor
2021-01-22 12:03:14 -05:00
rusefillc 7f893c6159 Hellen72 2021-01-22 02:02:16 -05:00
andreika-git 5fbb1c6b5d hellen72 trigger PAL mode (#2233)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-01-21 10:22:29 -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
Andrey G d134fabc51 Simplify Makefile, unify board.mk files (#2229)
* Proper way to add lis302 driver

* Proper way to add license directory to includes

* Makefile: simplify

All ChibiOS stuff is accumulated in ALLCSRC, ALLINC and so on.

* board.mk: append sources and includes to ALLSRC, ALLCPPSRC, ALLINC

* Cypress: fix CANv2 includence into build
2021-01-17 09:32:06 -05:00
rusefi dcc1d7ad01 nb2 and proteus usability 2021-01-11 01:17:03 -05:00
rusefillc 554dec7a05 Hellen 2021-01-09 11:24:13 -05:00
andreika-git 3dac7599c4 Hellen72 config (#2200)
* Hellen72 config

* Hellen72 files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-01-08 12:50:13 -05:00
Andrey G f962a7bd64 Gpio cleanup #2 (#1530)
* pin repository: PIN_USED size in now equal to brain_pin_e enum size

expect special values...

* smart gpios: register gpio chip to given base (no auto-allocation)

* drivers: gpio: core: add gpiochip_unregister()

* drivers: gpio: MC33810 intergation

* smart_gpio.cpp: cleanup ifdef mess, minor cleanups

* gpio: core: additional check for gpio ranges overlaps

* unit test: gpio chip: fixed and extended
2021-01-06 18:29:47 -05:00
rusefi 35482fd21e progress 2021-01-03 17:58:00 -05:00
rusefi c29a0d9b06 docs 2021-01-01 18:19:52 -05:00
rusefi e530ded915 F7 HW CI 2020-12-28 23:26:51 -05:00
rusefi 154912509b fixing QC config 2020-12-28 19:19:29 -05:00
rusefillc b286ec8a34 fine-grained check modes 2020-12-27 17:41:28 -05:00
rusefi 3d3b5706d3 HW_CHECK_SPARK_FSIO 2020-12-26 16:16:40 -05:00
rusefillc 80854bf5ce proteusBoardTest 2020-12-26 10:50:18 -05:00
rusefillc 027c5a3580 proteusBoardTest 2020-12-26 10:46:45 -05:00
rusefillc f9de491b67 proteusBoardTest 2020-12-26 10:41:33 -05:00
rusefi c67af9632a PROTEUS_QC_TEST_BOARD 2020-12-26 00:57:23 -05:00
Matthew Kennedy 7617b115de Partition configs by board type (#2106)
* remove old flag

* flags

* reorder switch

* oops
2020-12-22 21:54:40 -05:00
rusefi 4c347026ff Proteus is compiled without VSS feature #2122 2020-12-22 21:28:51 -05:00
rusefi 6ddfff8fd9 Proteus is compiled without VSS feature #2122 2020-12-22 20:50:01 -05:00
rusefillc 632afe3432 fixing master PROTEUS_DEFAULTS 2020-12-22 17:13:05 -05:00
rusefillc 1d434336f8 VR_HW_CHECK_MODE 2020-12-21 13:33:09 -05:00
rusefi 99a349e4c6 VR_HW_CHECK_MODE 2020-12-21 12:30:15 -05:00
rusefillc 1be84c072e proteus_f4_hardware_QC_special_build 2020-12-20 09:14:14 -05:00
rusefillc bf0dfcf659 proteus_f4_hardware_QC_special_build 2020-12-20 09:11:36 -05:00
Matthew Kennedy 34edf34bf4 only build in config for the correct board (#2088)
* only build in config for the correct board

* undo

* undo

* undo

* only touch proteus config

* include configs in tests
2020-12-17 17:12:24 -05:00
rusefi 08c7849b29 it's weird 2020-11-27 16:41:11 -05:00
Matthew Kennedy dfa38e6829 default to off (#1989) 2020-11-25 22:44:08 -05:00
rusefi e2ac877926 GDB helper 2020-11-25 13:53:29 -05:00
rusefi b3e910008c MRE mapping 2020-11-15 17:16:58 -05:00
rusefi 7adde869d7 v12 Proteus 2020-11-06 14:18:54 -05:00
Matthew Kennedy 789926a61d convert cranking defaults to mg (#1921)
* convert cranking defaults to mg

* fix tests
2020-11-03 14:12:26 -05:00
Matthew Kennedy 74f59ff67e fix MRE digital input mapping (#1910) 2020-10-25 19:26:04 -04:00
Andrey G 88e830d635 Tle8888 big update 1 (#1892)
* smart gpio: fix tle8888 direct pin mapping for MRE

* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888

* TLE8888: cleanup

* TLE8888: do not reset driver private data on WD/undervoltage reset

* TLE8888: diagnostic updates

* TLE8888 driver: BIG driver rework

* TLE8888: check SPI answers for abnormal states

Reply with other than requested register can be a sign of:
-Power-On-Reset, then OpStat0 will be replyed
-WatchDog reset, then FWDStat1 will be replyed
-Invalid communication frame, then Diag0 will be replyed

Keep tracking last accessed register and check with the next reply.

* TLE8888: debug clean-up

* TLE8888: implement spi array write

This reduce CS inactive state time between two consequent accesses
from 8.8 uS to 1.4 uS

* TLE8888: fix PP outputs in OD mode

* TLE8888: cleanup register definitions

* TLE8888: run separate driver thread for each chip instance

Calculating poll interval for few chips become more complex, avoid
this running thread for each device.

* TLE8888: fix cypress and kinetic compilation

Both platforms define its own MAX and cause redifination error if
common.h is included in driver.

* MRE: update mapping.yaml and fix direct pin mapping for TLE8888

* TLE8888: diagnnostic: disable switch off in case of overcurrent

For all output, use current limiting instead

* TLE8888: check for overvoltage on OUT8..OUT13

* TLE8888: add TODO note about how to recover from failure condition

Currently TLE8888 automaticly recovers only from overcurrent and
(may be) overtemperature conditions.
Short to bat cause output disable (bit in OECONFIG is reset) and
needs driver/host intervention.

* TLE8888: save few bytes of RAM

* TLE8888: Lada Kalina is test mule for IDLE stepper on TLE8888

Don't forget to enable PP mode for TLE8888 outputs 21..24:
uncomment line 1087 in tle8888.c

* TLE8888: reorder code, cleanup

* TLE8888: mode all debug/statisctic to per-chip struct

* TLE8888: rework poll interval calculation

* MRE: use TLE8888 pins instead of MCU gpios that drives TLE8888 #2
2020-10-23 12:25:30 -04:00
Matthew Kennedy 8f6982dd54 disable i2c, other unused features (#1891)
* dead

* more
2020-10-20 22:24:32 -04:00
rusefi 79d267eba0 VAG radiator control 2020-10-19 23:25:23 -04:00
rusefillc aec48c294e GDI Epic #1448 2020-10-17 14:53:56 -04:00
rusefillc c1023504e6 Re-applying #1841
Revert "HW CI has failed 11 times since Oct 2 #1849"

This reverts commit 7d8238e6
2020-10-04 01:54:29 -04:00
rusefillc 7d8238e697 HW CI has failed 11 times since Oct 2 #1849
Revert "configure all sample times - fix MRE knock sampling (#1841)"

This reverts commit e02c86a7
2020-10-03 21:36:09 -04:00
Matthew Kennedy e02c86a7dc configure all sample times - fix MRE knock sampling (#1841)
* configure all sample times

* smpr 1 vs smpr 2

* man I can't type

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-10-02 20:49:56 -04:00
Matthew Kennedy 8520a128bb show SD menu on proteus (#1837)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-30 19:18:37 -04:00
rusefi d09d2da420 Cypress artifact needs .hex file #1835 2020-09-29 18:50:51 -04:00
David Holdeman 37f439390e add hex to bundle (#1836) 2020-09-29 17:04:41 -04:00
David Holdeman 0f7b91861a move cd statements to common_make.sh (#1830)
* move cd to compile.sh

* rel path

* undo changes to compile.sh and move cd to common_make
2020-09-28 18:25:15 -04:00
Matthew Kennedy 9632a784f3 add analog inputs to switches (#1829)
* add analog in to switches

* also clarify boost cut pressure

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-09-28 14:45:23 -04:00
andreika-git 3db4d3a56f Hellen says fix gen_config for Cypress (#1824)
* Hellen says merge #1772 hardware.cpp

* Hellen says merge #1772 adc.h

* Hellen says fix gen_config for Cypress

* Hellen says fix gen_config actions for Cypress

* Hellen says reset .h files

Co-authored-by: rusefi <rusefillc@gmail.com>
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-27 09:56:44 -04:00
rusefi 15cb74bbf8 cypress into GHA #1819
code style match
2020-09-27 07:07:01 -04:00
rusefi 940086ee34 cypress into GHA #1819 2020-09-27 06:43:32 -04:00