* STM32 jump to DFU
This enable jumping to hardware bootloader with software command.
Based on @iLeeeZi previous work.
Co-Authored-By: iLeeeZi <3372213+iLeeeZi@users.noreply.github.com>
Co-Authored-By: Pasi Kemppainen <48950874+pazi88@users.noreply.github.com>
* lowercase functions fixes
Co-authored-by: iLeeeZi <3372213+iLeeeZi@users.noreply.github.com>
Co-authored-by: Pasi Kemppainen <48950874+pazi88@users.noreply.github.com>
* Added pinIsReserved macro
Function used to don't initialize reserved pins such as USB on ARM boards, each pin must be defined on board.h file
* Update board_teensy35.h
Include Serial and CAN0 pins
* Squashed commit of the following:
commit c73f316fa5bf8c929a8fef5736f4a40045ea992f
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Wed Nov 25 21:53:45 2020 +0100
cleanup and fix merge issues
commit 57f1e8c6c73bcfb699b18ac51a2ec646be822f55
Merge: 04478ca 131673d
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Wed Nov 25 18:59:58 2020 +0100
Merge branch 'Closedloop_idle_improvements' into ClosedLoopIdleImprovement
commit 131673dc60417cbc773b0763d2f93e917c83325f
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Sun Nov 22 21:54:03 2020 +0100
more fiddeling with idle control
commit e4406166cde91552027a0dfb7958d6894098f066
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Sun Nov 22 20:36:24 2020 +0100
More fiddeling with idle control
commit 45822003d41e021e3ed93e8e14ce05479ddfd17b
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Sat Nov 21 14:59:32 2020 +0100
fix initial value
commit ff8fadae7844bd8e5934ee0f311fbf5e0842ec29
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Thu Nov 19 23:14:14 2020 +0100
add TPS limit to prevent integeral windup.
commit 7683b2e65569787b1c94eae6f4847cdadd394402
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Thu Nov 19 22:40:53 2020 +0100
cleanup idle.h
commit da55ee9dbd76d65608bfb5b950bc948a498b9599
Author: Tjeerd <tjeerdie@users.noreply.github.com>
Date: Thu Nov 19 22:36:18 2020 +0100
Further improvement simplifying code for closedloop PID control with feedforward.
make PWM output work
Tinkering new Idle control
working on closedloop idle
Initial work on improving closed loop Idle control
* reset platformio.ini
Co-authored-by: Tjeerd <tjeerdie@users.noreply.github.com>
Implement functionality to allow a defined output pin to toggle (normal or inverted) based on the idle up input pin.
Co-authored-by: Josh Stewart <josh@noisymime.org>
changed the numbers for the secondDataInBits. This fixed issue #464 where the second condition for rule number 1 was being used to evaluate rule number 2 of the programmable outputs.
* Add config error indicator
* Fixes and naming change
* Fixes
* Change to fix conflicting error bit flag in init
* Updating IO flag setting
Co-authored-by: Pasi Kemppainen <pazi88@users.noreply.github.com>
Co-authored-by: Josh Stewart <josh@noisymime.org>
* Programmable outputs
* Prevent array overflow
* Show fullStatus variables names on dialog
* Further fixes
* Update with master
Co-authored-by: Josh Stewart <josh@noisymime.org>
* Iac automatic resolution
Fix idle stepper, work direct with values < 255 and keep existing mode
* Fixed Hysteresis for stepper
0 value bug the counter.
* Fix value
Changed value to 255.
* Ensure no overflow on iacMaxSteps
Co-authored-by: Josh Stewart <josh@noisymime.org>
* Half sync indicator for 3 different trigger patterns.
Added half sync indicator which shows that there is only primary trigger present for missing tooth, dual wheel and miata 9905 trigger patterns
* missing tooth required some adjusting
* forgot to remove stm32 pin mapping. I have it in other PR
* Leave only for missing tooth
Co-authored-by: Pasi Kemppainen <pazi88@users.noreply.github.com>
Co-authored-by: Josh Stewart <josh@noisymime.org>
* fix to serial0 and serial3 when offset is 0 uses wrong command
* fix to serial0 and serial3 when offset is 0 uses wrong command
* fix hex num
* add teensy canbus library
teensy can read and write functions enabled
* update to teensyduino 1.49
* part 1 prepare structure for obd can port works
rename old can_command() to secondarySerial_command() for secondary serial and create new can_command for real CAN instruction decode.
fix masking for teensy 3x and 4
* set mega as default build
* last part of main obd2 canbus for teensy MCU
* tested obd2 for teensy3.5
* Only init CAN on Teensy with 3.5. Otherwise this will lockup on 4.1
Co-authored-by: Josh Stewart <josh@noisymime.org>
* [VVT] PID work
Tested on a half moon CAM pattern as working, it should work on others too.
Added option to reverse the PWM output
Co-Authored-By: pazi88 <48950874+pazi88@users.noreply.github.com>
* Fix typo
Co-Authored-By: diy-efi <diy-efi@users.noreply.github.com>
* Add second VVT pwm on same timer
All precious VVT variables was renamed to VVT1 and added VVT2 stuff.
Tested with logic analyzer.
* Define VVT2 for other boards
Added vvt2Pin
* Just update on first tooth
Co-authored-by: pazi88 <48950874+pazi88@users.noreply.github.com>
Co-authored-by: diy-efi <diy-efi@users.noreply.github.com>
* [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>
Changed aseTsnDelay name to aseTaperTime
Added a default aseTaperTime to 0.1S
aseTsnStart isn't needed, removed
Added IAC_STEP_OL taper, big thanks to Ryan
Default dfcoMinCLT is 0C, added calibration offset and increased it to 40C as described on updates.ino
Changed bitRead to BIT_CHECK
Fix dfcoStart wasn't been reseted if conditions was droped before elapsed time causing next DFCO activation right away
Few cosmetical changes on ini
Update commits counter
Parameters are 0.03125% for kP and kI, 0.00981% for kD. Increased output 4 times to give enought room for kP.
PID now ignore compute if input is zero to avoid overshoot, kI and kD part as well.
Added idlePID.Initialize() to crank part to start PID from a working condition.
Show idleLoad when cranking.
Fix TS numbers, increase max value
Co-authored-by: Josh Stewart <josh@noisymime.org>
* Cranking enrichment tapering to ASE (or run)
* Precision fix and better helptext
* Fixed calculation and added comments
* Small fix for the taper final values
* Styling
* runSecsX10 is now uint32_t, so modify accordingly
* Changed the soft limit from absolute value to retard by
* Added selection for fixed and relative retard
Co-authored-by: Pasi Kemppainen <pazi88@users.noreply.github.com>
* New README format
* Update README.md
* STM32F407 fixes (#338)
* Correct overflow for 32bit timers
* fix pins PA0-PA5 on some f407 boards
* Enable access to SRAM Backup domain at boot
* Add missing callback functions
* Change timer resolutions. Corrects idle/aux timer frequencies
* 32 bit overflow only for STM32F4
* Check and update ignition count target before checking other conditions to avoid peramently disabling ego correction in case ignition count rolls over while ego correction is disabled. (#344)
Co-authored-by: bera-n <notrevealedbera-n@gmail.com>
Fixes#343
* Setup memory for vss
* Update all dialog help links to the new wiki
* [DFCO] Add a minimum coolant (#353)
* [DFCO] Add a minimum coolant
On pure ethanol or E85 the engine need a lot fuel to return from DFCO when cold.
Add a minimum temp
Fixes copy-paste error
Fix sign error
* Add signed cast on the calibration offset
Co-authored-by: Josh Stewart <josh@noisymime.org>
* AE cold temp correction
Added possibility to increase AE amount on cold engine. Max cold modifier is tapered with clt.
* Added help texts and value limitation in speeduino.ini and overflow prevention in corrections.ino
* Terminology patch
* Unsigned long in calculation isn't really needed as AE max setting is 255 (+100). Changed to uint16_t.
* Comment revision for the previous
* Updated function description
* Fixes to make correction equal in MAP and TPS modes
* AE cold temp correction
Added possibility to increase AE amount on cold engine. Max cold modifier is tapered with clt.
* Added help texts and value limitation in speeduino.ini and overflow prevention in corrections.ino
* Terminology patch
* Unsigned long in calculation isn't really needed as AE max setting is 255 (+100). Changed to uint16_t.
* Comment revision for the previous
* Updated function description
* Fixes to make correction equal in MAP and TPS modes
Co-authored-by: Josh Stewart <josh@noisymime.org>
Co-authored-by: iLeeeZi <ilari.vehniainen@hotmail.fi>
Co-authored-by: bera-n <bjorn.nyhlen@gmail.com>
Co-authored-by: Vitor Moreno B. Sales <vitor_boss@yahoo.com.br>
* [DFCO] Include a delay
* [DFCO] Fix - delay isn't working if conditions aren't met immidiatly
Co-Authored-By: muuris <55035659+muuris@users.noreply.github.com>
Co-authored-by: Josh Stewart <josh@noisymime.org>
Co-authored-by: muuris <55035659+muuris@users.noreply.github.com>
It's already with this higher resolution in TS, and tuning idle and low load area with big injectors really require more than just one decimal precision.
* [DFCO] Add a minimum coolant
On pure ethanol or E85 the engine need a lot fuel to return from DFCO when cold.
Add a minimum temp
Fixes copy-paste error
Fix sign error
* Add signed cast on the calibration offset
Co-authored-by: Josh Stewart <josh@noisymime.org>