Commit Graph

2109 Commits

Author SHA1 Message Date
Matthew Kennedy 1a73dcc46e fast adc callback (#3031)
* fast adc callback

* guard

* missed one

* now cypress will be happy
2021-07-23 14:19:59 -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 dfaac25df1 sd card indicators (#3001)
* sd bits

* rusefi.input
2021-07-20 21:29:24 -04:00
Matthew Kennedy 2255ce37b4 H7 turn off USB before reset (#2999)
* turn off USB before reset

* comment

* add link
2021-07-20 19:39:26 -04:00
Andrey fb30117acc Button to apply nDBANK #2996
still does not work
2021-07-20 15:42:57 -04:00
Andrey 8eb407627e Button to apply nDBANK #2996
it does not work, i give up for now time to install STM Cube :(
2021-07-20 14:15:58 -04:00
Andrey 668c342b34 Button to apply nDBANK #2996 2021-07-20 13:20:34 -04:00
Matthew Kennedy 7c2f20af49 osc detector on H7 (#2992)
* detect clock with TIM11 instead of TIM5

* s

* h7 has a different register name

* detect on H7

* cleanup

* comment

* use define

* f4 typo
2021-07-19 21:58:23 -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 79f04983eb New hardware testing commands #2978 2021-07-17 13:42:10 -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
Matthew Kennedy 45d185b09d lua hooks for CAN tx (#2967)
* CanTxMessage usable from unit test

* testLuaReturnsNil

* CAN hook and tests

* it helps if parameter names exist

* nameless params

* s

* redefinition of default argument

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-16 14:06:26 -04:00
Andrey 85d6d6c70d trigger signal debug pins - logic level output #2959
test driven development is still amazing
2021-07-15 09:29:14 -04:00
Andrey 8a49009f44 trigger signal debug pins - logic level output #2959 2021-07-15 02:12:57 -04:00
Andrey 0f7def86dc all aboard the God object! 2021-07-15 02:00:48 -04:00
Andrey aed7afa1d4 trigger signal debug pins - logic level output #2959 2021-07-15 01:56:04 -04:00
Andrey 8dff4c3c31 trigger signal debug pins - logic level output #2959 2021-07-15 01:49:07 -04:00
Andrey 050a009b3d trigger signal debug pins - logic level output #2959 2021-07-15 01:46:30 -04:00
Andrey 0f30fec7c2 trigger signal debug pins - logic level output #2959 2021-07-15 01:28:44 -04:00
Andrey 3327dc0199 progress 2021-07-15 01:18:38 -04:00
Andrey 1d2fdb0f04 progress 2021-07-15 01:17:42 -04:00
Andrey e4c498e042 trigger signal debug pins - logic level output #2959 2021-07-15 00:50:29 -04:00
rusefillc 8e8737d6ce trigger signal debug pins - logic level output #2959 2021-07-15 00:03:31 -04:00
Andrey d1b3eb065d trigger signal debug pins - logic level output #2959 2021-07-14 23:20:18 -04:00
Andrey bb38cc60eb trigger signal debug pins - logic level output #2959 2021-07-14 23:05:51 -04:00
Andrey b53b23b140 trigger signal debug pins - logic level output #2959 2021-07-14 22:51:08 -04:00
Andrey 122ef9f637 making code more testable 2021-07-14 22:37:05 -04:00
Andrey 072243370f making code more testable 2021-07-14 22:02:28 -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 ad37021a0b printing autoDetectedPllMValue in console 2021-07-14 12:42:35 -04:00
Andrey 564c380851 trigger signal debug pins - logic level output #2959 2021-07-13 20:15:55 -04:00
Andrey 903c6e7305 refactoring - making method available 2021-07-13 19:28:03 -04:00
Andrey b3f33a1249 trigger signal debug pins - logic level output #2959 2021-07-13 18:16:32 -04:00
Matthew Kennedy 15931dd56c auto detect HSE clock speed (#2952)
* detect hse

* implementation

* these boards don't need to set their own HSECLK

* assertions

* name

* tweaks

* how did this compile?

* s

* biiiig comment

* this script doesn't need to set 25mhz any more

* ....or PLLM

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-12 20:51:35 -04:00
rusefillc b0bfff2c4d typo 2021-07-11 10:16:35 -04:00
Matthew Kennedy 1bba234920 inject (#2938) 2021-07-09 17:02:25 -04:00
Matthew Kennedy a3d3638232 more graceful chibios assertion failure (#2859)
* no custom assert hook

* dead

* setjmp/longjmp

* always call tid hook

* tests get threadid

* simulator threadid

* kick

* stubs for kinetis

* make it happier

* noreturn

* oops

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-05 18:18:58 -04:00
Andrey G d508537374 Chibios-Contrib for stm32 (#2903)
* Add Chibios-Contrib for STM32F/H too

* ports: stm32: add community hal and cmu configs for STM32

* ports: stm32: community: disable CRC driver
2021-07-05 09:53:45 -04:00
Matthew Kennedy ee6f49e65f Consolidate hwHandleShaftSignal (#2875)
* consolidate trigger input

* merge functions

* comment

* dead

* hw vs. not hw

* stray comma

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-28 10:06:22 -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 77b9a9a99d Fixes eg33 (#2838)
* CAN HW: use designated initizalization

* board subaru eg33: set CAN transceiver EN to active state constantly

While FW does not handle CAN transceiver's EN signal
2021-06-20 08:18:16 -04:00
Andrey G 84856f3073 Fixes (#2807)
* tle6240: fix Matt's trap

* map: report some default value if no map sensor configured

Othervise user will get "unexpected MAP value" warning

Thread 2 hit Breakpoint 1, validateMap (mapKPa=3121.66162) at ./controllers/sensors/map.cpp:126
126		if (cisnan(mapKPa) || mapKPa < CONFIG(mapErrorDetectionTooLow) || mapKPa > CONFIG(mapErrorDetectionTooHigh)) {
(gdb) bt
 0  validateMap (mapKPa=3121.66162) at ./controllers/sensors/map.cpp:126
 1  0x002717dc in getMap () at ./controllers/engine_cycle/map_averaging.cpp:334
 2  0x0028175a in GetMapWrapper::getMap (this=0x2004214c <mapWrapper>) at ./init/sensor/init_map.cpp:12
 3  0x0028177c in operator() (__closure=0x0) at ./init/sensor/init_map.cpp:20
 4  0x002817a8 in _FUN () at ./init/sensor/init_map.cpp:21
 5  0x002811de in FunctionPointerSensor::get (this=0x20042150 <mapSensor>) at ./controllers/sensors/function_pointer_sensor.h:24
 6  0x002651c0 in SensorRegistryEntry::get (this=0x2003ddf0 <s_sensorRegistry+48>) at ./controllers/sensors/sensor.cpp:111
 7  0x002653e2 in Sensor::get (type=SensorType::Map) at ./controllers/sensors/sensor.cpp:208
 8  0x00261f38 in updateTunerStudioState (tsOutputChannels=0x2003d2e8 <tsOutputChannels>) at ./console/status_loop.cpp:637
 9  0x00262e48 in prepareTunerStudioOutputs () at ./console/status_loop.cpp:900
 10 0x00260914 in TunerStudio::cmdOutputChannels (this=0x20021a64 <tsInstance>, tsChannel=0x2003d4dc <usbChannel>, offset=0, count=340) at ./console/binary/tunerstudio_commands.cpp:24
 11 0x00260584 in TunerStudioBase::handleCrcCommand (this=0x20021a64 <tsInstance>, tsChannel=0x2003d4dc <usbChannel>, data=0x2003d4e1 <usbChannel+5> "", incomingPacketSize=5)
    at ./console/binary/tunerstudio.cpp:701
 12 0x0025fb3c in tsProcessOne (tsChannel=0x2003d4dc <usbChannel>) at ./console/binary/tunerstudio.cpp:537
 13 0x0025fbe2 in TunerstudioThread::ThreadTask (this=0x2003d608 <usbConsole>) at ./console/binary/tunerstudio.cpp:554
 14 0x0025f094 in ThreadController<1200>::StaticThreadTaskAdapter (thread=0x2003d608 <usbConsole>) at ./controllers/system/thread_controller.h:37
 15 0x0020035e in _port_thread_start () at ChibiOS/os/common/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.S:201
2021-06-10 19:39:48 -04:00
Matthew Kennedy e3bf80b9d7 convert gpiochips to c++ (#2761)
* core

* basic header

* tests are happy

* tle6240

* tle8888

* 33972

* 33810

* tle8888_req_init

* unused warning

* warning

* unsigned

* 8888 debug

* fix

* don't qualify

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-10 04:11:01 -04:00
Matthew Kennedy e68d920a9b Assorted todos (#2762)
* gpiochip todos

* fuel computer

* this was already done
2021-05-30 19:23:29 -04:00
Matthew Kennedy 66ab47a8d2 remove old config override (#2763) 2021-05-30 13:31:36 +03:00
Andrey G 032fa6c435 mc33810: set ignition outputs to GP mode (#2756)
IGN mode does not want to fire Subaru ignitor
2021-05-29 05:07:04 -04:00
Matthew Kennedy ca625e7935 non blocking flash on f7 dual bank 2MB (#2749)
* f7 dual bank flash

* only start thread if necessary
2021-05-29 08:05:29 +03:00
Andrey G b4dce2c26d Flash fix erase check (#2750)
* Fix flash erase error formating

* Flash F7: do magic calculation with local copy of sector number

* Falsh stm32: simplify

* typo?
2021-05-28 20:35:54 +03:00
Andrey 4085e5be00 mkfs.fat phase kills gen_config #2736 2021-05-24 15:35:35 -04:00
Andrey 4db545a241 mkfs.fat phase kills gen_config #2736 2021-05-24 09:04:37 -04:00
David Holdeman 68da5c279e Doxygen titles (#2728)
* move addRow call

* undo submo bump

* add header titles
2021-05-22 22:10:58 +03:00
Matthew Kennedy c7cc5471ad Lua on f407, try again (#2725)
* lua on f4

* move perf trace to efifeatures

* check that it's defined

* cypress and kinetis

* it would help to define the correct thing

* disable buffer if not used

* we can work with 2k

* turn off ramdisk on mre qc

* wow strncpy is useless for truncated strings

* turn off for bootloader

* lto bootloader

* memory

* memory
2021-05-20 23:05:18 +03:00
Andrey 57a015e6fb refactoring magic constant STOICH_RATIO 2021-05-20 02:36:55 -04:00
Matthew Kennedy be41a96511 actually fix F7 flash this time (#2719)
* f7 sector sizes

* loop dsb

* correct sector index on f7
2021-05-18 17:40:59 -04:00
Matthew Kennedy 4b69e7d441 compile gpiochips as cpp (#2702)
* rename

* core

* structing

* more

* makefile

* structing

* 6240 compiles

* explicit cast instead of implicit narrowing

* 8888

* no extern C

* fix tests build

* extern "C"

* 33810

* 8860

* 33810

* linker

* unbreak master

* don't need that if compiling as C++

* bump config

* fix test

* tests

* unit tests bad merge

* build

* move subaru logic to cpp file

* cpp goodness

* hpp include

* this is probably the right thing to do

* simulator
2021-05-17 08:42:56 +03:00
Andrey G 0faa8a0166 Hw layer rearrangement (#2705)
* Fix simulator compilation

* HW_SENSORS_SRC -> HW_SENSORS_CPP
2021-05-16 14:11:28 +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 b38a58fffb don't expose private state (#2696)
* don't expose private state

* fix tle init
2021-05-14 14:56:45 -04:00
rusefillc cd573a5f9d hiding 8888 mess under the rug
making LPS25 one step more available to Hellen
2021-05-14 10:54:40 -04:00
Andrey G 636c68efe2 Adc fixes (#2691)
* ADC: save few bytes

* ADC: fix limit checking, add note for futher users

* ADC: not used anymore
2021-05-13 15:51:18 -04:00
Andrey G f9d2694dfd mc33810 (#2684)
* mc33810: ENABLE outputs

* mc33810: enable Dwell time control
2021-05-11 18:17:06 -04:00
Matthew Kennedy 10de5ca77a s (#2683) 2021-05-11 15:45:35 -04:00
Matthew Kennedy da1d8edfa1 no sd if early fatal (#2680) 2021-05-10 14:31:40 -04:00
Matthew Kennedy 3dd6b2efc9 move FSIO aux analog inputs to sensor model (#2669)
* sensor entries

* init

* non-explicit for list init to work

* switch fsio

* no longer need this lua hook

* init
2021-05-09 19:47:37 -04:00
rusefillc 591b2b3c6c Revert "lua on f407 (#2646)"
This reverts commit e35e99f5
2021-05-09 18:25:50 -04:00
Matthew Kennedy e35e99f52d lua on f407 (#2646)
* lua on f4

* move perf trace to efifeatures

* check that it's defined

* cypress and kinetis

* it would help to define the correct thing

* disable buffer if not used

* we can work with 2k

* turn off ramdisk on mre qc

* wow strncpy is useless for truncated strings

* turn off for bootloader

* lto bootloader
2021-05-09 16:25:38 -04:00
Matthew Kennedy 870538bc63 move ADC pin initialization (#2660)
* set the pin in adc subscription land

* remove from adc_inputs

* more subscriptions

* use our lib instead
2021-05-09 14:36:11 -04:00
Matthew Kennedy 33fc8a7185 ini drive contents update (#2665)
* add shortcuts

* move readme

* nozip version of readme

* scripts

* set the filename
2021-05-09 12:18:55 -04:00
Matthew Kennedy 03ea9fa13a Support STM32F7 1MB devices (#2659)
* modify linker script for 1MB devices

* handle null flash address

* actually support 1MB F7

* comment
2021-05-09 09:19:20 -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
Andrey G ea870c4869 hip9011 (#2654)
* Move HIP states enum out of rusefi_enums.h

-this is internal driver stuff. No need to have it defined globaly.

* Auto-generated configs and docs
2021-05-08 10:08:18 -04:00
Andrey G dd2f8fe457 hip9011 update (#2653)
* hip9011: add check for SPI reply in advanced mode

* hip9011: read value over SPI in advanced mode
2021-05-08 09:50:28 -04:00
Matthew Kennedy 37a3de07cf remove stateChangeCallback from simplepwm (#2644)
* remove callback parameter from cj125

* remove from ext

* remove stateChangeCallback

* alt doesn't need that

* demorgan

* remove call

* bad cut/paste

* check the actual pin in the test
2021-05-07 09:38:41 -04:00
Matthew Kennedy ea6cb14780 move some stuff in to ccm (#2645)
* stuff in ccm

* used memory
2021-05-07 09:35:57 -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
Matthew Kennedy 088ed3c28e interactive lua (#2614)
* interactive lua

* unnecessary pop

* print return value

* enable f7 lua

* match f7 chconf
2021-05-03 17:46:12 -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
rusefi 24a15646bd Proteus QC build 2021-04-30 13:57:33 -04:00
Matthew Kennedy a470c1eec1 lua 5.4 (#2590)
* thread priority

* build

* makefile prep

* call startup

* lua 5.1

* mk

* 5.3

* mk

* I guess lua does something?

* extract hooks, builds for tests

* a bit of error handling

* guard

* bootloader makefile

* remove lua

* submodule

* submodule update

* builds with submodule

* disabled by default

* h7 chconf

* tweaks

* add a useful hook

* move luaconf

* perf trace lua

* test helpers

* lua unit tests

* include to satiate clang
2021-04-28 22:41:25 -04:00
Andrey G 605378f829 Subaru board update (#2600)
* board: subaru eg33: linker script: stack, bss and heap to ram0

* Board: Subaru EG33: clean-up configs

* board-subaru-eg33: fix board config

* engine: subaru: eg33: fixes
2021-04-28 20:25:33 -04:00
Andrey G 28f0e3b0f6 Mc33972 update (#2599)
* MC33972: update

-per-instance thread
-enable pull-ups for enabled pins only

* smart-gpio: mc33972: uses 8-bit spi frames

3 bytes are sent to make 24-bit frame
2021-04-28 18:29:35 -04:00
Matthew Kennedy 7c8c14fee2 Baro config (#2591)
* adjust API to allow i2c init to fail

* init

* proteus config

* 🎠🎠🎠

* buh

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-27 15:29:22 -04:00
Matthew Kennedy addf97ee08 prep for lua (#2589)
* thread priority

* build

* makefile prep

* call startup

* s
2021-04-27 07:57:08 -04:00
rusefillc e4c0336cea F429 MCU says it's too cold #2552 2021-04-25 09:11:57 -04:00
shadowm60 4ea719c60c Handle can message cyclicity (#2573)
* Handle can message cyclicity

update of canDash to support different cyclicity of messages

* review updates
2021-04-23 20:16:27 -04:00
rusefi be0f2210c5 improving QC process 2021-04-22 21:23:20 -04:00
Andrey G 38a9e92b53 HD44780: start pins on init (#2576)
This fixes bug introduced in 75098a0d4b
Sorry!
2021-04-21 15:33:58 -04:00
Matthew Kennedy b6fc9befc8 finish it off: remove scheduleMsg (#2575)
* finish it off

* one more logger ptr

* fwd decl

* Revert "one more logger ptr"

This reverts commit a21fb0087ddc748978d716db2710800cf26e437b.

* unused

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 15:33:40 -04:00
Matthew Kennedy 5f0791f9fb Destroy all shared logger (#2574)
* most of shared logger

* a few more

* one more

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 14:28:48 -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 992c16b4af logging cleanup 2: sensors, pid, etb, etc (#2567)
* ts logger

* sensors

* wideband too

* missed one

* init

* motors, pid, etc

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 20:02:32 -04:00
Matthew Kennedy babb43013f rewrite text logging system (#2439)
* minor cleanup

* enable mailboxes

* priority

* implement new logger

* more cleaning

* signature

* remove debug

* put the assertion back in

* remove debugging

* spelling

* doy

* tweaks & comments

* cleaning

* size_t

* guard more

* test build now

* needs more ram until we can remove LogginWithSTorage

* hunt for memory

* bootloader

* unused

* stub simulator

* it would help to get the signature right

* geez kinetis only has 64k ram

* more guarding because kinetis

* that's now very legal and very cool

* templatify

* s

* force null terminate

* probably fix

* const

* write a test

* disable sensor chart for now

* hide SC ui

* oh nope that breaks many things

This reverts commit c3c1bb324fb484c3d9cc44b7715c234bc0392e1e.

* missed one

* reset after scheduleLogging

* we can't print out the full message because it contains commas which break parsing

* force terminate long buffers

* let's see how much memory we have to play with

* a lot, is the answer

* real thread name

* shrink this for now before its deleted

* turn that back on

* biiig comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-18 18:46:47 -04:00
rusefillc 57dcc927c9 flush SD log 10x faster #2558 2021-04-15 09:42:22 -04:00
Matthew Kennedy a5d6cb9337 flush 10x faster (#2558)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-15 09:31:38 -04:00
rusefillc b5ac82913b nothing happens here 2021-04-13 23:32:32 -04:00
Matthew Kennedy 6a2a6da67f multiple mass storage (#2535)
* driver

* plumbing

* guard adjust

* read correct lun

* de-template

* rearrange

* guard

* guard

* memory

* headers

* memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-10 08:35:41 -04:00
Andrey G a0053d5845 hip9011 and friends (#2527)
* engine math: extrant getFiringOrderTable for reuse

* engine math: getNextFiringCylinderId helper

* introduce knock_logic: first member is getCylinderKnockBank()

moved from software_knock.cpp

* hip9011: support two inputs/banks

* fix CI

* Board Subaru EG33: populated with TPIC8101 with Advanced mode

* hip9011: test communication in advanced mode

* hip9011: handle situation when chip is already in advanced mode

* Board Subaru EG33: cylinder to knock bank mapping

* hip9011: count spi transactions in advansed mode too

* hip9011: reset incalid responce counter after chip initialization

* hip9011: make debug output more structured
2021-04-04 18:13:21 -04:00
Matthew Kennedy b7aacbe622 h7 dfu and comments (#2522) 2021-04-03 21:58:29 -04:00
rusefi 53689d91aa explicit status for MSD SD mode 2021-04-03 19:42:54 -04:00
rusefi 1d9ba89273 SD init: document or fix unlock SPI fix #2516 2021-04-01 16:21:19 -04:00
rusefi da64802066 SD init: document or fix unlock SPI #2516 2021-04-01 16:20:08 -04:00
Matthew Kennedy 761e65c710 make board config override actually usable (#2508)
* new function

* hellen

* MRE

* proteus

* put those function declarations in a reasonable place

* put the comment back

* weak

* move that to a reasonable place

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-31 14:46:50 -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 ff12c4d214 speed up boot by 48 ms (#2506)
* speed up boot

* two
2021-03-29 22:59:38 -04:00
Matthew Kennedy 1b69ae320e enable serial pins on proteus (#2507)
* enable serial on proteus

* make h7 happy
2021-03-28 17:03:14 -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
Andrey G 5fda278503 hip9011: get callback from spark on each cylinder (#2499)
* hip9011: get callback from spark on each cylinder

* hip9011: cleanup unused
2021-03-27 14:12:49 -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 2839c6f069 use cpp (#2493) 2021-03-25 18:12:17 -04:00
Matthew Kennedy 53a579abbf move some initialization steps earlier (#2480)
* early hw init

* s

* Revert "s"

This reverts commit 10d3039168613cfb2b0cf1c960d2f18894745ce3.

* bor

* I can't type

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-25 16:22:03 -04:00
Matthew Kennedy 92d249918b rename setBoardConfigurationOverrides (#2479)
* rename

* proteus

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-22 14:15:09 -04:00
Matthew Kennedy e38aa3aa8c fix (#2478) 2021-03-20 22:07:52 -04:00
Andrey G aa05ff195d Hip9011 and cleanups (#2477)
* hip9011: move hipCs out of EnginePins to hip9011 driver

* hip9011: cleanup debug output, save few RAM bytes

* Supress few signed vs unsigned warnings
2021-03-20 08:40:36 -04:00
Matthew Kennedy d65190b8a5 embiggen MSD stack (#2475) 2021-03-19 19:56:47 -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 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 c168c748ea dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
Matthew Kennedy 910f46267f VVT uses closed loop controller framework (#2453)
* vvt uses framework

* builds

* rename, update headers

* s

* testable

* write some basic tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-14 19:31:46 -04:00
Matthew Kennedy 540b9000d5 implement ads1015 driver (#2458)
* first approximation of ads1015

* fix ads

* misc

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-14 19:02:42 -04:00
Matthew Kennedy 5cc2efc3e5 use full memory on STM32F42x (#2450)
* linker script

* hook it up
2021-03-13 07:26:58 -05:00
Matthew Kennedy 19e77b31f4 put back (#2452) 2021-03-13 06:59:33 -05:00
GitHub build-firmware Action c9c39ed728 Auto-generated configs and docs 2021-03-13 02:26:53 +00:00
GitHub build-firmware Action d5e0f7a016 Auto-generated configs and docs 2021-03-12 05:52:29 +00:00
GitHub build-firmware Action 5b25a39955 Auto-generated configs and docs 2021-03-12 05:18:18 +00:00
GitHub build-firmware Action 17c2ecc227 Auto-generated configs and docs 2021-03-12 04:19:00 +00:00
rusefillc 9f90387d09 vBatt -> SensorType::vBatt fix #2260 2021-03-11 23:07:18 -05:00
rusefillc 98eae45094 vBatt -> SensorType::vBatt #2260 2021-03-11 22:52:34 -05:00
GitHub build-firmware Action d94ed8a45a Auto-generated configs and docs 2021-03-11 19:11:45 +00:00
GitHub build-firmware Action 08081f179f Auto-generated configs and docs 2021-03-11 13:40:39 +00:00
GitHub build-firmware Action 55caa17ac8 Auto-generated configs and docs 2021-03-11 04:22:28 +00:00
GitHub build-firmware Action 035d783120 Auto-generated configs and docs 2021-03-11 02:16:35 +00:00
GitHub build-firmware Action 20ec3009ee Auto-generated configs and docs 2021-03-11 00:54:18 +00:00
Matthew Kennedy 66fa7be31b fix h7 adc (#2442) 2021-03-10 19:52:39 -05:00
GitHub build-firmware Action fa1f266012 Auto-generated configs and docs 2021-03-10 22:31:48 +00:00
GitHub build-firmware Action 73cb28a291 Auto-generated configs and docs 2021-03-09 23:55:38 +00:00
Matthew Kennedy dafd28d751 enable CAN on H7 (#2393)
* enable

* guard correctly

* h7 bit timing

* allow longer frames

* allow data smaller than maximum

* mcu temperature

* typo

* tx message

* testing

* check for CAN or FDCAN

* don't need that any more

* h7 bitrate config

* undo testing

* h7-ify msg tx

* comment

* break out SID/EID macros

* guard differently

* update ChibiOS

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-09 18:54:01 -05:00
GitHub build-firmware Action d9d05c99e9 Auto-generated configs and docs 2021-03-09 13:45:05 +00:00
Matthew Kennedy 943e6078c8 logging cleanup before refactor (#2438)
* minor cleanup

* more cleaning

* signature

* spelling

* doy
2021-03-09 08:43:29 -05:00
GitHub build-firmware Action c3647b12c8 Auto-generated configs and docs 2021-03-09 00:20:19 +00:00
GitHub build-firmware Action a52c5c67af Auto-generated configs and docs 2021-03-08 19:52:22 +00:00
Matthew Kennedy c111d23b3d ADC cleanup, enable oversampling on H7 (#2437)
* cleanup v2 adc

* simplify

* oversample on h7

* output 16b result

* port-ify ADC_MAX_VALUE

* simplify include

* guard for cypress

* make sim/tests happy

* 16x oversample + comment

* this check is uesless

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-08 14:50:50 -05:00
GitHub build-firmware Action 94910b7387 Auto-generated configs and docs 2021-03-08 12:42:18 +00:00
GitHub build-firmware Action 867d144649 Auto-generated configs and docs 2021-03-08 05:02:53 +00:00
GitHub build-firmware Action edfc6b334c Auto-generated configs and docs 2021-03-08 04:23:16 +00:00
GitHub build-firmware Action 34a0a10ddd Auto-generated configs and docs 2021-03-08 01:23:25 +00:00
Matthew Kennedy e6d24d3010 avoid various "no connect" scenarios (#2432)
* init mmc and USB earlier

* connect USB faster
2021-03-07 20:21:42 -05:00
GitHub build-firmware Action 6b4b5c0b64 Auto-generated configs and docs 2021-03-08 01:20:20 +00: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
GitHub build-firmware Action 908b313bc2 Auto-generated configs and docs 2021-03-08 00:27:34 +00:00
Matthew Kennedy 506fb55f5c Store ini filesystem in compressed block device (#2420)
* add module

* implement compressed block device

* enable for f7/h7

* script

* stub compressed image

* implement

* call the script

* headers, comments, fix init bug

* set msd options

* update chibios-contrib

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-07 19:25:34 -05:00
GitHub build-firmware Action 5b35f69e84 Auto-generated configs and docs 2021-03-07 22:33:47 +00:00
GitHub build-firmware Action f9483cb999 Auto-generated configs and docs 2021-03-07 22:13:26 +00:00
GitHub build-firmware Action b47718226f Auto-generated configs and docs 2021-03-07 21:45:17 +00:00
GitHub build-firmware Action c0a06bcb57 Auto-generated configs and docs 2021-03-07 21:37:29 +00:00
GitHub build-firmware Action 6d3b1bb096 Auto-generated configs and docs 2021-03-07 20:34:10 +00:00
GitHub build-firmware Action 5ee8983422 Auto-generated configs and docs 2021-03-06 17:57:53 +00:00
GitHub build-firmware Action 76b1bb5f4d Auto-generated configs and docs 2021-03-06 02:45:40 +00:00
GitHub build-firmware Action 4d21cde18b Auto-generated configs and docs 2021-03-06 02:41:20 +00:00
GitHub build-firmware Action bd58c2cdc0 Auto-generated configs and docs 2021-03-06 02:09:06 +00:00
GitHub build-firmware Action 80d6a84ddd Auto-generated configs and docs 2021-03-06 01:48:51 +00:00
GitHub build-firmware Action ea78c87b0f Auto-generated configs and docs 2021-03-06 01:45:12 +00:00
GitHub build-firmware Action 382d45c18c Auto-generated configs and docs 2021-03-06 01:34:46 +00:00
GitHub build-firmware Action 306737f17d Auto-generated configs and docs 2021-03-06 01:00:28 +00:00
GitHub build-firmware Action b2a3b3b1b2 Auto-generated configs and docs 2021-03-06 00:30:16 +00:00
GitHub build-firmware Action b8dc34493c Auto-generated configs and docs 2021-03-05 22:44:12 +00:00
Matthew Kennedy ce360e8c36 don't update ramdisk image in master (#2422)
* put back the default file

* gitignore
2021-03-05 17:42:22 -05:00
GitHub build-firmware Action 960afe1514 Auto-generated configs and docs 2021-03-05 03:41:12 +00:00
Matthew Kennedy 122f31fe4a hook up lps25 on proteus (#2418)
* hook up lps25

* it would help to include all the files

* unguard some stuff

* unguard more

* guarding

* s

* guard

* only register if init worked

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 22:39:20 -05:00
GitHub build-firmware Action 7430bad8d7 Auto-generated configs and docs 2021-03-05 02:01:14 +00:00
Matthew Kennedy caa161db42 STM32H7 Slow ADC (#2421)
* extract

* guard

* put some back

* put back

* slow is actually 500hz so slow is fine here

* no magic

* fix printFullAdcReport

* cast

* implement h7 adc ish

* analog switches

* bad merge

* no map avg on h7

* fix master while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 20:58:56 -05:00
Matthew Kennedy b9e0d4db47 Extract slow adc (#2402)
* extract

* guard

* put some back

* put back

* slow is actually 500hz so slow is fine here

* no magic

* fix printFullAdcReport

* cast

* if we turn those off is it happy

* stub cypress/kinetis

* guard fast stuff better

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 19:55:09 -05:00
Matthew Kennedy 8edb115113 Embed ini (#2417)
* replace null device with rusefi ini

* comment

* warning

* stub ramdisk for when we don' thave an image

* maybe generate the image with a build

* install mtools

* fail on error

* install deps _before_ we need them

* embed a little readme

* oops
2021-03-03 07:50:53 -05:00
Matthew Kennedy 243ecdf3dd prep proteus config for h7 (#2413)
* prep for h7

* weak link that

* make those weak

* remove other stubs

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-28 16:57:57 -05:00
Andrey G cd548b4db2 hip9011 compilation fix, cosmetic clean-ups (#2414)
* Board subaru eg33: has HIP9011 knock sensor

* hip9011: lastExecutionCount does not exist any more

* hip9011: extranc commands to header, use logic math for bitfields
2021-02-28 15:42:57 -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 f347b92f45 allow disabling fast ADC (#2406)
* mostly guard against no fast adc

* disable on h7

* guard more

* guard adc init

* you can't do that in c++

* we need that

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-28 07:30:19 -05:00
Matthew Kennedy dcd72a87f9 H7 flash (#2408)
* enable

* defines and mpu util

* implement flash for h7

* format
2021-02-26 17:38:17 -05:00
Matthew Kennedy 4c98c99162 make h7 chconf like f4 (#2405)
* make h7 chconf like f4

* clean up f7 while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-26 07:59:39 -05:00
Matthew Kennedy daf52f85de fixes for f7, sdio/sdmmc (#2400) 2021-02-25 13:37:41 -05:00
Matthew Kennedy f18ef02fa6 maybe hook up sdmmc (#2398)
* maybe hook up sdmmc

* the complier didn't like that very much

* mcuconf

* guard properly

* fix

* duh

* omg that's an extra close paren

* explicitly set which device fatfs should use

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-25 01:37:44 -05:00
Matthew Kennedy 6e41aeb165 deduplication in halconf (#2377)
* rusefi_halconf

* h7 gpt

* don't redefine that

* maybe this was necessary

* format

* no usb in cypress

* flags for bl

* cypress

* maybe bootloader

* no smart build for cypress/kinetis

* no smart build

* no really, disable smart build

* don't need to clean that env var

* cypress

* format
2021-02-24 14:08:03 -05:00
Matthew Kennedy 84a43ec10b don't cache temperature samples at all (#2392) 2021-02-24 08:15:03 -05:00
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
Matthew Kennedy f45d837754 update h7 clock config (#2388)
* h7 clocks

* run the core at 400

* disable LSE

* 8mhz timer clock

* osc

* it has to be even slower

* something is wrong with WFI

* this was wrong anyway
2021-02-23 22:55:38 -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
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
Matthew Kennedy 8237dd6a41 merge mcuconf for f4/f7 (#2375)
* merge for f4/f7

* more

* include efifeatures

* s

* no TS serial on f7 for now

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-18 15:04:32 -05:00
Matthew Kennedy f9536791f0 set MCU properly (#2371) 2021-02-17 15:25:57 -05:00
Matthew Kennedy 179a3cb89e use spiPolledExchange for small transfers (#2358)
* configure for no cache

* this doesn't need a setting

* now we don't need invalidate

* reorder and comment

* mmc

* sw knock

* use spiPolledExchange for small transfers

* mock spi

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-17 14:48:21 -05:00
rusefillc 3354691778 trying to fix AuxValves 2021-02-17 08:57:18 -05:00
rusefillc 95b78a48ed aux to vvt rename 2021-02-17 08:53:39 -05:00
Matthew Kennedy 55facb6613 use DECLARE_ENGINE_PTR for Engine class (#2365)
* engine cleanup

* do the cleanup

* one last spot

* expand_engine noop for firmware

* simulator
2021-02-16 16:58:54 -05:00
Matthew Kennedy dbebc353a2 remove unused msg parameter (#2360)
* dead parameter

* last few
2021-02-16 09:32:16 -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
Andrey G b5ebd7e4c4 RusEFI is green: put cpu in standby in idle (#2342)
* MRE is green: put cpu in standby in idle

* Revert "MRE is green: put cpu in standby in idle"

This reverts commit 62b5cadda014ace749b145b629da62b182b5e3ce.

* RusEFI is green on all boards
2021-02-14 10:24:21 -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 f9e30057fa pullup (#2348) 2021-02-14 08:04:09 -05:00
Matthew Kennedy d27b8f8d13 rewrite SD initialization (#2346)
* rewrite SD init

* static

* return a pointer instead
2021-02-13 21:26:11 -05:00
Andrey G c9ccf021d2 Config cleanups (#2347)
* Remove duplication

* Ports: STM32F7: we want PAL_USE_CALLBACKS for F7 too
2021-02-13 18:45:33 -05:00
Matthew Kennedy ba3bf4169d usb mass storage progress (#2345)
* usb mass storage

* remove old files

* this file is gone
2021-02-13 15:06:05 -05:00
rusefi fc2f44b7e9 not great solution to code duplication, also helping QC build 2021-02-13 11:19:39 -05:00
Matthew Kennedy e7895f80d5 USB mass storage descriptor (#2330)
* enable msd

* modify descriptors for composite device

* makefile cleanup

* format

* define

* embiggen fifos

* needed that

* cleanup too while we're at it

* rename endpoints

* switchable descriptors

* guard the request hook too

* don't need this changed yet

* cleanup

* update ep0 response

* cleanup

* use the msd hook from chibios

* this was wrong

* this was covered by other PR

* this is also covered

* s
2021-02-13 08:54:08 -05:00
Matthew Kennedy e3dadd3d51 implement null block device (#2341)
* implement null device

* fix build
2021-02-13 08:53:10 -05:00
Matthew Kennedy 70eee46e3a fix usb descriptor mistakes (#2340)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-13 01:06:55 -05:00
Matthew Kennedy 56c2315115 Rename USB endpoints, update ChibiOS-Contrib (#2334)
* rename endpoints

* update chibios contrib

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-12 14:21:56 -05:00
Matthew Kennedy 594c9a76eb increase SD card speed (#2333)
* fast sd card

* fair enough
2021-02-11 20:42:23 -05:00
Matthew Kennedy b833b58c3f turn in to a composite device (#2332) 2021-02-11 15:52:06 -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
rusefi 6c9416daa9 aux pid is now VVT 2021-02-10 12:41:38 -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
rusefillc 63bd40c706 Create readme.md 2021-02-09 13:43:26 -05:00
Matthew Kennedy ff8f24d30c stm32h7 usb (#2319)
* enable

* enable

* serial number

* usb defines

* buffer size

* more stuff we can enable
2021-02-08 16:24:49 -06: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 1a5a3b8a42 consolidate stm32 mpu util (#2314)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-08 15:52:00 -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 63c9612602 implement lps25 (#2301)
* bb

* implement

* tweaks

* s

* comment, format

* guard

* implement lps25

* headers and comment

* sensor works

* headers

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-06 23:59:44 -06:00
Matthew Kennedy a5f269d733 implement bit-banged I2C driver (#2289)
* bb

* implement

* tweaks

* s

* comment, format

* guard

* headers and comment
2021-02-06 16:59:06 -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
rusefillc 4936b9fab3 reducing code duplication 2021-02-06 00:46:40 -05:00
rusefillc 83d8bd9369 H7 compilation #2284 2021-02-06 00:37:12 -05:00
rusefillc 7c107a6551 reducing code duplication 2021-02-06 00:25:13 -05:00
rusefillc 0573d29b22 reducing code duplication 2021-02-06 00:18:47 -05:00
rusefillc 096c67b4de H7 compilation #2284 2021-02-05 23:57:28 -05:00
rusefillc 3be5714e94 H7 compilation #2284 2021-02-05 23:37:18 -05:00
rusefillc bb7af93e66 let's build for h7 2021-02-05 22:29:23 -05:00
rusefillc c549a13c1f let's build for h7 2021-02-05 22:10:59 -05:00
rusefillc d824f3d12a let's build for h7 2021-02-05 21:37:33 -05:00
rusefillc 5afcb400a7 let's build for h7 2021-02-05 21:09:36 -05:00
Matthew Kennedy 3cf6b67b87 fix #2269 (#2272)
* fix #2269

* cleanup
2021-02-03 08:04:22 -06:00
rusefillc 11aa253ae9 vvt/cam events to pass index 2021-01-31 22:24:45 -05:00
rusefillc 845ad4e53d trigger: exti: callback parameter is now index 2021-01-31 22:10:10 -05:00
rusefillc 1243225c07 code style 2021-01-31 22:02:01 -05:00
rusefillc b571feffac code style 2021-01-31 21:45:01 -05:00
Matthew Kennedy 9d86488e07 USB reports real STM32 Serial Number (#2254)
* mpu util data

* implementation
2021-01-30 14:51:11 -05:00
rusefillc f8f90cbffb No hablo inglés 2021-01-28 20:43:23 -05:00
rusefillc cbca40dec0 fixing port I 2021-01-25 00:29:48 -05:00
rusefillc fc15eb979b fixing port I 2021-01-22 23:31:21 -05:00
rusefillc 673de10118 Hellen needs text representation of GPIOI
H7 dreams are asking for J and K
2021-01-22 01:25:05 -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
rusefi c0abf52bd8 OMG we are not using java yet?! 2021-01-18 19:00:53 -05:00
rusefi 4dcd8a6308 https://refactoring.com/catalog/replaceMagicLiteral.html 2021-01-18 18:54:18 -05:00
Matthew Kennedy 4e6c841729 boost fixes (#2230)
* fix boost pin reinit

* call boost from periodic slow

* ui

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-18 07:04:14 -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
Andrey G 052e2e558b Supress annoing unused warnings (#2216) 2021-01-11 08:49:20 -05:00
rusefillc 5eeb48be51 cherry pick from https://github.com/dron0gus/rusefi/tree/ChibiOS-20 2021-01-09 19:15:50 -05:00
rusefillc ef44f47d5b Lcd fix (I hope) #2211
there is still an issue :(
2021-01-09 17:30:39 -05:00
Andrey G 75098a0d4b Lcd fix (I hope) (#2211)
* LCD: check if settings are valid on each access

* Lada Kalina: remove duplicate code

All LCD pins are set to GPIO_UNASSIGNED in disableLCD()

* Remove duplicate code

* We still need to know when invalid gpio is used...

This reverts commit 9c12c4dd44.
2021-01-09 17:16:10 -05:00
rusefillc 9c12c4dd44 dron0gus please help 2021-01-09 15:31:09 -05:00
Andrey G b61ae75fe2 gpio helper (#2195)
* gpios: isBrainPinValid helper

* LCD HD44780: do not touch pins if DM_NONE or invalid gpio

* Fix isEnabled checks for GPS and Joystick

* LCD HD44780: writePad use this method wider
2021-01-08 20:01:26 -05:00
rusefillc 5a75c69b8e knock v12 2021-01-06 19:42:07 -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
Andrey G 12728ccd82 Call startSmartCsPins when applying new settings (#2194)
Only stopSmartCsPins was called from applyNewHardwareSettings.
This cause lost of CS pins for external gpio chips
2021-01-06 08:59:13 -05:00
Andrey G 71fe582ce5 Adc isAdcChannelValid helper (#2188)
* Guard define argument

* ADC: isAdcChannelValid

Check for both <= EFI_ADC_NONE and >= EFI_ADC_LAST_CHANNEL
Also check for value out of enum range (corrupted settings)

* Fix unit tests
2021-01-05 16:02:20 -05:00
Matthew Kennedy 279f8bad03 use limp mgr for trigger disable (#2145)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 18:12:36 -05:00
Matthew Kennedy 9a1217a128 actually use button name (#2126)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-24 07:30:56 -05:00
rusefi 4c347026ff Proteus is compiled without VSS feature #2122 2020-12-22 21:28:51 -05:00
rusefi 06e72d6676 trigger and start button pins not displayed by "pins" command #2084 2020-12-22 21:20:57 -05:00
rusefi a06c58d916 trigger and start button pins not displayed by "pins" command #2084 2020-12-22 21:05:49 -05:00
rusefi a65a5330de trigger and start button pins not displayed by "pins" command #2084 2020-12-22 20:54:28 -05:00
rusefi da70fdced4 trigger and start button pins not displayed by "pins" command #2084 2020-12-22 20:53:05 -05:00
rusefi 6ddfff8fd9 Proteus is compiled without VSS feature #2122 2020-12-22 20:50:01 -05:00
rusefi 1e4ae3868c trigger and start button pins not displayed by "pins" command fix #2084 2020-12-22 20:42:30 -05:00
Matthew Kennedy d3a24c568a gpio unit tests (#2099)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* move gpio mocking

* test gpios

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize

* test deinit
2020-12-18 17:19:02 -05:00
Matthew Kennedy 30fd52d82d Fix gpio reinit race condition (#2098)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize
2020-12-18 17:18:12 -05:00
rusefillc 33bc6b7957 HW CI is flaky :( #2063
more detailed error messages
2020-12-17 20:22:04 -05:00
rusefillc 39a292a46a trigger and start button pins not displayed by "pins" command fix #2084 2020-12-16 22:53:26 -05:00
rusefillc 88bb2f4569 trigger and start button pins not displayed by "pins" command fix #2084 2020-12-16 22:24:19 -05:00
rusefillc f147aabcd7 trigger and start button pins not displayed by "pins" command #2084
progress but not complete fix yet
2020-12-16 22:00:42 -05:00
Andrey G 119ac4f6f5 TLE8888: temp fix of #2065 (#2079) 2020-12-14 15:33:27 -05:00
Matthew Kennedy 27e4d89f5a add support for ext ids (#2060)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-12 16:34:21 -05:00
Matthew Kennedy 6f491cf5c4 switch stm32 scheduling to use PWM driver (#1983)
* move to folder

* extract hardware part of microsecond_timer

* dead ST forum link

* de-volatile

* simulator build

* guard

* switch stm32 to pwm timer

* comments

* f7 mcuconf

* simulator

* guard

* warning

* header, cleanup

* constant

* less magic

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-11 00:44:40 -05:00
Matthew Kennedy ce2e7d3cbe fix mock pins array (#2050)
* fix

* fix probably
2020-12-10 00:10:58 -05:00
rusefillc 2f15c08498 basic hw in the loop - pwm self validation #2028 2020-12-08 04:52:49 -05:00
rusefillc 3a3586f730 basic hw in the loop - pwm self validation #2028 2020-12-07 20:42:47 -05:00
rusefillc 89cebd7d72 basic hw in the loop - pwm self validation #2028 2020-12-07 20:26:47 -05:00
rusefillc ee9aaf4e0d basic hw in the loop - pwm self validation #2028 2020-12-07 20:01:05 -05:00
rusefillc 93e69bea93 refactoring 2020-12-06 19:04:23 -05:00
Andrey G 4980fc49d9 Fixes after clenup (#2019)
* We still need consoleEventListener for boards with EFI_CONSOLE_SERIAL_DEVICE

* MC33810: add MC_ prefix for command defines

As CMD_PWM define is now used by console command
2020-12-05 11:54:09 -05:00
Andrey G f31731d380 ADC: correctly calculate cache invalidate range for STM32F7xxx (#2021)
Bug was introduced in 5d421f7ffa when
sample buffer was moved out of class. So sample become adcsample_t*
instead of adcsample_t[] and sizeof returns 4.
2020-12-05 10:14:33 -05:00
Andrey G 040e07ec48 adc: fix CPU temperature read for STM32F76x/77x (#2020) 2020-12-05 09:58:23 -05:00
Matthew Kennedy b34759f3c9 fix warnings (#2003)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-03 07:27:27 -05:00
Matthew Kennedy c442f1f785 fix gpio the right way (#1990)
* fix the right way

* use the api

* explain

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-27 00:24:41 -05:00
rusefillc 5390fccada Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 10:55:39 -05:00
rusefillc 7b8d20108f Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 10:41:22 -05:00
rusefillc fa3410ec07 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 00:24:15 -05:00
rusefi ab98e15f01 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 00:16:59 -05:00
rusefillc 3cbb33c763 avoid float -> int64 conversion #1977
cherry picking...
2020-11-24 20:33:51 -05:00
Matthew Kennedy ebb8ede1da squash warnings (#1984)
* warnings

* unused

* a few more

* too much

* uint16_t-ify
2020-11-23 09:43:16 -05:00
Matthew Kennedy eb7a26be14 Port-ify microsecond_timer hardware implementation (#1964)
* move to folder

* extract hardware part of microsecond_timer

* dead ST forum link

* de-volatile

* simulator build

* guard
2020-11-22 20:39:32 -05:00
rusefi 954d214919 adc fixed #1979
partial revert
2020-11-22 15:31:33 -05:00
rusefillc b1510791c5 ADC: fixes: #1979
better error handling?
2020-11-22 13:42:24 -05:00
rusefi ba97b22236 ADC: fixes: #1979
more detailed error message
2020-11-22 12:57:04 -05:00
Andrey G 005a5daa74 ADC: fixes: (#1979)
* ADC: fixes:

-use enums
-internalAdcIndexByHardwareIndex array should be adc_channel_e size
-add sanity checks
-save few bytes of RAM

* ADC: use logical OR instead of math add
2020-11-22 12:23:27 -05:00
Andrey G 83f5c8e6b6 Typo fix (#1978) 2020-11-22 08:27:03 -05:00
rusefillc 12187b4254 Starter is engaged on start-up in pull-up configuration #1969
maintainability
2020-11-20 00:18:38 -05:00
shadowm60 e69d103461 Launch control unit tests update (#1972)
* testable launch start

* extract base class

* add a test

* fix ts debug

* Launch control unit_tests

updated launch control for a better split
VSS mock for unit tests

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2020-11-19 21:14:38 -05:00
Matthew Kennedy 2792828dce Remove lockAnyContext, replace with CriticalSectionLocker (#1938)
* switch to CriticalSectionLocker

* that's just about all

* clean up last usage

* include hpp for sim

* need the cpp wrappers in the makefile too

* include dir

* include
2020-11-19 06:56:02 -05:00
rusefillc dbdfd87c6d Starter seems to be engaged forever fix #1965 2020-11-18 23:54:30 -05:00
rusefillc 3a38c837cc Starter seems to be engaged forever #1965 2020-11-18 22:45:37 -05:00
rusefillc 9f94205b2b Starter seems to be engaged forever #1965 2020-11-18 21:45:17 -05:00
Matthew Kennedy 776dd75a8a consolidate to common (#1962) 2020-11-18 16:22:19 -05:00
Matthew Kennedy 786aaf2e3c put getTimeNowLowerNt in to mpu_util (#1950)
* put getTimeNowLowerNt in to mpu_util

* move GPTDEVICE to port_mpu_util

* and remove from efifeatures
2020-11-18 14:17:00 -05:00
rusefi 5a249e1b8f better MC33816 start-up status 2020-11-18 01:07:09 -05:00
Andrey G 39bc608ce5 TLE8888: disable diagnostic for OUTPUT8..13 (#1956)
Enabled pull-down affects analog inputs that shares same pins.
Disable it.
DOTO: enable diagnostic if ouput requested through tle8888_setPadMode
2020-11-17 18:33:37 -05:00
rusefillc ecbdfe379e docs 2020-11-17 08:25:50 -05:00
Matthew Kennedy 319384143e read SD card config exactly once (#1955)
* only read mmc device once

* format

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-17 07:48:43 -05:00
Matthew Kennedy e0d0727896 adjust microsecond_timer api (#1952)
* change timer api

* don't need all that
2020-11-16 18:50:13 -05:00
Matthew Kennedy d9f625c8ba prevent MMC preemption by TS thread (#1949)
* prevent preemption by TS thread

* didn't need that
2020-11-15 20:44:36 -05:00
Matthew Kennedy 6b0c533d2c consolidate EFI_UNIT_TEST and friends (#1940)
* restructure

* guard c++

* idle too

* status_loop.h

* consolidate definitions

* use 1/0 instead, check for existence

* missed a few

* dead define

* defs for bootloader
2020-11-11 20:34:39 -05:00
Andrey G 2f891cc23a Tle8888 stepper (#1936)
* TLE8888: enable PP mode for OUT21..24 in case of useTLE8888_stepper

* Lada Kalina is a test mule for stepper idle
2020-11-10 14:16:46 -05:00
rusefi 9f237d963b debounce unintended auto-increment bug (was: Proteus TCU gear shift configuration) #1927
refactoring
2020-11-07 00:46:59 -05:00
rusefi 55065781f8 debounce unintended auto-increment bug (was: Proteus TCU gear shift configuration) #1927
undoing brain fart
2020-11-07 00:43:42 -05:00
rusefillc 89a20a20b0 Proteus TCU gear shift configuration #1927 2020-11-06 23:48:35 -05:00
Matthew Kennedy e8bb0cfd00 extract idle hardware to its own file (#1923)
* extract idle hardware

* should fix the build
2020-11-03 18:06:32 -05:00
rusefi 4dc5c61f60 Output pin init/deinit needs a linked list #1803
trying to make things more consistent & smarter
2020-11-03 00:46:03 -05:00
rusefi 8dcb2fe55f this stuff is just too dead 2020-11-02 23:46:41 -05:00
Andrey G e14fa4b189 Tle8888 small update (#1908)
* TLE8888: add support MR switching from SW

Main Relay has limitation - it is always active while KEY=1. When
KEY=0 MR can be switched on from SW.

* TLE8888: support reading of KEY and WAKE inputs

* Rusefi enums: add new TLE8888 pins
2020-11-01 22:19:55 -05:00
Matthew Kennedy 4c3046a707 remove spiMtx (#1907) 2020-10-25 17:26:46 -04:00
Matthew Kennedy 5fc47d0153 oops (#1899) 2020-10-23 15:45:44 -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 dbdeca93b0 implement fuel pressure sensors (#1897)
* add

* remove old

* remove more old

* makefile

* fix init

* patch up other stuff

* actually fix it this time

* raw output channels

* gauges, UI

* scaled channel

* fix field ordering
2020-10-23 07:31:47 -04:00
Matthew Kennedy e4c891f328 no sd enable (#1894)
* no sd enable

* add assert

* Revert "no sd enable"

This reverts commit fd997381ee884c890fe7664e56ed2b0f0caef2ff.
2020-10-22 20:51:28 -04:00
Matthew Kennedy 8f6982dd54 disable i2c, other unused features (#1891)
* dead

* more
2020-10-20 22:24:32 -04:00
rusefi 69e48e1e44 code style 2020-10-19 22:47:09 -04:00
rusefi ca89cf9b95 GDI Epic #1448 2020-10-19 22:04:06 -04:00
Matthew Kennedy c73978310f Remove trigger listener list (#1886)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out

* remove listener array
2020-10-17 08:00:11 -04:00
Matthew Kennedy f6f3e514d2 trigger/scheduler perf improvements (#1885)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out
2020-10-16 11:04:27 -04:00
Matthew Kennedy eac2b179c7 fix temp sensor & validate it (#1879)
* fix temp sensor & validate

* smaller here should work
2020-10-14 22:39:16 -04:00
Matthew Kennedy 4868068e2f start using BufferedWriter (#1878)
* do the part up to actual usage

* borrow some memory for now
2020-10-14 20:06:05 -04:00
rusefi 9de3031378 GDI Epic #1448 2020-10-11 23:39:40 -04:00
Matthew Kennedy 540fca8cc9 use expected for event queue next event (#1859)
* use expected for event queue next event

* minor cleanup

* tests
2020-10-05 13:53:34 -04:00
Matthew Kennedy c1cb48ed12 switch (#1839)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-10-01 01:36:33 -04:00
Matthew Kennedy 3374db1658 Remove dead & useless config (#1834)
* remove dead config

* remove enum
2020-09-29 06:34:39 -04:00
David Holdeman e6f6c43767 switch to pass by reference (#1832) 2020-09-28 19:17:17 -04:00
andreika-git 2d4d34291c Hellen says fix cypress build (#1818)
* fix compilation

* fresh generated files

* more files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-23 14:06:22 -04:00
David Holdeman 88d08cf1a8 Fix debounce (#1814)
* 1,2,4,7,9

* 6

* fix type mismatch

* change field

* comment

* Revert "comment"

This reverts commit f7ce8ed48d015490ed82d692270198817569b5a3.

* Revert "Revert "comment""

This reverts commit 99f2d5cadcbf444bf58acf9e57a6fed61355d5be.

* Revert "change field"

This reverts commit 55ec050cd947696cdffccae6b29fe48d95ab5f17.

* rename var

* comments

* use func in init

* default values

* remove redundant check

* check

* use bool

* mark false when done

* pointer

* check GPIO_UNASSIGNED

* wat

* merge carnage

* oops, accidentally downgraded submodule
2020-09-21 18:25:24 -04:00
rusefi 4fccd51722 ADC progress 2020-09-21 06:10:25 -04:00
Matthew Kennedy 2c492cae48 guard against ADC buffer overrun (#1812) 2020-09-21 12:37:51 +03:00
rusefi 889335111a reorder ADC channel index #1763
we forgot about something
2020-09-20 14:20:08 -04:00
David Holdeman 9536590a25 Debounce refactor (#1809)
* 1,2,4,7,9

* 6

* fix type mismatch

* change field

* comment

* Revert "comment"

This reverts commit f7ce8ed48d015490ed82d692270198817569b5a3.

* Revert "Revert "comment""

This reverts commit 99f2d5cadcbf444bf58acf9e57a6fed61355d5be.

* Revert "change field"

This reverts commit 55ec050cd947696cdffccae6b29fe48d95ab5f17.

* rename var

* comments

* use func in init

* default values

* remove redundant check
2020-09-20 14:01:00 -04:00
David Holdeman 02a12d76f3 fix type mismatch (#1808)
* fix type mismatch

* comment

* change field

* switch to efitimesec16_t

* add typedef

* add type to configdefinition

* build
2020-09-19 17:17:44 -04:00
Matthew Kennedy d23a48fc53 Dedicated sensors for wastegate + idle position (#1805)
* config

* add sensor

* listen to new adc channels

* fix

* add gauges to TS

* add gauge values

* TS UI
2020-09-18 10:04:07 +03:00
rusefi c98e78640a Hellen says merge #1772 hardware.cpp 2020-09-15 15:01:31 -04:00
rusefi 0e370f87aa Merge remote-tracking branch 'origin/master' into master 2020-09-15 14:49:01 -04:00
andreika-git af20e08ccf porting adc_inputs.cpp (blindly) (#1792)
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-15 14:48:32 -04:00
Matthew Kennedy a62089e590 proteus SD card defaults (#1796)
* proteus SD defaults

* disable serial console pins
2020-09-14 10:54:25 +03:00
Matthew Kennedy 36234961c1 logging simplification: switch bare functions to member functions: try the second (#1794)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup

* fix sniffer
2020-09-13 11:49:25 +03:00
rusefi ead14bd1ca Revert "logging simplification: switch bare functions to member functions (#1788)"
This reverts commit 39280fb2
2020-09-12 04:36:24 -04:00
rusefi 8612f4de30 Merge remote-tracking branch 'origin/master' into master 2020-09-12 04:03:23 -04:00
rusefi 875651b471 Hellen says merge #1772 adc.h 2020-09-12 04:03:11 -04:00
Matthew Kennedy 39280fb2c6 logging simplification: switch bare functions to member functions (#1788)
* first pass

* first pass

* const means we don't have to check!

* static

* test fixup
2020-09-12 03:08:11 +03:00
David Holdeman e8e2cf2cfd DebounceButton A/C switch (#1782)
* change acSwitch name, add mode

* fix

* remove some adc stuff

* remove some adc stuff

* semicolon stupid

* left behind

* add readpinstate

* wrong var name

* add functions back

* fix name

* bool, not void, plus fix name

* move

* not sure what I broke

* try setMockValue

* namespace

* whoops missed one

* switch values because adc was set up for pullup

* try 5

* comment for now

* comment for now

* uncomment tests, add function to mock, add mock to efiReadPin

* fixes

* for F's sake

* if

* add defy

* pass params

* use ASSERT_TRUE/FALSE

* advance time

* remove ifdef from readPin

* try moving if

* move to separate func

* move extern

* move include

* try engine_test_helper

* am confuse

* move func to else

* include hal

* add efi prod check

* remove include

* try extern

* move include

* semicolon stupid

* move extern again

* include

* move mockPinStates

* size

* add if

* add comment

* clean on instantiation
2020-09-10 22:16:20 -04:00
rusefi a5644782d6 Merge remote-tracking branch 'origin/master' into master 2020-09-09 17:25:09 -04:00
rusefi 7fa7ac6c37 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/Makefile
#	firmware/hw_layer/smart_gpio.cpp
2020-09-09 17:19:41 -04:00
David Holdeman e7af7cd391 Debounce pin state function (#1780)
* add readpinstate

* wrong var name
2020-09-09 17:18:54 -04:00
rusefi 91f9079f82 Hellen says merge #1772 smart gpio 2020-09-09 17:16:51 -04:00
rusefi 86bac639b0 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/hw_layer/digital_input/trigger/trigger_input.h
#	firmware/hw_layer/hw_layer.mk
#	firmware/hw_layer/ports/stm32/stm32f0/hw_ports.mk
#	firmware/hw_layer/ports/stm32/stm32f1/hw_ports.mk
#	firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk
#	firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk
2020-09-09 16:55:27 -04:00
rusefi 882c8d8dbf Hellen says merge #1772 helping merge - Kinetis?! 2020-09-09 16:38:18 -04:00
rusefi a3c9871d58 Hellen says merge #1772 helping merge 2020-09-09 14:35:01 -04:00
rusefi 918d987366 Hellen says merge #1772 helping merge 2020-09-09 14:20:54 -04:00
rusefi 03ce326123 Hellen says merge #1772 helping merge 2020-09-09 13:43:18 -04:00
rusefi d3d5c1474a Hellen says merge #1772 more about ports 2020-09-09 13:39:51 -04:00
rusefi d3567c23f6 Hellen says merge #1772 trigger h 2020-09-09 10:21:14 -04:00
rusefi 6b3eadb082 Hellen says merge #1772 backup ram.h 2020-09-09 10:20:21 -04:00
rusefi c930071203 Hellen says merge #1772 more about ports 2020-09-09 10:18:58 -04:00
rusefi 7f3eb65f4d Merge remote-tracking branch 'origin/master' into master 2020-09-09 08:58:54 -04:00
rusefi 81e83d0474 Hellen says merge #1772 more ports 2020-09-09 08:58:12 -04:00
rusefi 9ca4906c4c Hellen says merge #1772 more ports 2020-09-09 08:53:11 -04:00
rusefi bd5ee9477c Hellen says merge #1772 tle header 2020-09-09 08:52:14 -04:00
David Holdeman ffb5e0b1e4 switch start/stop to ButtonDebounce (#1777) 2020-09-09 08:22:15 +01:00
Andrey G 5d421f7ffa Adc improvements (#1765)
* ADC: move DMA buffer outside of AdcDevice (save few bytes)

* ADC: inlcude fast channels to debug output

* ADC: save some CPU ticks (disabled until fully tested)

* ADC: simplify
2020-09-08 17:20:55 -04:00
David Holdeman 001e56e3a1 use EFI_UNIT_TEST, add check (#1774) 2020-09-08 14:27:23 -04:00
David Holdeman 65b60df172 Debounce pin management (#1760)
* add linked list

* macros, and use in buttonshift

* unit_tests macros

* add extern

* add parens

* move extern

* move extern

* move buttonDebounceListHead

* move buttonDebouncePointerHead

* merge gore

* undo

* reduce unused size

* don't store pointer if already initialized

* few changes

* remove oldPin

* fix merge conflict

* merge in changes commited to wrong branch

* fix definition

* out of class?

* brute force programming

* fix few problemos

* am confuse

* am confuse

* am confuse

* am confuse

* oldPin snuck in

* move to public?

* define again

* try constexpr

* def in cpp

* remove constexpr

* fix def

* fix?

* update active

* fix a few things
2020-09-08 11:29:38 -04:00
rusefi f70c4b7a54 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/algo/engine_configuration.cpp
2020-09-07 15:55:43 -04:00
rusefi 7e4e20cc85 Hellen says merge #1772 ADC flexibility 2020-09-07 15:50:37 -04:00
rusefi 16f53aecd1 Hellen says BOARD_DRV8860_COUNT 2020-09-07 15:38:34 -04:00
rusefi 5243811711 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/algo/engine.h
#	firmware/hw_layer/drivers/drivers.mk
#	firmware/hw_layer/stepper.h
#	firmware/integration/rusefi_config.txt
#	firmware/tunerstudio/rusefi.input
#	simulator/simulator/efifeatures.h
2020-09-07 15:02:11 -04:00
rusefi f6d735cdd2 Hellen says merge #1772
Hellen says stepper

(cherry picked from commit 4bc18ee475)
2020-09-07 14:45:41 -04:00
rusefi d80f0dcd1d Hellen says misc
(cherry picked from commit bae9324d34)
2020-09-07 14:43:12 -04:00
rusefi 4bc18ee475 Hellen says merge #1772
Hellen says stepper
2020-09-07 14:41:04 -04:00
rusefi bae9324d34 Hellen says misc 2020-09-07 14:09:00 -04:00
rusefi e795da5498 Hellen says drivers
(cherry picked from commit d4d36f9153)
2020-09-07 12:02:40 -04:00
rusefi 080559f703 Hellen says ports
(cherry picked from commit ae08b287f0)
2020-09-07 12:02:34 -04:00
rusefi d4d36f9153 Hellen says drivers 2020-09-07 12:00:16 -04:00
rusefi ae08b287f0 Hellen says ports 2020-09-07 11:57:20 -04:00
rusefi 8ba9a47c59 microRusEFI used as Body Control Module BCM BCU
got stack too low warning with DBG_CAN
2020-09-06 21:45:17 -04:00
rusefi 70ddde6418 microRusEFI used as Body Control Module BCM BCU 2020-09-06 21:30:14 -04:00
rusefi bc2aa6601e microRusEFI used as Body Control Module BCM BCU 2020-09-06 20:21:01 -04:00
Matthew Kennedy 4802a47d23 reorder ADC channel index (#1763)
* change config

* correct logic

* clearing these no longer needed

* test expected this to be set
2020-09-06 18:25:26 -04:00
Matthew Kennedy fc02c2bdf4 fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00