Commit Graph

55 Commits

Author SHA1 Message Date
tx_haggis b03db96ad7
Save 600+ bytes RAM (step 4 of 9) - deduplicate scheduler ISR functions (#1063) 2023-10-07 08:25:26 +11:00
Josh Stewart fc536d15f0 Rename all ino files to cpp (Excluding speeduino.ino).
Confirmed this compiles OK in Arduino IDE 2.x
Frees up 8 bytes of RAM
2023-10-06 18:10:20 +11:00
tx_haggis 977ffa3119
MISRA: clean up logger header (#1108)
* Move log header definitions inside sd_logger.ino
It's the only place they are used.

* Convert to CPP - fixes build error

* Encapsulate fsIntIndex

* MISRA fixes

* Convert logger.ino -> cpp

* Conditonal compile - reclaim memory
2023-10-06 15:07:12 +11:00
Josh Stewart d13c7d0ab5 Ensure already scheduled events are stopped when rolling cut goes active 2023-08-22 14:38:17 +10:00
Josh Stewart 1502b6ff88
Dwell error correction (#1049)
* Initial work on dwell error correction

* Fix error message in TS

* Add averaging to schedules 5-8

* Cleanup warning

* Final cleanup and comments
2023-05-22 13:37:40 +10:00
Josh Stewart 76dd7dc1bf Cleanup warnings on non-AVR architectures (scheduler interrupts were not static) 2023-04-24 15:33:02 +10:00
Josh Stewart 2fc29ceef5 MISRA cleanup rule: misra-c2012-8.2 2022-11-06 09:43:29 +11:00
Daniel Tobias 540b3a4fa2
Correct typos found by codespell (#880) 2022-06-27 10:39:14 +10:00
Daniel Tobias 7020705dbe
fix typos in code documentation (#816)
* fix typos in code documentation

* minor reverts

* fix typos in ini

Co-authored-by: Josh Stewart <josh@noisymime.org>
2022-04-11 10:49:58 +10:00
DeionSi eafd4030d1
Add SET_COMPARE; Change some types to COMPARE_TYPE (#691) 2021-11-12 15:11:42 +11:00
tx_haggis 6344fdc76f
Use -fshort-enums instead of packing individual enums (#692) 2021-10-23 09:04:31 +11:00
tx_haggis b8c4ec3e61
Use packed enums to save a few bytes of RAM (#667) 2021-10-04 08:27:02 +11:00
Olli Hollmen 61b1401b49
Add doxygen documentation (#597)
* Add Doxygen markup for grouping decoders. Tidy-up doucumentation just enough to make
Doxygen 'Modules' page neat / somewhat consistent (w/o stripping any info, on the contrary
some info is now added for few decoders that had only name present).
Add minimally modified Doxygen Doxyfile configuration.

* Document statuses and config* structure members in globals.h:
- Convert existing documentation to doxygen
- Document some of the undocumented members cross-referencing code files
  where they are used (often containing good explanations in code comments) or
  deriving meaning from code (leave question mark as marker of uncertainty
  or need for clarification)
- Same activity in misc .h header files w. struct declarations.
Misc .ino files with code:
- Convert existing code documentation to doxygen
- Add documentation to undocumented functions (deriving idea from raw code and
  code embedded comments)
- Some additions to existing documentation.
End sentences with period, as it has many iportant meanings for Doxygen
e.g. auto-brief ends at first-sentence period and in (doxygen generated)
HTML ascii newline does not break lines (or sentences).
Doxyfile: Add README.md file as INPUT from upper (codebase root) directory.
2021-06-22 15:30:52 +10:00
Tjeerd 5c5ecbbcea
Fix building stm32 f401 (#489)
* fix building for STM32F401CC and general macro cleanup

* Now building for all generic STM32F4x7 boards in arduino IDE is ok.

* buildflag cleanup

Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
2020-12-08 00:43:01 +11:00
Josh Stewart bf8d9558fe Minor changes to the injector priming routine 2020-07-06 22:17:56 +10:00
Vitor Moreno B. Sales 7bcf4bcb15
[FP] Add injector delay for priming (#391)
* [FP] Add injector delay for priming

* Fix build

* Add the startup TPS read back in to ensure proper flood clear check

Co-authored-by: Josh Stewart <josh@noisymime.org>
2020-07-05 14:28:57 +10:00
Josh Stewart 33dc5e58dd Add unit tests for pulse width calculation 2020-04-23 16:20:09 +10:00
Josh Stewart 21412e74a1 Provide missing externs from last commit to allow unit testing 2020-04-02 09:54:43 +11:00
iLeeeZi 8722065168
6 and 8 cylinder sequential injection (#280)
* 6 cyl sequential related cleanup

* disable 6cyl seq fuel trim tables for now

* add the over 2 squirts fix

* Add 5 and 6 cylinder semi and full sequential

* 5 cylinder changes

* fix priming pulse when using paired or semi-sequential injection

* add 5 cyl special case back

* Add missing 8 cyl stuff

* add missing PW8

* allow to change inj4Ang with non sequential 5 cylinder

* add missing helptext
2020-04-01 17:03:11 +11:00
Bruno Bousquet 76319fdf22
Separate one schedule unit test per function (#315)
* one test per function

* add tests

* use initialiseSchedulers in tests

* remove generic tests for schedules

* fix schedule accuracy tests

* fix warning static function never defined

* fix test_schedule not working
2020-02-04 09:19:42 +11:00
Bruno Bousquet 68f2288dd7
add schedule test (#312)
add temp test file to gitignore


improve schedule testing


add check for schedule delays and pending variants

move time sampling to callback methods

add comments and improve pending tests
2020-01-30 16:17:20 +11:00
Josh Stewart 386720918e Remove the special handling for fuel5 schedule 2019-11-12 17:10:32 +11:00
Josh Stewart e449f319c2 RAM cleanup of the schedule structs 2019-11-12 15:04:36 +11:00
Bruno Bousquet f1521b65d8 Fix MISRA violations (#268)
* improve misra checking

* fix 1600 misra violations

* fix mistyped pointer

* misra script was not filtering duplicates
2019-10-22 11:49:07 +10:00
Josh Stewart 4357b1b4cf Clean compile on Teensy 4 2019-08-21 15:15:19 +10:00
Josh Stewart c7063eb268 Minor RAM cleanup 2019-04-22 00:23:44 +10:00
Josh Stewart 430032d3ab Bring in stm32f407 official core support within platformio 2019-03-07 22:47:22 +11:00
Josh Stewart e24d32e111 Move a whole bunch of stuff in to the new moduler, board specific files 2019-01-20 16:57:16 +13:00
Josh Stewart 207b389b41 Move all Teensy 3.5 headers to dedicated board file 2019-01-18 21:15:27 +11:00
Josh Stewart 2b321a9164 Minor memory cleanup 2018-10-05 20:27:46 +10:00
Josh Stewart b555392636 Minor cleanups to missing tooth per tooth calc 2018-09-04 17:07:21 +10:00
Josh Stewart 189234015f Huge amount of optimsation work on new ignition system 2018-08-14 12:46:39 +10:00
Josh Stewart 0dee4ab7f2 Still more warnings cleanup 2018-07-22 00:17:08 +10:00
Josh Stewart 6258fd1556 Correct schedule function definitions to match actual functions 2018-06-06 12:15:07 +10:00
Josh Stewart 7353782399 Correct some of the extra fuel enable/disable macros 2018-03-20 23:58:17 +11:00
Vitor Moreno B. Sales 4a532a7a80
Merge pull request #19 from noisymime/master
Bunch more work on dynamic ignition assignment
2018-03-18 02:57:54 -03:00
Josh Stewart 7f0ba43d51 Bunch more work on dynamic ignition assignment 2018-03-18 10:37:31 +11:00
VitorBoss 8a636e407f Update Timers and limited BluePill to 4 Inj/Ign 2018-02-16 20:44:12 -02:00
Josh Stewart dfa48ed250 Fix for rare overflow issue that could cause an incorrect pulse width at very low RPM (<200rpm) 2018-02-05 09:39:46 +11:00
Josh Stewart 33b85f3b9d Cleanup a bunch of errors and warnings for stm32 2018-01-27 22:14:11 +11:00
Josh Stewart 9dfc8e0429 8 channel dynamic work to allow stm32 and teensy to compile 2018-01-24 16:23:15 +11:00
Josh Stewart 80a77d4c4a More work on the dynamic channel usage 2018-01-23 16:14:03 +11:00
Josh Stewart c3173296f5 Some initial ground work for the dynamic inj/ign assignment 2018-01-22 12:21:33 +11:00
Josh Stewart 298ad3f1b4 Fix for fuel interrupt clashes 2017-12-05 09:15:17 +11:00
Josh Stewart 763f434a57 Addition of experimental ignition schedule refreshing (Not enabled yet) 2017-10-24 23:31:42 +11:00
Josh Stewart 53b039a3df Add check on the fuel schedules to prevent overflow below 58rpm 2017-10-19 17:02:43 +11:00
VitorBoss 9f64ba2b6c idle, boost and vvt PWM added 2017-08-04 00:13:32 -03:00
VitorBoss 6d3439060d Added possibility to use another library for STM32 2017-08-02 23:29:05 -03:00
Vitor Moreno B. Sales d9f38f82de Fixing last comit 2017-08-02 22:51:07 -03:00
Vitor Moreno B. Sales fc577c9a59 Updated STM work 2017-04-21 11:30:13 -03:00