Commit Graph

656 Commits

Author SHA1 Message Date
rusefillc b3d921d961 only:variable shadowing should be avoided #5676 2023-11-01 12:00:08 -04:00
Andrey 45636fd90a only:C++ 2023-10-06 11:09:30 -04:00
Andrey ebf749f746 EG33 and C++ 2023-10-06 10:22:24 -04:00
Andrey 506b03122d only: C++ 2023-10-05 22:10:10 -04:00
Andrey ba66fdcf82 reducing code duplication around assert 2023-09-05 21:28:39 -04:00
rusefi 1d64003dd6 only:WrapAround62 goes to libfirmware 2023-08-30 23:47:26 -04:00
rusefi 78e48d3718 only:timer.h goes to libfirmware! 2023-08-30 23:11:24 -04:00
rusefi 325046f15d only:rusefi_time_types.h 2023-08-30 21:35:30 -04:00
Andreika 46ded5cbcb
Move cyclic_buffer.h and fifo_buffer.h to libfirmware (#5544)
* Move cyclic_buffer.h and fifo_buffer.h to libfirmware

* move cyclic_buffer.h and fifo_buffer.h to containers dir
2023-08-26 15:59:45 -04:00
rusefi e8c45a2e7d refactoring: reducing code duplication. Also, do we even care for critical error codes?! 2023-08-20 22:23:44 -04:00
rusefillc 9f4647a99f CLI encapsulation preparing for libfirmware move 2023-08-08 23:53:59 -04:00
rusefillc b21455e178 CLI encapsulation preparing for libfirmware move 2023-08-08 23:02:20 -04:00
rusefillc c4eb8fc9f8 CLI encapsulation preparing for libfirmware move 2023-08-08 22:58:17 -04:00
rusefillc 5fe7e7ca54 CLI encapsulation preparing for libfirmware move 2023-08-08 22:22:04 -04:00
rusefillc 850b2631d8 CLI encapsulation preparing for libfirmware move 2023-08-08 18:58:16 -04:00
rusefillc 77135739d5 encapsulation 2023-08-08 07:23:50 -04:00
rusefillc bf59660e37 encapsulation 2023-08-08 06:59:00 -04:00
rusefillc 364fc3915d encapsulation 2023-08-08 06:03:56 -04:00
rusefillc 12e0473e19 encapsulation 2023-08-08 05:30:53 -04:00
rusefillc 7cc8099584 encapsulation 2023-08-08 05:28:07 -04:00
rusefillc 03a714055f
bench test delay parameter is not useful (#5491)
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
2023-08-05 14:32:24 -04:00
Matthew Kennedy 5644312cbe we play a little fast and loose with Timer, ensure it gets no vtable 2023-07-26 07:45:14 -04:00
mi-hol 27ff399e2d fix apparent CopyPaste error assigning OBD fault 2023-07-17 08:08:29 -04:00
rusefillc f57c4375dd only:honda checksum comment 2023-07-07 23:46:31 -04:00
Matthew Kennedy 25c4d4886b sprinkle in some constexpr 2023-07-02 23:27:32 -04:00
rusefillc c20963d302 proteus F7 hard fault on "enable self stimulation" #5354
i feel lucky so I make random changes
2023-06-25 02:21:38 -04:00
rusefillc bc2a2b9ab9 only:better method name 2023-06-25 02:08:53 -04:00
Andrey a63265bffb only:more timer API 2023-06-15 17:30:55 -04:00
rusefi 426bc8720e console "spark 1" bench hands up proteus #5320
i feel lucky!
2023-06-11 23:23:17 -04:00
rusefi f77f356e6d reducing code duplication 2023-06-11 23:17:13 -04:00
rusefi 731fd89ef7 reducing magic constant 2023-06-11 23:13:36 -04:00
rusefillc 6ceae089c1 docs 2023-06-06 19:26:31 -04:00
Mingjie Shen 495f0ea8c4 Fix invoking virtual functions from constructors
Virtual functions should not be invoked from a constructor or destructor
of the same class. Confusingly, virtual functions are resolved
statically (not dynamically) in constructors and destructors for the
same class. The call should be made explicitly static by qualifying it
using the scope resolution operator.
2023-05-24 15:27:09 -04:00
rusefillc 2f19ca94a8 https://github.com/rusefi/fw-AT-START-F435/issues/1
UNUSED flexibility
2023-05-23 23:38:02 -04:00
Matthew Kennedy 9fff7998f7 extra define
(cherry picked from commit 83dc73f0d44fa1bcbda4b4c97f15bec50c120863)
2023-04-29 07:07:28 -04:00
Matthew Kennedy 4935cf5fb3 more dead stuff
(cherry picked from commit b9d065ae4e867e65d2ab9049961a4044d967013d)
2023-04-29 05:15:34 -04:00
Andrey 51d0f6e347 it's going to be painful 2023-04-29 00:44:00 -04:00
Matthew Kennedy 61e5b4b1ad change ObdCode to enum class builds firmware 2023-04-29 00:44:00 -04:00
rusefi 4add0450e3 kine: read packets as packets #5171
i need a vacation or else
only:hellen-honda-k
2023-03-10 23:02:01 -05:00
Matthew Kennedy dc6f53bda5
extract newton's method implementation (#5157)
* move expected, update libfirmware

* hellen ID solver uses shared Newton's method

* comment shouldn't have been moved
2023-03-07 08:45:17 -05:00
Andrey e9da0eeed2 K
only:mre_f4
2023-03-04 16:00:50 -05:00
Andrey ca850a8437 only:mre_f4 2023-03-01 17:20:22 -05:00
Matthew Kennedy 6e89e71d0a
more flexible GPPWM (#5032)
* gppwm improvements!

* test

* ui

* autoscale
2023-02-06 08:53:31 -04:00
rusefillc 40738fad12 smarter template 2022-12-13 16:47:35 -05:00
Matthew Kennedy 9f76dc4c6b
Use a shared buffer for "high memory" operations (#4878)
* big buffer

* mostly hooked up big buffer

* bad merge

* s

* sneak preview of trigger scope

* s

* constness

* channel limits

* s

* unnecessary

* efilib

* TcpServerSandbox

* includes fix

* binary format
2022-12-10 07:35:39 -05:00
Matthew Kennedy 614dc2f260
Strictly validate stack use in hardware CI (#4880)
* firmware error in case of low stack only on HW CI

* send date

* I don't java good

* I still don't java good

* send the right command

* I guess we can check it on every single test?

* javaaaaaa

* atoi breaks on later non-digit

* avoid sscanf use (for atoi)

to avoid bloating the stack

* less churn

* less churn

Co-authored-by: Nathan Schulte <nmschulte@desmas.net>
2022-12-08 13:20:55 -05:00
rusefillc 3606580178 error=parentheses 2022-12-03 01:12:31 -05:00
rusefillc 5e62595d69 reduce flash footprint by smarter code generation #4163 2022-12-03 00:51:41 -05:00
Andrey 3070e1b3c8 ETB duty cycle jitter #4833 2022-11-29 14:59:08 -05:00
Andrey 5b88c6b535 exp average is pretty cool 2022-11-28 19:22:45 -05:00
rusefillc 9321aae600 ETB duty cycle jitter #4833 2022-11-27 18:13:10 -05:00
Matthew Kennedy 8ea5969607
fix warnings (#4840)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 10:11:14 -05:00
rusefillc 926168a0d4 docs 2022-11-27 00:08:34 -05:00
rusefillc c8fa9a1ead reducing confusion 2022-11-25 18:59:43 -05:00
Nathan Schulte fd1115d01a
code style, GPS fixes (test, firmware) (#4822)
* tidy NMEA

* const in nmea

* correct gps test output

* fix GPS UART print statements

* cleanup feature toggles in settings

* fix comment typos, misc whitespace
2022-11-23 07:01:34 -04:00
Andrey 4a26b0973d A gem of dead code 2022-11-05 21:57:26 -04:00
Andrey c6e34be447 A gem of dead code 2022-11-05 21:53:38 -04:00
rusefillc f9fa729d8d less horrible constant name 2022-10-27 22:17:50 -04:00
rusefillc fe9b50e4b7 random progress 2022-10-27 21:32:23 -04:00
rusefillc ac08ffbdc4 GM SENT ETB bench test in NJ #4688 2022-10-26 10:37:35 -04:00
Andrey G 68e007caa3
loggingcentral: hotfix (#4654) 2022-10-10 19:12:04 -04:00
Andrey G b5ebb7d00e
Logging asserts (#4652)
* logingcentral: check final string for prohibited chars

Invalid char can come from arguments, not only format string so
scan final buffer.

* logingcentral: comment say '\r' is also not allowed

* logingcentral: just replace all non-printable chars with space

Do not assert

* loging: remove strlen()
2022-10-10 17:14:44 -04:00
Matthew Kennedy a9cc3223dc
plumbing for 4513 (#4599)
* plumbing for 4513

* not static
2022-09-20 06:19:51 -04:00
rusefillc 50cef9a201 tear down Engine god object #4511 2022-09-15 22:12:49 -04:00
rusefillc 52f52376de tear down Engine god object #4511 2022-09-15 21:55:15 -04:00
rusefillc 9e7f36a5ca tear down Engine god object #4511 2022-09-15 21:28:27 -04:00
Andrey G a269287b70
Os util update (#4574)
* chVTSetAny: "this could be simplified"

* os_utils: use Chibi's CriticalSectionLocker
2022-09-13 17:57:13 -04:00
Andrey G 55c1f53c75
dead code, reduce typedefs (#4566)
* Do lightweight checks first

* Dead getTimeIgnitionSeconds()

Dead since 81fffe87b7

* Get rid of efitime_t.

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

* Fix unit tests

* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -04:00
Andrey G 8069506135
EFI_PROD_CODE guard around port_mpu_util.h include (#4564) 2022-09-11 13:42:07 -04:00
Andrey G 91d4844e38
time routines refactor (#4563)
* Extract time helpers from engine_controller_misc to efitime.cpp

* Rename currentTimeMillis() to getTimeNowMs()

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

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

* Rename getTimeNowSeconds() to getTimeNowS()

To align with Nt, Us, Ms versions.

* Some comments about getTimeNowLowerNt()
2022-09-11 13:06:03 -04:00
Andrey ab4b451195 os_access.h dead? 2022-09-07 15:56:45 -04:00
Andrey b756456450 tear down Engine god object #4511
just trying different things
2022-09-05 04:00:24 -04:00
Andrey 0253575c79 tear down Engine god object #4511
just trying different things
2022-09-05 03:07:03 -04:00
Andrey a0b52eeb2f different file names for different entities 2022-09-04 23:11:19 -04:00
Andrey 1da080c529 reducing warnings 2022-09-01 21:04:52 -04:00
Andrey fcd0636a01 tear down Engine god object #4511
just trying different things
2022-09-01 19:00:16 -04:00
Andrey b89217b596 reducing confusion between library header and rusefi main repo header 2022-09-01 11:35:35 -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 db8a965288 unconditional VVT PID logging 2022-08-17 00:47:31 -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 b99d90b006
Start -> start (#4366) 2022-07-21 15:17:32 -04:00
Matthew Kennedy 2b2eb04aba
libfirmware gets efi::size (#4354) 2022-07-18 01:56:58 -04:00
Matthew Kennedy acf18c7072
move math (#4353) 2022-07-17 00:16:22 -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 5db378970d PID logging: p term #4337 2022-07-08 10:31:34 -04:00
rusefillc 668a57353a PID logging: p term #4337 2022-07-08 09:49:58 -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 5607baefa2
Iss debug (#4290)
* one call only

* oops am idiot

Co-authored-by: David Holdeman <dave@holdemanenterprises.com>
2022-06-27 22:29:34 -04:00
rusefillc 4fa1f4071a borrowing from David 2022-06-26 20:19:54 -04:00
rusefillc 149f6ea110
ChibiOS 20.3.5 (#4285)
* ChibiOS 20.3.5

* chibios bump

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-06-25 12:43:28 -04:00
rusefi dd22cc520f looks like some lines are longer than 128 2022-05-19 22:55:03 -04:00
rusefillc d5e131b1d0 m_hasSynchronizedSymmetrical handling improvements #4099
API progress
2022-05-09 04:04:38 -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
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 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
Matthew Kennedy bc6a87cadc
allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -04:00
rusefillc d2205a7fd6 Set sensible default for dwell by voltage multiplier table fix #4067 2022-04-13 15:21:44 -04:00
rusefillc b776003989 do not control VVT during cranking fix #3443 2022-04-10 19:22:39 -04:00
Matthew Kennedy f1742c44ff
output channel tweaks (#4023)
* shuffle around output channels

* postState should take a ref

* s

* s

* patch input file

* limits

* accel bad bounds check

* units

* units

* Revert "accel bad bounds check"

This reverts commit b2bb493be331d5d2cf40b9ed01363a53182c883e.

* missed an autoscale
2022-03-24 08:58:55 -04:00
Matthew Kennedy 7d657106d7
warning cleanup (#4020) 2022-03-22 16:53:24 -04:00