Matthew Kennedy
b662e59707
remove some uses of EFI_ERROR_CODE ( #4496 )
...
* lua hooks
* findAngleMatch
* s
* s
2022-08-28 09:43:21 -04:00
Matthew Kennedy
ca60dc17bb
trim table for throttle #2 ( #4472 )
...
* add table and wire it up
* trim table ui
* initialization
* changelog
* add a test
2022-08-28 08:28:20 -04:00
Andrey
c6607a5a5e
B6 progress
2022-08-27 20:44:30 -04:00
Andrey
764fc833d7
B6 progress
2022-08-26 12:07:13 -04:00
Andrey
2ee07e643c
B6 progress
2022-08-26 00:30:46 -04:00
Andrey
678c0f1432
B6 progress
2022-08-26 00:24:38 -04:00
Andrey
2f3b1def90
B6 progress
2022-08-26 00:21:17 -04:00
Andrey
3477d4bd07
refactoring
2022-08-26 00:16:36 -04:00
Andrey
1b4bbb8772
refactoring
2022-08-26 00:14:52 -04:00
Andrey
97e8c978ce
B6 progress
2022-08-26 00:04:47 -04:00
rusefillc
055184e1ec
two bugs love to cancel each other
2022-08-25 23:55:42 -04:00
Matthew Kennedy
4d66dff87c
dfco delay ( #4482 )
...
* dfco delay
* config
* using a function that doesn't exist? who does that
* test new behavior
* clearer test
2022-08-25 21:26:17 -04:00
Andreika
c24712bed7
[DRAFT] Air by rpm taper ( #4486 )
...
* add rpm to getOpenLoop() and getRunningOpenLoop()
* implement airByRpmTaper
* unit-test for airByRpmTaper
2022-08-25 21:23:23 -04:00
Andrey
e480e9d561
B6 progress
2022-08-25 19:26:18 -04:00
Andrey
c266a9c542
B6 progress
2022-08-25 12:45:47 -04:00
Andrey
cc95f08fbc
B6 progress
2022-08-25 11:15:54 -04:00
Andrey
4844edc682
Lua code reuse
2022-08-25 10:45:26 -04:00
rusefillc
5007084981
VQ trigger gaps improvement fix #4469
...
nice, unit test is happier!
2022-08-23 23:32:14 -04:00
Andrey
585f2ebeea
test coverage and some magic constant refactoring
2022-08-21 16:03:34 -04:00
Andrey
35a71f8960
test coverage and some magic constant refactoring
2022-08-21 15:22:22 -04:00
rusefi
25778f0890
trigger gap logging: it's a mess :(
2022-08-21 12:38:29 -04:00
rusefi
0f320448ff
refactoring: default argument value
2022-08-21 12:17:50 -04:00
Matthew Kennedy
3e4965ea27
fix inverted vvt ( #4464 )
...
* fix inverted mode
* unit tests are great
2022-08-20 20:12:32 -04:00
Matthew Kennedy
eebc810295
enable alwaysInstantRpm in some tests ( #4461 )
...
* test some with alwaysInstantRpm set
* more
2022-08-19 15:03:20 -04:00
Matthew Kennedy
423f69a842
allow logging multiple warnings at once ( #4414 )
...
* allow logging multiple warnings at once
* comment
* .Code
* Revert ".Code"
This reverts commit 2b986bd50035aeec051d11aafd83fdbc1694351c.
* add a better comparison operator instead of conversion
* dot code
* Revert "dot code"
This reverts commit 35f6ae1007c41e3b30ea129a324f33ab4205036d.
* force gcc-10 maybe?
* Revert "force gcc-10 maybe?"
This reverts commit 4ddf8bcefddd354ccdc1da682c5fff1e68d44273.
* vq
* dot code
* dead
* dot code
* return may be null
* static_vector; maybe cyclic_buffer is broken or wrong tool for the job?
* move static vector
* put cyclic buffer back how it was since we don't use it now
2022-08-17 01:12:25 -04:00
rusefillc
8f6fb427eb
ECU to Mainline DynoLog Data Protocol #4319
2022-08-12 23:53:48 -04:00
Matthew Kennedy
76f5832db9
resolve VVT phase using every tooth, not just sync point ( #4434 )
...
* resolve VVT phase using every tooth, not just sync point
* fix tests
* comment
* changelog
2022-08-12 08:08:23 -04:00
rusefillc
b5c2b70e23
refactoring: better field name
2022-08-09 20:32:39 -04:00
Matthew Kennedy
b6f1779781
implement sensor checker ( #4395 )
...
* implement sensor checker
* use default
* s
* fix
* properly report non-timeout errors
* it's not safe to read Value when invalid
* it's not safe to read Value when invalid
2022-07-30 17:08:48 -04:00
rusefillc
d320dd589c
it's impossible to receive AcceleratorPedal sensor via CAN/Lua #4369
2022-07-28 12:08:35 -04:00
Matthew Kennedy
923d2c2e44
unexpected contains information about why it failed ( #4393 )
...
* unexpected can contain information
* info printing
* sensors return appropriate error codes
* remove reliance on undefined behavior
* s
2022-07-28 10:04:28 +03:00
Matthew Kennedy
41318e0f9d
detect bad Lua sensor name when registering ( #4391 )
...
* format
* lua error on bad sensor
* comment
* name validation
* soft check before the hard check causes a fatal error
* s
2022-07-27 12:41:21 +03:00
Andrey
7887b9d1e1
Extra gap ratios for custom trigger wheels fix #4375
2022-07-23 03:39:19 -04:00
Andrey
20a16bd53b
Extra gap ratios for custom trigger wheels fix #4375
2022-07-23 03:16:11 -04:00
rusefillc
4987a0b93c
Launch control bug? "range" thing is confusing #4348
...
a typo and configurable behaviour without UI
2022-07-20 18:48:55 -04:00
Matthew Kennedy
848fbcf6ca
fragments ( #4357 )
2022-07-19 11:02:41 +03:00
Matthew Kennedy
e1254f84b9
remove idle offset ( #4355 )
...
* remove offset
* remove more completely
* changelog
2022-07-18 15:49:43 -04:00
Matthew Kennedy
a0d8ae3f4f
use libfirmware for a few things ( #4351 )
...
* use libfirmware
* unit tests
* crc
* missed one
* bootloader
2022-07-16 02:22:51 -04:00
rusefillc
b7cfa4e702
launch control for autocross on micro rusefi #4341
2022-07-14 16:41:50 -04:00
rusefillc
55ffb45934
FSIO is dead
2022-07-14 07:52:58 -04:00
rusefillc
b628c81d26
Make hard-coded gap ratios visible on trigger documentation images #4172
2022-07-12 00:11:25 -04:00
rusefillc
2f0db8b7c4
Make hard-coded gap ratios visible on trigger documentation images #4172
2022-07-11 04:21:17 -04:00
Matthew Kennedy
8bc01472b7
Add a timeout for Lua ETB adjustment ( #4331 )
...
* lua etb timeout
* mocks
* test
2022-07-10 05:46:28 +03:00
Matthew Kennedy
3c062e02bc
Lua hooks for gear detection ( #4328 )
...
* implement
* sim has vss
* write a test
* guard
2022-07-07 23:16:56 -04:00
Matthew Kennedy
0b10f7dca8
hellen board ID detect improvements ( #4307 )
...
* move call
* board detections work correctly
* improve detector
* s
* break instead of return
* tests
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-07-02 05:19:02 -04:00
Matthew Kennedy
3284282be7
rescale RPM values ( #4300 )
...
* rpm configs
* fix
* s
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-29 18:48:30 -04:00
rusefillc
1b28e292e2
logging of live data structs was: data points #3614
...
huh?
2022-06-29 02:42:03 -04:00
Matthew Kennedy
c0f290b922
Injector scheduled by angle, not tooth index ( #4208 )
...
* trigger decoder returns a result
* TriggerFormDetails
* s
* don't reach out and touch the engine
* injection doesn't care about teeth
* fix up existing tests
* oh look, we can actually test this logic now without trying to depend on trigger shape!!!
* fix a real bug
* simplify
2022-06-24 17:43:23 -04:00
Matthew Kennedy
fcd3d991ee
trigger tweaks cleanup ( #4278 )
...
* simplify some math
* we say yes to the todo
* and put back that test
* test
2022-06-23 23:11:29 -04:00
Matthew Kennedy
34ee344661
fix ( #4279 )
2022-06-23 21:35:05 -04:00
Matthew Kennedy
29420c76aa
wideband live data ( #4276 )
...
* wideband live data magic
* test build happy
* test even happier
2022-06-23 20:04:26 -04:00
Andrey
6ef7562666
VAG Lua progress
2022-06-23 16:02:09 -04:00
Andrey
e4cd9d567d
VAG Lua progress
2022-06-22 22:22:49 -04:00
Matthew Kennedy
11d58f8d5a
clt based rpm limit ( #4267 )
2022-06-22 16:49:24 -04:00
rusefillc
e793124f8d
bit math is hard :(
2022-06-20 21:51:21 -04:00
rusefillc
2ae59f6bd5
bit math is hard :(
2022-06-20 21:36:10 -04:00
Matthew Kennedy
932f5e1f30
cam/crank sync improvements ( #4152 )
...
* clarify getOperationMode
* wait for phase synchronize to transition to sequential mode
* one test
* encapsulate vvtSyncCounter
* test
* Add option to stop VVT sync above some RPM
* getOrZero
* Revert "synchronized Phase handling improvements fix #4099"
This reverts commit 32d46d1f09
.
* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"
This reverts commit d5e131b1d0
.
* remove synchronizedPhase
* only crank needs this
* changelog
* needsDisambiguation()
* test
* s
* bad merge
* put the timer back
* s
* s
* changelog
* test for new behavior
* correct parameter order
* spelling
* s
* s
* s
* tests merge happy
* bad merge
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
Matthew Kennedy
4ada633206
Remove third trigger channel ( #4226 )
...
* remove third trigger
* clean up the honda mess
* there was nothing novel about this engine config
* include
* missed a few
* s
* x
* changelog
* don't set the third trigger input
* don't redefine the same thing 3 times
* only two inputs!
* test
2022-06-01 21:24:20 -04:00
Matthew Kennedy
c0d8cbfef4
Trigger cleanup init ( #4222 )
...
* extra parameter
* name decoders in constructor
* s
2022-06-01 00:55:34 -04:00
rusefillc
b7743f101f
helping build
2022-05-31 10:45:32 -04:00
rusefillc
22d9bf056a
heling build
2022-05-31 08:48:24 -04:00
Matthew Kennedy
70c2689f1e
remove trigger duty cycle calculation ( #4213 )
...
* This field was ignored.
* move pad out
* gone
* make trigger configuration a little clearer
* even simpler!
* format
* test fix
* remove duty cycle thing
2022-05-30 22:39:57 -04:00
Matthew Kennedy
f945e6efc9
trigger configuration refactoring for clarity ( #4212 )
...
* This field was ignored.
* move pad out
* gone
* make trigger configuration a little clearer
* even simpler!
* format
* test fix
2022-05-30 19:36:47 -04:00
Matthew Kennedy
6f45d0fd46
Fix trigger error indicator ( #4185 )
...
* test and fix
* more shards!
2022-05-19 09:43:42 -04:00
rusefillc
458b92e6d9
reduce flash footprint by smarter code generation #4163
2022-05-16 00:00:47 -04:00
rusefillc
8168cad4d7
Revert "Revert "reduce flash footprint by smarter code generation #4163""
...
This reverts commit ea11cc2351
.
2022-05-15 15:15:06 -04:00
rusefillc
ea11cc2351
Revert "reduce flash footprint by smarter code generation #4163"
...
This reverts commit f327897d6c
.
2022-05-15 15:14:04 -04:00
rusefillc
f327897d6c
reduce flash footprint by smarter code generation #4163
2022-05-15 12:05:38 -04:00
Andrey
146d887cdd
reduce flash footprint by smarter code generation #4163
2022-05-15 10:07:17 -04:00
Andrey
d38d8a7840
altering technical debt
2022-05-15 10:07:17 -04:00
Matthew Kennedy
ae91b2aea8
don't rely on triggerStateListener to detect trigger errors ( #4164 )
...
* Write proper TriggerDecoder tests
* Improve logic around sync loss
* these tests I understand
* these I sort of understand....
* the one error in the noiseless decoder is gone!
2022-05-13 18:48:26 -04:00
Matthew Kennedy
098b2c87c6
Proper decoder testing ( #4166 )
...
* Write proper TriggerDecoder tests
* patch test for un-patched decoder
2022-05-11 06:14:45 -04:00
Matthew Kennedy
d4509cab8a
TriggerState -> TriggerDecoder ( #4157 )
2022-05-10 11:41:39 +03:00
rusefillc
2132cec3fc
Remove value copy from controller into outputChannels #4095
2022-05-09 06:12:17 -04:00
rusefillc
bd9639b91d
Remove value copy from controller into outputChannels #4095
2022-05-08 08:50:27 -04:00
Matthew Kennedy
e13dad3a2a
support better wbo format ( #4000 )
...
* new format
* comment
* pr feedback
* heater duty
* extra
* comment
* test multi-accept logic
* s
* test new format
* this comment made no sense
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-05-07 02:19:51 -04:00
Matthew Kennedy
b650bbe46c
Trigger gm 3 vs 5 ( #4140 )
...
* add parameter
* two modes
* add new mode to list
* format
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-05-06 08:25:44 -04:00
Matthew Kennedy
58619b4115
Scaled channel ints ( #4129 )
...
* test that fails today
* Revert "int32 scaled_channel has float precision #4128"
This reverts commit 03d44b75ea
.
* fix the problem
* format
* x
* s
2022-05-02 15:20:02 -04:00
Andrey
3c3ce36753
helping build
2022-05-02 06:30:06 -04:00
rusefillc
9b9b67f932
helping build
2022-05-02 05:57:53 -04:00
Andrey
e62877964a
Move curves out of engineConfiguration in order to reduce RAM usage #4127
2022-05-01 23:43:43 -04:00
rusefillc
d24bff2d23
Technical debt: ENUM_32_BITS #3874
2022-05-01 08:48:54 -04:00
rusefillc
107685f069
this seems mostly dead?
2022-04-30 13:43:09 -04:00
rusefillc
571211501e
2 byte pin index #4097 ( #4102 )
...
* 2 byte pin index #4097
* 2 byte pin index #4097
good time to defragment configuration
* 2 byte pin index #4097
new fancy way
* 2 byte pin index #4097
smart comment
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-04-29 19:35:31 -04:00
Matthew Kennedy
e4a0979dc2
Brain pin is enum class ( #4108 )
...
* change most usages to Gpio::
* board configs
* engine configs etc
* isBrainPinValid, smart gpio
* generator
* generator
* generator
* connector yamls
* kinetis enums
* cypress txt
* kinetis config
* frankenso
* config generator
* actually do it for the others
* disable skips for pr ci
* fix tle8888
* misc
* weird cast from int
* needs this operator too
* this can be an unsigned subtract
* happy tests
* s
* kinetis isConfigurationChanged weirdness
* missed J/K
* cypress efifeatures
* build script mistake (!)
* mistake in smart gpio
* debounce
* eg33
* kinetis, so needy
* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
Matthew Kennedy
38213bbc00
more missing autoscale ( #4112 )
...
* autoscale m_config->timeConstant
* min/max afr
* more
* dwell voltage
* closed loop fuel
* knock
* map estimate
* applyNonlinearBelowPulse
* fix
* add a test while we're at it for un-covered code
* test fallback MAP since we touched that
* always compute fallback MAP even if sensor is OK
2022-04-28 08:16:02 -04:00
Matthew Kennedy
c3fb211d6b
fix vss/iss filter parameter validation ( #4114 )
...
* fix filter parameter validation
* use values that don't get clipped
2022-04-27 22:29:51 -04:00
rusefillc
ddd85e701e
Remove value copy from controller into outputChannels #4095
2022-04-23 20:38:48 -04:00
rusefillc
71275e841b
m_hasSynchronizedSymmetrical handling improvements #4099 ( #4101 )
2022-04-23 19:45:29 -04:00
Andrey
4492bc760a
m_hasSynchronizedSymmetrical handling improvements #4099
2022-04-23 19:03:59 -04:00
Andrey
7b64aa5880
m_hasSynchronizedSymmetrical handling improvements #4099
2022-04-23 18:46:12 -04:00
rusefillc
14e37e3cf4
FasterEngineSpinUp should be enabled by default fix #4094
2022-04-23 09:51:47 -04:00
Matthew Kennedy
16de438ab8
knock threshold table fix ( #4077 )
...
* fix knock threshold table
* defaults
* knock controller is engine module
* testable
* test builds
* knock tests work
* s
* format
* everyone loves changelogs
2022-04-18 08:03:16 -04:00
Matthew Kennedy
6aef4f10d0
fragment refactoring ( #4072 )
...
* fragment refactoring
* jar
* jar?
2022-04-16 09:24:45 -04:00
rusefi
141804f490
steps towards better commands encapsulation
2022-04-14 01:44:35 -04:00
rusefillc
44ed81fce0
logging of live data structs was: data points #3614
...
handling request past end of fragments
2022-04-13 23:31:32 -04:00
rusefillc
53d31ee0ea
logging of live data structs was: data points #3614
...
support for null fragments
2022-04-13 20:46:55 -04:00
rusefillc
3c7eb93fe1
steps towards ignition live data
2022-04-13 16:48:25 -04:00
Matthew Kennedy
baef88d1c7
make the vss fliter parameter work again ( #4056 )
...
* vss has adjustable filter
* tooltip and validate
* s
2022-04-09 09:00:19 -04:00
Matthew Kennedy
bd2b5a3dba
gear detection validation ( #4053 )
...
* gear detection validation
* test validation because why not
2022-04-09 08:59:07 -04:00
Matthew Kennedy
f0b810a81c
Gear detection implementation ( #4052 )
...
* gear detect improvements
* ui
* ui for gear ratios
* ui
* output channel
* output channels etc
* implement gear detection
* name
* s
* status loop
* missing function
* ui tweaking
* s
2022-04-07 09:21:11 -04:00
Matthew Kennedy
ad368b2031
Gear detection improvements ( #4047 )
...
* gear detect improvements
* ui
* ui for gear ratios
* ui
2022-04-06 16:15:58 -04:00
Andrey
8053aeb9cf
Extra Idle Air if Throttle is Pressed behavior #3940
...
only live data
2022-04-03 20:30:09 -04:00
Andrey
093de78ff3
Proper cam speed labels in triggers #4021
2022-04-03 17:56:47 -04:00
rusefillc
e631988b22
Proper cam speed labels in triggers #4021
2022-04-03 12:22:47 -04:00
Andrey
204ac3961b
Trigger setup in TS is highly confusing: hide operation mode from users? #4031
...
WOW it works?!
2022-04-03 02:30:43 -04:00
Andrey
cc9a1136c4
Trigger setup in TS is highly confusing: hide operation mode from users? #4031
2022-04-03 02:21:37 -04:00
Andrey
b0be8c4b66
Trigger setup in TS is highly confusing: hide operation mode from users? #4031
...
progress: this way test is less fake!
2022-04-03 02:13:56 -04:00
Andrey
5840a61f55
Trigger setup in TS is highly confusing: hide operation mode from users? #4031
2022-04-03 01:02:13 -04:00
Andrey
95d36b37e3
Trigger setup in TS is highly confusing: hide operation mode from users? #4031
2022-04-03 00:34:18 -04:00
rusefillc
6b5747d4c8
refactoring: method rename
2022-04-02 21:01:29 -04:00
rusefillc
086739d20a
Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077
2022-04-02 19:08:22 -04:00
rusefillc
174a3f33bd
Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077
2022-04-01 22:05:25 -04:00
rusefillc
b1de262520
toothed previous time #4019
2022-03-21 20:41:09 -04:00
Andrey
1b334656e1
Refactoring, technical debt: export more of trigger attributes into triggers.txt file #2077
2022-03-19 19:59:36 -04:00
Matthew Kennedy
4e57daf6d7
test AEM X-Series wideband protocol ( #4002 )
...
* break out acceptFrame, test CanListener
* test AEM xseries protocol
* tweaks
* tweaks
* maybe everyone compiles happily now
2022-03-15 15:52:50 -04:00
rusefillc
cbd6879ddf
JNI for test coverage #3965
2022-03-15 13:57:40 -04:00
Matthew Kennedy
a0f114a9a2
break out acceptFrame, test CanListener ( #4001 )
2022-03-14 19:09:01 -04:00
Matthew Kennedy
5811f691d9
things are happy without gtest ( #3999 )
...
* things are happy without gtest
* this is not a static lib
2022-03-14 15:00:02 -04:00
rusefillc
3076027887
spelling
2022-03-14 13:11:10 -04:00
Matthew Kennedy
0937de1b84
flash storage uses 32 bit CRC ( #3984 )
...
* better flash logic and warning message
* comment
* s
* ssssss
* simplify logic
* use 32 bit crc
* s
* don't test things that don't exist
2022-03-08 23:17:35 -05:00
Andrey G
067055095f
cli registry: rework this hell, add FFF and FFFFF ( #3964 )
...
* cli registry: rework this hell, add FFF and FFFFF
* kinetis: no nodefaultlib
* revert back token helpers
* cli_registery: argument parser: do not eat qoutes
* Unit test for FFF
* cli_registry: remove debug
2022-02-26 16:58:10 -05:00
rusefillc
0130933dd7
BMW 6HP gatewy #3954
2022-02-22 23:13:32 -05:00
rusefillc
970d63568f
Revert "lua: TDD of enabling base lib"
...
This reverts commit d8b3712817
.
2022-02-22 20:50:38 -05:00
rusefillc
d8b3712817
lua: TDD of enabling base lib
2022-02-22 16:25:41 -05:00
rusefillc
38d7f12b30
BMW 6HP gatewy #3954
2022-02-22 15:35:50 -05:00
rusefillc
dc824f0c42
N73
2022-02-21 11:29:46 -05:00
rusefillc
70ea61c091
N73
2022-02-19 20:46:04 -05:00
Matthew Kennedy
f1897ba7aa
less dependence on that logger ( #3884 )
...
* less dependence on that logger
* comma
* refactor a bit, make it clear what this thing actually *does*
* static
* shrink the buffer a bit and make names useful
* dead util that's just subtraction lol
2022-02-09 06:53:16 -05:00
Matthew Kennedy
d8073e8b27
remove mock adc ( #3888 )
...
* remove mock adc
* do these do /anything/?
2022-02-03 20:43:34 -05:00
Andreika
2beca221a3
hellen_board_id + hellen-common.mk ( #3885 )
...
* Hellen_board_id
* move EXTI init before config load
* add NT2USF()
* Hellen_board_id unit-tests
* hellen-common.mk
* fix for older macos compiler
2022-02-03 11:24:31 -05:00
Matthew Kennedy
06437f304f
dead StartupFuelPumping ( #3883 )
...
* dead
* test
* dead config too
2022-02-03 08:01:21 -05:00
Matthew Kennedy
28f39fe71c
test organization ( #3882 )
...
* organize actuators
* this test can be useful
* don't name things misc
* fewer tests called misc
* fewer tests called "big" (?)
* unnecessary
2022-02-02 16:36:35 -05:00
Matthew Kennedy
10be2d5f40
Remove FSIO, byeeeeeeeee ( #3865 )
...
* vestigial config
* replace last functionality
* engine/board configs include
* files that didn't need to include this
* remove FSIO implementation
* stragglers
* random little bits
* s
* s
* ConfigDefinition
* jar
* s
2022-02-02 02:03:31 -05:00
Matthew Kennedy
40d16291b0
Remove fsio part 2 ( #3876 )
...
* dead config stuff
* fsio state
* remove tests
* getEngineValue
* put part back
2022-02-02 00:49:44 -05:00
rusefillc
42deca0fd0
Main relay shutdown rebase ( #3880 )
...
* aggregate
* main relay controller handles delayed shutoff
* main relay controller handles delayed shutdown
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-02 00:45:11 -05:00
Matthew Kennedy
a718f3a30a
Remove fsio part 1 ( #3871 )
...
* dead includes
* move last logic out of fsio
* dead functions
2022-02-01 15:42:04 -05:00
rusefillc
ca98e270e1
safer file name ( #3861 )
...
* safer file name
* safer file name
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-31 21:51:32 -05:00
Matthew Kennedy
2444090933
vss based dfco ( #3845 )
...
* vss based dfco
* fix digits while we're here
* fix some other digits for fun
* don't use custom assert
* simplify test
* less than or equal, test vss behavior
* even better than comments are tooltips
2022-01-27 14:05:18 -05:00
Matthew Kennedy
eb14d74846
extract logic from wall wetting AE ( #3848 )
...
* extract logic
* extract interface
* explicitly test wall fuel
2022-01-27 07:45:50 -05:00
Matthew Kennedy
d65652d7bc
vss and flex are filtered ( #3839 )
...
* vss and flex are filtered
* turbo
* freq sensor test
2022-01-26 17:33:04 -05:00
Matthew Kennedy
df1635b5a0
dfco checks driver throttle intent ( #3832 )
2022-01-24 14:26:39 -05:00
Matthew Kennedy
b5232ab5e6
decouple TPS accel enrichment from trigger ( #3825 )
...
* move call site
* move thresholding out of fast path
* adjust config
* test
2022-01-23 15:31:39 -05:00
Matthew Kennedy
f5d4690fe1
baro fully in sensor model ( #3829 )
...
* consumers and api
* dead test
* baro uses sensor model
* remove old (copy of?) map lookup logic
* I guess we don't need FastInterpolation any more?
* don't double init analog input
2022-01-23 09:42:11 -05:00
Andrey
33df88d3f7
fixing NOISY_RPM handling via Sensor framework
2022-01-21 00:21:45 -05:00
Andrey
1bd71e4b2e
migrating to SensorType::Rpm API
2022-01-20 23:54:52 -05:00
Andrey
4ebb3c94d3
migrating to SensorType::Rpm API
2022-01-20 23:43:18 -05:00
Andrey
9313bcca92
migrating to SensorType::Rpm API
2022-01-20 23:19:48 -05:00
Andrey
0e1f7bea8c
migrating to SensorType::Rpm API
2022-01-20 23:03:45 -05:00
Andrey
e37ab73f1d
migrating to SensorType::Rpm API
2022-01-20 22:58:12 -05:00
Andrey
e945bc4bc9
migrating to SensorType::Rpm API
2022-01-20 22:51:20 -05:00
Andrey
5ea408c033
migrating to SensorType::Rpm API
2022-01-20 22:44:59 -05:00
Andrey
e55eb28086
migrating to SensorType::Rpm API
2022-01-20 22:42:13 -05:00
Andrey
df5cb34fb8
migrating to SensorType::Rpm API
2022-01-20 22:40:15 -05:00
Andrey
16b3e95865
migrating to SensorType::Rpm API
2022-01-20 22:31:07 -05:00
Andrey
3183a123cd
migrating to SensorType::Rpm API
2022-01-20 22:26:05 -05:00
Andrey
8361b6d1f6
migrating to SensorType::Rpm API
2022-01-20 22:22:52 -05:00
Andrey
9f08db256b
migrating to SensorType::Rpm API
2022-01-20 22:12:04 -05:00
Andrey
c7a62bcdb3
migrating to SensorType::Rpm API
2022-01-20 22:04:45 -05:00
Andrey
c17592bfe2
what's the difference between setRpmValue and assignRpmValue #3815
...
refactoring
2022-01-20 21:57:27 -05:00
Matthew Kennedy
76fdb4063e
XY Idle VE Table ( #3781 )
...
* config & ui
* implement
* test idle VE switching behavior
* use the interface where we can
* s
* re-bump flash version
2022-01-20 14:08:54 -05:00
Andrey
08c1c5d969
Remove legacy check fix #3808
2022-01-18 16:01:27 -05:00
Andrey
7e007cc534
https://rusefi.com/forum/viewtopic.php?p=44100#p44100
2022-01-18 10:24:08 -05:00
rusefillc
d305f2c5cf
https://en.wikipedia.org/wiki/Pi
2022-01-14 21:51:03 -05:00
Matthew Kennedy
7d341cfc9d
improve maf output channels and logging ( #3743 )
...
* maf channels
* s
* binary log
* if only I could type
* can
* instant RPM too
* s
* test
* graceful zero rpm
* test works
* float near
2022-01-12 15:41:35 -05:00
Matthew Kennedy
3e56bacef9
don't start boost pwm unnecessarily ( #3767 )
...
* don't start boost pwm unnecessarily
* test
2022-01-11 20:47:50 -05:00
rusefillc
699a5ef302
RE usability: live data for idle controller
2022-01-10 21:55:52 -05:00
rusefillc
339b906aa9
RE usability: live data for idle controller
...
static bad, class fields better
2022-01-10 20:12:11 -05:00
rusefi
1e22f3fc4d
we can live without this test
2022-01-08 20:34:31 -05:00
Andrey
a07c88216d
Live Data progress
2022-01-05 20:41:51 -05:00
Andrey
ed6c89ec10
Live Data progress
2022-01-05 20:15:23 -05:00
rusefillc
51ade79641
itoa unit test, not a very detailed one
2022-01-03 03:31:57 -05:00
Matthew Kennedy
0932fcf94c
Improve NA/NB miata sync parameters ( #3730 )
...
* NA sync parameters
* NB vvt pattern too
* zach's car says tighten the gap
* look at that, we sync one cycle sooner!
2022-01-01 21:39:04 -05:00
Matthew Kennedy
338c14c3a8
cylinder ignition trim ( #3709 )
...
* cylinder ignition trim
* changelog
* changelog
* test
* move UI
2022-01-01 15:47:47 -05:00
Matthew Kennedy
ab3e3ac83f
hook up fuel trims ( #3715 )
...
* hook up fuel trims
* pass all the params
* store per-cylinder fuel mass directly
* main trigger callback only touches per-cylinder, no banks!
* test test test test
* move UI to happy land
* changelog
2022-01-01 02:19:59 -05:00
Matthew Kennedy
d5c4b79b1a
Nb2 crank sync special case ( #3727 )
...
* extract isSyncPoint
* test because why not
* check vvt resync nb2
* custom nb decoder
* test only resyncs once!
* good job valgrind, you found a bug!
2021-12-31 15:47:25 -05:00
rusefillc
f715210b39
GDI Epic #1448
...
live view
2021-12-31 15:28:24 -05:00
Matthew Kennedy
b3de217c1b
adjustment to #3722 ( #3723 )
...
* s
* behold, another bug a test caught
* test
* test generates usable trigger pattern so it works correctly
* comment
* don't need that
2021-12-31 01:21:21 -05:00
Matthew Kennedy
4981eb43d0
extract isSyncPoint function ( #3726 )
...
* extract isSyncPoint
* test because why not
* check vvt resync nb2
* clean up noise from test case
* clarify and comment
2021-12-30 11:39:04 -05:00
rusefillc
4bc9c39044
E65
2021-12-29 00:50:17 -05:00
Andrey
ae5dbd63a4
extract method
2021-12-27 21:09:41 -05:00
Andrey
7322fc345e
E65
2021-12-26 14:48:00 -05:00
rusefillc
6665c4fb34
docs
2021-12-26 13:41:10 -05:00
rusefillc
b337fed520
live data
2021-12-26 13:00:17 -05:00
rusefillc
561a466cdb
E65
2021-12-24 17:35:27 -05:00
Andrey
af1259c176
E65
2021-12-24 16:58:12 -05:00
Andrey
97b3212e56
E65
2021-12-24 16:56:17 -05:00
Andrey
1f40be01b9
E65
2021-12-24 16:53:24 -05:00
Andrey
19a8685644
refactoring
2021-12-24 16:51:31 -05:00
Matthew Kennedy
a4871c703c
Autoscale all the things! ( #3713 )
...
* Map3D accepts any scaled_channel type
* consistency
* reinstate test
* fix ratio
* throttle, boost, gppwm
* scale ignition and VE
* tests
2021-12-22 08:09:41 -05:00
Matthew Kennedy
0810198185
clean up timing table defaults ( #3705 )
...
* less crazy configs
* cleanup
* make that test happy
2021-12-20 08:02:38 -05:00
rusefillc
47cde8801c
2 byte table axis #3045
2021-12-20 02:07:03 -05:00
Andrey
76768d6ac4
2 byte table axis #3045
...
fixing build
2021-12-20 01:50:23 -05:00
rusefillc
66f82a0cdb
2 byte table axis #3045
2021-12-19 22:43:10 -05:00
Matthew Kennedy
cddb9484a9
make macos happy ( #3699 )
...
* s
* explicitly include it because that's a good idea.
2021-12-19 09:58:49 -05:00
Andrey
951cea4471
ISO-TP accounting for new buffer size
2021-12-19 01:10:13 -05:00
rusefillc
907499416b
is that all it needs?
2021-12-19 00:54:20 -05:00
Andrey
d7e25028a0
PCAN sandbox - error requestOutputChannels fix #3698
2021-12-19 00:29:30 -05:00
Andrey
1dbcaaa6a4
TS via TCP connector and ISO-TP via PCAN #3667
2021-12-18 21:46:49 -05:00
rusefillc
4292c2fb1d
MAP phase sensing fix #3544
...
removing dead implementation
2021-12-16 21:28:27 -05:00
rusefillc
06ccf524dd
MAP phase sensing #3544
...
removing dead implementation
2021-12-16 21:13:55 -05:00
Andrey
8d7452e5d1
Lua to read tsOutputs #3376
...
unit test fix
2021-12-15 09:23:06 -05:00
rusefillc
ced403f7ee
Lua to read tsOutputs #3376
...
let's break master!
2021-12-15 08:56:59 -05:00
rusefillc
5bdf25c3f8
Lua to read tsOutputs #3376
2021-12-14 23:16:05 -05:00
Matthew Kennedy
256df56fa7
Honda K 12+1 decoder adjustment ( #3694 )
...
* adjust trigger
* real cranking
* mk
2021-12-14 21:10:01 -05:00
Matthew Kennedy
6de8364895
maybe more working MAP sampling ( #3689 )
...
* what if we do this
* cleanup
* s
* test
2021-12-11 03:01:28 -04:00
Andrey
9ae24735f8
MAP phase sensing #3544
2021-12-10 17:28:03 -05:00
Andreika
6be915f7af
can_isotp fix? ( #3678 )
...
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-08 18:12:51 -05:00
Matthew Kennedy
4148ee76bf
smarter priming logic ( #3674 )
...
* ignition controller detects rising edge on voltage
* update test
* comment
* ignore negative transients
* tweak
* test
* priming happens on ignition-on
* priming has its own scheduling
* config & UI
* dead config
* implementation
* look, the test caught a bug
* keep the watchdog happy
* bad merge
* changelog
* easier to read the test
* test naming
2021-12-08 16:20:19 -05:00
rusefillc
f1855a41ae
docs
2021-12-08 16:05:57 -05:00
Andreika
72cefd42de
CAN ISO-TP progress (+unit-tests fix) ( #3677 )
...
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-12-08 15:11:19 -05:00
rusefillc
3a33e59b86
rusEFI console ISO-TP via PCAN #3667
2021-12-08 12:01:28 -05:00
Matthew Kennedy
2050580a16
prime upon ignition voltage, not on power on ( #3662 )
...
* ignition controller detects rising edge on voltage
* update test
* comment
* ignore negative transients
* tweak
* test
* priming happens on ignition-on
* priming has its own scheduling
* test
* dead adjacent line of code
2021-12-08 07:26:49 -05:00
Matthew Kennedy
91ec135cf8
ignition controller detects rising edge on voltage ( #3636 )
...
* ignition controller detects rising edge on voltage
* update test
* comment
* ignore negative transients
* tweak
* test
2021-12-07 21:28:04 -05:00
Andrey
50038167d8
MAP phase sensing #3544
...
new implementation seems complete?
2021-12-07 21:08:25 -05:00
Andrey
e72d57438a
MAP phase sensing #3544
...
new implementation
2021-12-07 20:00:04 -05:00
Andrey
6e49d66385
MAP phase sensing #3544
...
look new unit test!
2021-12-07 16:58:10 -05:00
Matthew Kennedy
3a95e86112
calculate per-cylinder ignition timing ( #3652 )
...
* simplify cylinder phasing
* per cylinder timing
* s
* s
* s
* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
rusefillc
2f45ed205c
MAP phase sensing #3544
...
option to look for high and low peaks
2021-12-05 14:25:26 -05:00
rusefillc
0c91e77749
MAP phase sensing #3544
...
taking a step back to happy place
2021-12-04 18:21:10 -05:00
Andrei
c6fa50d196
CAN update
2021-12-03 21:44:15 -05:00
rusefillc
aaf732f738
trigger_adc unit tests
2021-12-01 13:35:44 -05:00
Andrei
1047fed77c
trigger_adc unit-test data files
2021-12-01 12:28:48 -05:00
rusefillc
79e43384a5
proteus to have enlarged Lua
2021-11-30 21:37:17 -05:00
Matthew Kennedy
a37c9bca9e
Remove the EFI_NO_CONFIG_WORKING_COPY option ( #3630 )
...
* no working copy
* oops
2021-11-29 16:44:45 -05:00
rusefillc
0c4e64fb2d
Epic: Remove FSIO #2928
2021-11-28 17:54:26 -05:00
Matthew Kennedy
d5363b814a
better VSS configuration ( #3542 )
...
* vss uses real values
* some defaults
* test and correct math
* km, not miles!
* comment
* tooltip
* that macro went away
* 100hz and default settings gives 9kph
* changelog
* order of operations safety
* make the test like the pwm test
* housekeeping
* this is why we need sensor automation
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-27 08:49:07 -05:00
Andrey
e2fa1af527
MAP phase sensing #3544
2021-11-24 22:36:36 -05:00
Andrey
58c0fb4539
MAP phase sensing #3544
2021-11-24 21:53:32 -05:00
Andrey
259e8744cb
MAP phase sensing #3544
2021-11-24 21:53:16 -05:00
Matthew Kennedy
81fffe87b7
main relay doesn't use fsio ( #3580 )
...
* fuel pump
* s
* call correct callback
* more dead
* test adjustment
* don't overflow
* don't need separate function
* java
* give it a name
* generated
* generated
* add to generate script
* import *
* this is so cheap we don't need a flag
* main relay
* plumbing
* dead fsio stuff
* test it
* by 100%, we mean 99.98%
2021-11-24 07:47:51 -05:00
rusefillc
c75291f415
live data for wastegate #3588
...
i want to persist state so no 'const' sorry
2021-11-23 15:52:43 -05:00
rusefillc
50ccf1fbea
harley
2021-11-22 19:16:57 -05:00
rusefillc
42da5746f4
j1850 SAE crc8 Lua
2021-11-22 14:19:19 -05:00
rusefillc
da68ff5ad6
j1850 SAE crc8
2021-11-22 14:03:52 -05:00
Scott Smith
ba4a00d3bb
Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData ( #3519 )
...
* Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData
Most all the users were Multi* anyways, so just improve that:
1. Allow up to 8 waveforms to share one byte per timestamp. It could be better but this is simple
and gets most of the benefit.
2. Use a wrapper structure to handle reserving space for the arrays. Makes the interface simpler
and more rigid. Also saves 4 bytes per Multi*. Downside is access is now via -> and *,
not . and (nothing).
Saves 224 bytes of BSS, 1832 bytes of RAM4/CCM, 952 bytes of TEXT, and 103 bytes of RODATA
* Instantiate a base_t to make debugging easier.
Also fixes crash on real firmware by using &m_base instead - LTO optimization issue?
* No magical templated StaticAlloc thingy. Just virtual functions.
2021-11-21 04:56:07 -05:00
Matthew Kennedy
9a28e8d938
correctly compute engine revolution number ( #3586 )
...
* add param
* first revolution is revolution 0, not revolution 1
* would you look at that, we sync one rev quicker!
* changelog
* rpm value
2021-11-21 09:01:27 +03:00
Matthew Kennedy
a342bee57e
rpm calculator refactoring, gm 24x test ( #3585 )
...
* data
* stub test
* use getTimeSinceSyncPoint
* s
* s
* no
* test
* stray ;
* those were 1/10 what they were supposed to be
* actually check something
* dead log line?
2021-11-20 14:59:02 +03:00
rusefillc
f1900b4887
On -fpermissive in Windows in unit tests #3581
2021-11-20 00:23:27 -05:00
rusefillc
e54d3b9e06
On -fpermissive in Windows in unit tests #3581
2021-11-20 00:16:03 -05:00
Scott Smith
5bc1949aef
Basic framework for high pressure fuel pump control ( #3476 )
...
* Basic framework for high pressure fuel pump control
* Many changes
Move calculations to fast callback
Move main object into Engine
Respond to pin changes without requiring a reboot
* Use EngineModule for HpfpController
Schedule pin off after executing pin on so we are sure it ends, even if the motor stops.
Test scheduling.
Less RAM use by only having one event and reordering fields.
* Make scheduling test actually useful - need non-0 activation angle.
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-11-19 23:06:51 -05:00
Matthew Kennedy
d40ca0f581
fuel pump doesn't use fsio ( #3576 )
...
* fuel pump
* s
* call correct callback
* more dead
* test adjustment
* don't overflow
* don't need separate function
* java
* give it a name
* generated
* generated
* add to generate script
* import *
* this is so cheap we don't need a flag
2021-11-19 22:23:12 -05:00
Scott Smith
98040ad9af
Make the module API more concise. ( #3571 )
...
engineModules.get<FOO>(). becomes modules<FOO>()->
I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
2021-11-17 21:50:00 -05:00
Scott Smith
69d36dad6e
Final cleanup of ENGINE macros ( #3567 )
...
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
2021-11-17 13:45:10 -05:00
Scott Smith
988aacdd91
Create a base class EngineModule for that contains various useful callbacks. ( #3548 )
...
* Create a base class EngineModule for that contains various useful callbacks.
This cleans up the API by not requiring the notifiers to know about who wants callbacks. The only
place you need to update to add a module is in one place.
* Add mockability.
* Convert InjectorModel to a Mockable EngineModule
2021-11-17 20:13:19 +03:00
Scott Smith
823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc ( #3565 )
...
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"
git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith
cc95bd6c8e
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* ( #3560 )
...
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*
for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
git grep -l "$i" | xargs sed -i "s/$i//g"
done
git grep -l "inject" | xargs sed -i "/inject[(][)]/d"
for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done
git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h
* Review fixups.
2021-11-16 16:52:11 -05:00
rusefillc
17d4646dce
spelling
2021-11-16 16:46:54 -05:00
Matthew Kennedy
8cdac4cac0
remove engine pointer passing ( #3556 )
...
* some
* more
* more
* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith
344c9073e2
Start the process of using a global engine ptr for unit tests. ( #3551 )
...
* Start the process of using a global engine ptr for unit tests.
Passing around the engine, config, and persistent state wasn't buying anything. Instead, use
EngineTestHelper(Base) to correctly set and clear the global variables. Add a dummy check in
case some test tries to set them manually.
* Fix OSX build
* Adapt PR to recently added code.
2021-11-16 00:23:14 -05:00
Scott Smith
62daac73c7
Use Valgrind to detect unitialized variable references. ( #3555 )
...
* Use Valgrind to detect unitialized variable references.
Fix the edge cases that pop up
* Comment and disable Mac run
2021-11-15 23:42:23 -05:00
Andrey
0cc88ec6e2
Not all launch control options are used #3554
2021-11-15 21:13:01 -05:00
Andrey
05fa6071dd
refactoring launch
2021-11-15 19:55:04 -05:00
Scott Smith
7011be6f86
Test for stack use after free in ASAN. ( #3552 )
...
Fix two cases that didn't affect the product, but did affect our ability to test.
2021-11-15 19:44:39 -05:00
Andrey
4002c92dcc
refactoring launch
2021-11-15 18:57:12 -05:00
Andrey
34015eceee
refactoring launch
2021-11-15 14:40:35 -05:00
Matthew Kennedy
cb032fb1ea
(void) -> () ( #3550 )
...
* static functions with (void)
* more
* Revert "more"
This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy
145316c497
less macro, more c++ ( #3549 )
...
* less macro
* s
2021-11-15 12:44:40 +01:00
rusefi
a5764d6e67
Lua: changing "table" API
2021-11-14 16:44:52 -05:00
rusefillc
c22215cea7
Epic: Remove FSIO #2928
2021-11-14 10:39:47 -05:00
rusefillc
a85d1bb064
Epic: Remove FSIO #2928
2021-11-14 07:30:26 -05:00
Matthew Kennedy
73b05d2e20
lua pid class ( #3411 )
...
* lua pid
* no luaaa stl
* update luaaa
* finality
* luaaa
* luaaa
* = default
* bad merge
* gitmodules
* lua
* proteus demo script
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-13 03:18:16 -05:00
Matthew Kennedy
57ad75aa98
load lua libs correctly ( #3529 )
...
* fix lua lib loading
* test
2021-11-11 13:44:13 -05:00
Scott Smith
713083baa5
Convert TriggerWaveform::wave to a pointer in preparation for code-defined sequences. ( #3528 )
...
It will eventually be class to support dynamic universal patterns in addition to ROM-based
tables.
2021-11-11 13:19:25 -05:00
Scott Smith
2f4d123052
Change users of MultiChannelStateSequence to use the API ( #3524 )
...
Better than reaching into members that should be private. I didn't feel like actually making
them private though, as one user validates pinStates isn't NULL.
2021-11-11 09:19:22 -05:00
Scott Smith
d4c4db9a12
Move phaseCount into MultiChannelStateSequence ( #3520 )
...
We can them drop the field from a bunch of callers, simplifying the code.
2021-11-10 19:47:27 -05:00
rusefi
72a2bdba66
MathMin
2021-11-10 19:23:05 -05:00
Matthew Kennedy
3f2a9c3fe8
test TS writes ( #3515 )
...
* test TS writes
* s
* this must be a gcc extension
2021-11-10 07:29:40 -05:00
Scott Smith
158f719d95
Save ~2800 bytes of RAM by not caching angle->trigger mapping ( #3506 )
...
Memory seems more valuable than CPU; use the O(lg n) lookup by angle. A side effect is that it
seems to fix trigger lookup for the second phase of TRIGGERTYPE 53 544 TT_TRI _TACH 0.00
2021-11-09 07:03:27 -05:00
Scott Smith
37da55c920
Compile each project's PCH to a separate file to reduce developer friction. ( #3505 )
...
Having to remove the precompiled header when switching from firmware to simulator to unit_tests and
back again is annoying. Use a directory to store the precompiled header output. Turn off
precompiled header warnings as GCC still complains even if it finds a valid one eventually.
2021-11-08 15:52:58 -05:00
Scott Smith
13c496b79b
Make getTimeNowNt even faster ( #3504 )
...
The last version is already much better than the original, mostly because it doesn't call
CriticalSectionLocker, which has a ton of overhead due to debug tracking. But this version is
another 4 instructions / 12 bytes shorter. Does as much match in 32-bit land as possible, and
avoids math operations that span 64-bits (i.e. either operate on the lower half or upper half, but
not both). The result is only 3 instructions not including the necessary 4 loads (ptr to now, now,
ptr to upper, upper), 1 store (upper), and 1 return/branch.
2021-11-08 14:24:31 -05:00
Andrey
2c715be4b7
ETB: do not touch HW pins if function not selected, this way Lua can use DC motor hardware pins directly
2021-11-08 12:44:37 -05:00
Andrey
8a963633d3
refactoring: assigning etbFunctions earlier
2021-11-08 12:39:41 -05:00
Andrey
1b0d48d8c0
WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK
2021-11-08 12:27:02 -05:00
Andrey
9b0f617664
lua pid class #3411
2021-11-07 09:53:40 -05:00
Andrey
6111355e6c
Remove Miata MX5 NB1 trigger #3488
2021-11-06 20:24:41 -04:00
Matthew Kennedy
3348c0404b
configurable etb maximum ( #3469 )
...
* etb maximum
* update tests and test new behavior
2021-11-05 18:16:19 -04:00
Scott Smith
6d38fe1eb3
Allow scaled_channel to have both multiplier and divisor ( #3468 )
...
Disallow scaled_channel for float. I can't think of a reason to allow it, and it gets in the way
of rounding.
Add separate template param to setTable; let the compiler sort out whether assignment can happen
between TElement and VElement without forcing them to be the same at function call time.
2021-11-05 17:34:22 -04:00
Andrey
f6a20ca1ea
lua curve progress
2021-11-05 16:08:48 -04:00
Matthew Kennedy
24224729a3
support autoscale on table axes ( #3452 )
...
* scale map Y axis
* allow different row/col types
* scaled channel detector
* interpolation
* looks like this actually works
* tests, no manual scaling
* comment
2021-11-03 19:53:26 -04:00
Andrey
44fa9b028b
lua interpolate
2021-11-02 23:35:48 -04:00
Matthew Kennedy
980a7cc833
autoscale fields in generated structs ( #3444 )
...
* add to grammar
* parser
* parser
* example consumer
* build config tool
* commit the right jar
2021-11-02 18:59:19 -04:00
Matthew Kennedy
75a2b5ef02
Knock retard ( #3396 )
...
* output gauge
* knock controller
* don't need that
* inject engine ref
* test knock
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
Matthew Kennedy
29ec0a5859
better pch usage and gmock constructors ( #3426 )
...
* break out mock constructors
* comment and spacing
* unnecessary compiler options
* happy stepper
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-30 20:31:09 -04:00
rusefillc
d5de11bcc1
Override trigger gaps feature #2734
2021-10-30 11:09:10 -04:00
rusefillc
64ecbb16ab
Revert "lua pid class #3411"
...
This reverts commit dde80bb900
.
2021-10-28 23:41:23 -04:00
rusefillc
dde80bb900
lua pid class #3411
2021-10-28 23:35:53 -04:00
rusefillc
bf7ae2c76e
generate java enum from C enum? generate both C and java from yaml? #2102
2021-10-24 13:10:38 -04:00
rusefillc
b7601e063f
generate java enum from C enum? generate both C and java from yaml? #2102
2021-10-24 11:40:47 -04:00
Matthew Kennedy
383d8caad9
Lua CAN RX ( #3403 )
...
* wiring
* static
* implementation
* comment
* unit tests happy
* guard
* guard smarter, not harder
* guard smarter not harder
* guard even smarter, not even harder
* don't need that
2021-10-24 08:37:04 -04:00
Matthew Kennedy
8a841bb52c
lua can set sensors ( #3389 )
...
* add sensor unsubscribe
* sensor hook
* test it!
* virtual destructor makes us sad
* ensure deinit
2021-10-22 16:36:29 -04:00
Andrey
b750755369
findSensorTypeByName
2021-10-21 14:33:59 -04:00
Andrey
37594d5646
findSensorTypeByName
2021-10-20 22:21:42 -04:00
rusefillc
eb05f4594e
very old very dead code
2021-10-20 12:57:07 -04:00
rusefillc
1493973bea
very old very dead code
2021-10-20 10:38:36 -04:00
Matthew Kennedy
e4c34e016a
last packet optimization ( #3363 )
...
* last packet optimization
* comment
* test
* missed one
* set tcp mss
2021-10-18 19:59:08 -04:00
Andreika
bc4a068c9c
[DRAFT] IAC H-Bridge Microstepping ( #3213 )
...
* fix for stepperHbridgeHardware
* new config fields for microstepping
* add stepper dir pin mode to the dialog
* refactor stepper hw dialog & add microstepping panel
* microstepper modes enum
* stepperDcInvertedPins needed by Hellen
* add sleep() for stepper and divisor for pause()
* microstepping impl.
* make unit-tests more happy
* small progress
* fix etb-stepper dlg conflict
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 13:57:04 -04:00
Andreika
d917cc8cc2
[DRAFT] Fix cranking->idling taper phase for useSeparate*ForIdle tables ( #3168 )
...
* Rename Phase::CrankToRunTaper -> CrankToIdleTaper
* Change isIdling() to isIdlingOrTaper()
* test_idle_controller.cpp
* useSeparateIdleTablesForCrankingTaper setting
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 12:05:20 -04:00
Matthew Kennedy
9797d25b7c
getOrZero ( #3319 )
2021-10-05 19:59:07 -04:00
Matthew Kennedy
db12cdbe19
put MAP in the sensor model ( #3292 )
...
* map averaging in sensor model
* deadly, deadly code!
* mpxh
* Revert "deadly, deadly code!"
This reverts commit 346fe25267966a313145a809792dced84be348cf.
* comments
* sensor types
* last sensor
* channel init
* correct spot
* deinit properly
* simplify
* fix
* mocks
* map init test
* showInfo
* comment
* singleton identity function
* sensor info print
* multiple cylinder averaging buffer
* comments
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-04 17:18:08 -04:00
rusefillc
77ebc71f9a
overdwell protection #3071 ( #3294 )
2021-10-02 01:17:53 -04:00
Matthew Kennedy
0a550a70b1
overdwell protection ( #3220 )
...
* cancel event
* looks like it works...
* some tests are happy
* add enable bit
* undo test changes
* Revert "add enable bit"
This reverts commit 000afadd3fc560867302557afe26f76cd9fc4ed6.
* enable bit in engine
* only turn off for one test
* Revert "undo test changes"
This reverts commit 106db49e291b5a531a94de6ac177c6584d5337f6.
2021-10-02 01:10:24 -04:00
Andrey
13d21716db
reducing crazy in unit tests
2021-10-02 00:13:15 -04:00
Andrey
097e871b19
reducing crazy in unit tests
2021-10-02 00:00:08 -04:00
Andrey
3da054c6e7
reducing crazy in unit tests
2021-10-01 23:53:22 -04:00
Andrey
d478c9c411
reducing crazy in unit tests
2021-10-01 22:33:06 -04:00
Andrey
b71d3c6111
reducing crazy in unit tests
2021-10-01 22:29:44 -04:00
rusefillc
a6fbb98193
Complete fuel cut, maybe by wall wetting? Warning on decel (?) CUSTOM_OBD_SKIPPED_FUEL = 9010 fix #3225
2021-09-27 22:04:03 -04:00
Matthew Kennedy
f41a2715a3
system lua: load a script! ( #3231 )
...
* load script
* test
* needs more rams
* embiggen stack
* init system lua from lua thread
* de-embiggen stack
* system needs a little more
* memory
* om nom nom delicious memory
* how much more memory could it want
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-23 21:45:14 -04:00
Matthew Kennedy
b5bde5c307
Turbo sensor ( #3245 )
...
* outputs rpm
* no msg param necessary
* new sensor type
* happy test
2021-09-20 15:39:41 -04:00
alxrMironov
bb341c4c07
Turbo speed sensor implementation #2935 ( #3209 )
...
* Add turbocharger speed converter class
* Add turbocharger speed converter tests
* Add turbocharger speed sensor initialization functions
* Add turbocharger speed sensor to initialization
Co-authored-by: alxrMironov <330OMcorporative>
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-09-19 20:50:11 -04:00
rusefi
6307ffd3a6
merc128: engine config defaults #3236
2021-09-18 22:12:22 -04:00
rusefillc
3e50319eb7
merc128: engine config defaults #3236
2021-09-18 21:27:17 -04:00
rusefillc
847fb75a23
TS channel names for nicer console messages
2021-09-18 15:33:14 -04:00
Matthew Kennedy
c72bd07179
enable address sanitizer ( #3217 )
...
* enable asan
* lua
* this is dead and leaky
* leaky nissan
* fix pwm generator use-after-stack
* initializers
* prevent problems in case of invalid trigger shape
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-05 05:56:59 -04:00
rusefillc
427cce7596
Lua timer ( #3218 )
...
* Lua: Timer class #3159
* Lua: Timer class #3159
* Lua: Timer class #3159
* Lua: Timer class #3159
* lua timer is happy (#3216 )
* hooks are happy
* don't need that any more
* format
* update lib
* module
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2021-09-03 20:21:39 -04:00
Matthew Kennedy
730b26d034
remove old vss implementation ( #3208 )
...
* dead vss
* remove
2021-08-28 01:39:55 -04:00
Matthew Kennedy
6407e74ae2
disable closed loop boost below MAP threshold ( #3206 )
...
* boost minimum map
* changelog
2021-08-27 17:54:08 -04:00
Matthew Kennedy
cf5d4cbe1c
add & test remove from linked list ( #3199 )
2021-08-26 23:03:09 +03:00
Matthew Kennedy
a18b86a09b
start allowing ADC change while running ( #3100 )
...
* allow re-register of the same sensor
* add api to unsubscribe
* do it for tps
* clear the pin
* happy test
* maybe make afr happy for now
* tests build
* happy simulator
* active configuration
* check valid
* we need vbatt now
* manage all pin init in init_sensors.cpp
* don't need that
* cleanup
* thermistors
* do two phase reinit in the right place
* config vs engine
* finally the tests are happy
2021-08-24 16:41:16 -04:00
alxrMironov
f926d2ccba
Vehicle speed switching to frequency sensor #3106 ( #3148 )
...
* Add vehicle_speed_converter.h with realization.
* Add test_vehicle_speed_converter.cpp with realization.
* Add test_vehicle_speed_converter.cpp to Makefile
* Edit "VehicleSpeedSensor" from function pointer sensor to frequency sensor
* Fix "VehicleSpeedSensor" init function args
* Remove "VehicleSpeedConverter" empty constructor
* Edit vehicle_speed_converter.h code style
* Fix args and engine injection in "VehicleSpeedSensor" initialization procedure
* Remove old "Vehicle Speed" module initialization
* Revert "Remove old "Vehicle Speed" module initialization"
This reverts commit 100b7caa8c615c20eed3d0c23a49824b4e556148.
* Remove old "Vehicle Speed" module initialization pieces
* Revert "Revert "Remove old "Vehicle Speed" module initialization""
This reverts commit f559a726f1f7f5a7acacd1b6517e571743e84327.
* Debug changes
* Revert "Debug changes"
This reverts commit f7e2be1a8a46c6f3f93f14f002b2f2db539da8e2.
* Another debug changes
* More debug changes
* And more debug changes.
* Revert "Another debug changes"
This reverts commit 914fbb1df42c37e4b5ecbb119bb45e7cffdf4064.
* Revert "More debug changes"
This reverts commit 0b2d96d461c3cd9b0f1ae97ed110b8effe6b0cc6.
* Revert "And more debug changes."
This reverts commit 06ae8daded0e6e1c025e4e5058b47283f4adfe92.
* Add "Vehicle Speed" sensor reconfiguration
* Revert "Add "Vehicle Speed" sensor reconfiguration"
This reverts commit a089a6d563dd710004ce1a7da1744b0b4b90c3b1.
* Revert "Revert "Add "Vehicle Speed" sensor reconfiguration""
This reverts commit 7b2bb8af4b3caa547236ca59e4c4bdb3ac1200cc.
* Debug changes
* Another debug changes
* Fix another debug changes
* Another debug changes 2
* Revert "Another debug changes 2"
This reverts commit cfad55141eec125b2f1d35fb95d9f46b54f666b6.
* Revert "Fix another debug changes"
This reverts commit 9bc2c74a3be6fd896827ff48cf4580e7657529c0.
* Revert "Another debug changes"
This reverts commit 4337ed8cad8dff508d093944eb3f75e9a69e4a77.
* Edit class FrequencySensor, make it more RAII
* Debug changes
* Debug changes 2
* Debug changes 3
* Revert "Debug changes 3"
This reverts commit 52a7054c122b5157540fe45a055a84b57478d722.
* Revert "Debug changes 2"
This reverts commit dec79fb913344ccb4b8614910ad62e6c129a243e.
* Revert "Debug changes"
This reverts commit eb08d7a529b55ba397a7dd2c154b76eab42f212b.
* Revert "Edit class FrequencySensor, make it more RAII"
This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.
* Remove VSS pin definition in "Citroen Berlingo" engine config.
This reverts commit 3a0bb1d3f1dd23c1b04e4cc1c526cfdc67ae86a3.
* Remove VSS pin definition in "Dodge Neon" engine config
Co-authored-by: alxrMironov <330OMcorporative>
2021-08-24 00:55:41 -04:00
Matthew Kennedy
2ad4a9df1e
actually remove FSIO idle stuff ( #3150 )
...
* debug mode
* pid cleanup
* more dead
* more dead
* wow more dead
* much dead many death wow
2021-08-14 09:48:45 +03:00
rusefillc
86e4664b2d
dead idle FSIO
2021-08-12 18:28:55 -04:00
alxrMironov
7ebebd6922
Begin "vehicleSpeed" refactoring. Module switched to "FunctionalPointerSensor" class. #3106 #3107 #3108 . ( #3132 )
...
* Add new sensor type "VehicleSpeed"
* Add "Vehicle speed" sensor to name list
* Add Vehicle speed sensor initialization with function pointer sensor.
* Add init_vehicle_speed_sensor.cpp to Makefile
* Replace dependencies from "getVehicleSpeed" to OOP-like "Sensor::get()"
* Add warning and TODO to "mock vehicle speed" call
* Replace get & mock "VehicleSpeed" methods in tests
* Remove #warning directive (cause error by current settings)
* Remove stray tab
* Remove explicitly type casting.
* Add "InitVehicleSpeedSensor" function declaration to init.h
* Add "VehicleSpeedSensor" initialization call into "InitNewSensors"
Co-authored-by: alxrMironov <330OMcorporative>
2021-08-12 22:16:51 +03:00
Matthew Kennedy
90a0e47b04
skip etb init if no primary sensor ( #3136 )
...
* skip init if no primary sensor
* specific test
2021-08-12 00:45:44 +03:00
Andrey
0df437e749
Nissan 4 cylinder QR trigger wheel #3118
2021-08-08 07:04:18 -04:00
Matthew Kennedy
d24f1462e2
even more pch ( #3112 )
...
* s
* more
* s
* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy
5ff7235040
don't "validate instant RPM" ( #3095 )
...
* don't "validate instant RPM"
* test actually tests the right thing
* test mode transition
2021-08-04 08:17:14 +03:00
Matthew Kennedy
25414ebdad
yet more pch ( #3068 )
...
* big pch energy
* put back ramdisk stub
* tests are happy
* h743 nucleo
* kinetis
* I love deleting code!
* make stepper happy
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Andrey
75f27c6cbc
unit test for vehicle_speed.cpp fix #3081
2021-08-03 19:54:11 -04:00
alxrMironov
6d12533120
Unit tests for vehicle speed.cpp #3081 ( #3103 )
...
* Add test_vehicle_speed.cpp
* Add test_vehicle_speed.cpp to makefile
* Add tests for vehicle_speed.cpp
* Enable vehicle_speed.cpp testing
* Edit make some constants explicit and format code style
* Revert "Enable vehicle_speed.cpp testing"
This reverts commit bcba5219a1d69fb3375e33c7fcb97abffc190a75.
* Remove verbose variables
* Remove dead code strings
* Fix tests coupling by setMockVehicleSpeed
Co-authored-by: alxrMironov <330OMcorporative>
2021-08-03 19:49:16 -04:00
Andrey
8fe2d99254
unit test for vehicle_speed.cpp #3081
2021-08-03 19:48:24 -04:00
Matthew Kennedy
a8eddbccf6
perform extra-step-prevention in the stepper driver itself ( #3038 )
...
* perform extra-step-prevention in the stepper driver itself
* isBusy flag
* I am unable to type
* the court of public opinion has decided that greater-equal is correct
* that sets target in steps, not percent
* correct var name
* mock stepper motor
* testable stepper
* build is happy
* helping build
2021-08-02 07:03:57 -04:00
Matthew Kennedy
f16173b4dd
call handleShaftSignal ( #3097 )
2021-08-02 07:02:45 -04:00
Matthew Kennedy
fcd6c3d520
fix the mess ( #3094 )
...
* test
* s
2021-08-01 23:21:53 -04:00
alxrMironov
6f96887d74
Unit test for flex sensor.cpp #3091 ( #3093 )
...
* Add test_flex_sensor.cpp
* Add test_flex_sensor.cpp to makefile
* Edit test_flex_sensor.cpp code formatting
* Fix test case name in test_flex_sensor.cpp
* Remove explicitly defined constructor of "FlexSensorForTests" class
* Edit included headers replaced by single one in test_flex_sensor.cpp
* Edit format to make similar to other files.
Co-authored-by: alxrMironov <330OMcorporative>
2021-08-01 22:14:01 -04:00
Matthew Kennedy
4aaee01a26
remove some noise from nb2 trigger log ( #3078 )
2021-07-30 08:19:16 -04:00
Matthew Kennedy
0d983855b9
instant rpm uses full engine cycle ( #3077 )
...
* instant rpm uses full engine cycle
* turn off fast spinup for this test
2021-07-30 08:18:24 -04:00
Matthew Kennedy
b52d50bbf2
Use pch in lots of files ( #3066 )
...
* most engine.h
* most engine_configuration
* more
* more
* more
* more
* more
* moooooore
* ok I'm done for now
* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy
bd599ab374
cleanup for pch ( #3062 )
...
* cleanup
* d
2021-07-25 20:43:02 -04:00
Matthew Kennedy
f6095b8339
fix nonlinear correction threshold ( #3060 )
...
* s
* macro
* test has to do the inverse
2021-07-25 20:42:26 -04:00
Andrey
2495713af6
Clutch switch inverted options do not invert detected pedal position
...
#3545
2021-07-24 19:49:23 -04:00
Matthew Kennedy
617c2886d9
adjust taper behavior ( #3051 )
...
* adjust taper behavior
* check that taper works in running state too
2021-07-24 16:12:07 -04:00
rusefillc
23842bf143
safer NB2 progress ( #3041 )
...
* safer NB2 progress
* one step back
2021-07-23 16:43:24 -04:00
Andrey
6fc693aea2
VVT position of first cam is off on first cycle fix #2987
2021-07-22 01:02:37 -04:00
Andrey
7db8bc816e
Nissan VVT trigger decoder #2887
2021-07-21 23:26:40 -04:00
Andrey
783fd70cce
Nissan VVT trigger decoder #2887
2021-07-21 23:24:23 -04:00
Andrey
24cfbeba35
Nissan VVT trigger decoder #2887
2021-07-21 23:08:56 -04:00
rusefillc
07d32a9e80
Nissan VVT trigger decoder #2887
2021-07-21 22:41:37 -04:00
rusefi
dba7a333f8
nissan logic cranking
2021-07-21 21:58:00 -04:00