automated md lint fixes
This commit is contained in:
parent
b7a57b8d05
commit
948fad34c0
|
@ -13,8 +13,6 @@
|
|||
|
||||
![x](OEM-Docs/Mitsubishi/1995-3000gt-starting-without-theft.png)
|
||||
|
||||
|
||||
# Starting with Theft
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/1995-3000gt-starting-with-theft.png)
|
||||
|
||||
|
|
|
@ -5,4 +5,3 @@ M104 wasted spark
|
|||
![x](OEM-Docs/Mercedes/1997-e320-2.png)
|
||||
|
||||
![x](OEM-Docs/Mercedes/1997-e320-3.png)
|
||||
|
||||
|
|
16
1999-e320.md
16
1999-e320.md
|
@ -1,6 +1,6 @@
|
|||
![x](OEM-Docs/Mercedes/mercedes_170.png)
|
||||
|
||||
[Mercedes-Benz M112 Engine - Wikipedia]](https://en.wikipedia.org/wiki/Mercedes-Benz_M112_engine)
|
||||
[Mercedes-Benz M112 Engine - Wikipedia]](<https://en.wikipedia.org/wiki/Mercedes-Benz_M112_engine>)
|
||||
|
||||
# 99 E320
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
|||
| A7 | BRN | Ground |
|
||||
| A8 | BRN | Ground |
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| B1 | | |
|
||||
|
@ -26,7 +25,6 @@
|
|||
| D8 | | |
|
||||
| D8 | | |
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| E1 | GRY\RED | INJECTOR NUMBER 2 |
|
||||
|
@ -36,12 +34,6 @@
|
|||
| E25 | GRY\BLK | INJECTOR NUMBER 1 |
|
||||
| E26 | GRY\BLU | INJECTOR NUMBER 4 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| F4 | VLO | COIL5.1 |
|
||||
|
@ -57,12 +49,6 @@
|
|||
| F20 | BLK\WHT | COIL1.3 |
|
||||
| F21 | BLK | COIL1.1 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
![x](OEM-Docs/Mercedes/99_e320_1.png)
|
||||
|
||||
![x](OEM-Docs/Mercedes/99_e320_2.png)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
![x](OEM-Docs/Mercedes/mercedes_170.png)
|
||||
|
||||
[Mercedes-Benz M113 Engine - Wikipedia]](https://en.wikipedia.org/wiki/Mercedes-Benz_M113_engine)
|
||||
[Mercedes-Benz M113 Engine - Wikipedia]](<https://en.wikipedia.org/wiki/Mercedes-Benz_M113_engine>)
|
||||
|
||||
# 99 E430
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
![x](OEM-Docs/Mercedes/mercedes_170.png)
|
||||
|
||||
[Mercedes-Benz M113 Engine - Wikipedia]](https://en.wikipedia.org/wiki/Mercedes-Benz_M113_engine)
|
||||
[Mercedes-Benz M113 Engine - Wikipedia]](<https://en.wikipedia.org/wiki/Mercedes-Benz_M113_engine>)
|
||||
|
||||
# 2000 S430
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| E1 | GRY/VIO | INJECTOR NUMBER 6 |
|
||||
|
@ -16,14 +15,12 @@
|
|||
| E25 | | INJECTOR NUMBER 1 |
|
||||
| E25 | | INJECTOR NUMBER 5 |
|
||||
|
||||
|
||||
![x](OEM-Docs/Mercedes/2000_s430_page_1.png)
|
||||
|
||||
![x](OEM-Docs/Mercedes/2000_s430_page_2.png)
|
||||
|
||||
![x](OEM-Docs/Mercedes/2000_s430_page_3.png)
|
||||
|
||||
|
||||
# 2000 S500
|
||||
|
||||
![x](OEM-Docs/Mercedes/2000_s500_page_1.png)
|
||||
|
|
|
@ -33,9 +33,6 @@
|
|||
| 118 | ? | H-bridge | ETB |
|
||||
| 121 | ? | 12v | +12v from main relay |
|
||||
|
||||
|
||||
|
||||
|
||||
![page1](OEM-Docs/VAG/2002_Passat/2002_passat_part1.png)
|
||||
![page2](OEM-Docs/VAG/2002_Passat/2002_passat_part2.png)
|
||||
![page3](OEM-Docs/VAG/2002_Passat/2002_passat_part3.png)
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
|
||||
[page-1](OEM-Docs/VAG/2004-cayenne-3.2-1.pdf)
|
||||
|
||||
[page-2](OEM-Docs/VAG/2004-cayenne-3.2-2.pdf)
|
||||
|
@ -7,4 +6,3 @@
|
|||
[page-3](OEM-Docs/VAG/2004-cayenne-3.2-3.pdf)
|
||||
|
||||
[page-4](OEM-Docs/VAG/2004-cayenne-3.2-4.pdf)
|
||||
|
||||
|
|
14
3000gt.md
14
3000gt.md
|
@ -2,7 +2,6 @@
|
|||
|
||||
[Pinout Spreadsheet](https://docs.google.com/spreadsheets/d/1ZlcC5cdCwjYoV-z49MNaa9zpLiu_ZYBIx5H-j0F6QpI)
|
||||
|
||||
|
||||
# 1994
|
||||
|
||||
DOHC Non-turbo California: 1994 to 1997
|
||||
|
@ -12,38 +11,47 @@ DOHC Non-turbo Federal: 1996 to 1997
|
|||
DOHC Turbo: 1994 to 1997
|
||||
|
||||
### 94-1
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-1.gif)
|
||||
|
||||
### 94-2
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-2.gif)
|
||||
|
||||
### 94-3
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-3.gif)
|
||||
|
||||
### 94-4
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-4.gif)
|
||||
|
||||
### 94-5
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-5.gif)
|
||||
|
||||
### 94-6
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-6.gif)
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu94-6.gif)
|
||||
|
||||
# 1996-1997
|
||||
|
||||
### 96-1
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu_96-97_1.gif)
|
||||
|
||||
### 96-2
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu_96-97_2.gif)
|
||||
|
||||
### 96-3
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu_96-97_3.gif)
|
||||
|
||||
### 96-4
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu_96-97_4.gif)
|
||||
|
||||
### 96-5
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu_96-97_5.gif)
|
||||
|
||||
![x](OEM-Docs/Mitsubishi/3000gt/ecu_96-97_5.gif)
|
||||
|
|
3
ASIC.md
3
ASIC.md
|
@ -1,7 +1,6 @@
|
|||
|
||||
Overview of state of integration between rusEFI and all kinds of ASICs.
|
||||
|
||||
|
||||
# Low side+
|
||||
|
||||
### Mostly implemented
|
||||
|
@ -40,5 +39,3 @@ Overview of state of integration between rusEFI and all kinds of ASICs.
|
|||
| MAX31855 | EGT | Not used by anyone |
|
||||
| [MC33972](https://www.nxp.com/docs/en/data-sheet/MC33972.pdf) | Multiple switch detection interface | EG33 board |
|
||||
| | | | | |
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# Acura RSX
|
||||
|
||||
# 2003
|
||||
|
||||
[2003-acura-rsx-type-R.pdf](https://github.com/rusefi/rusefi_documentation/raw/master/OEM-Docs/Honda/2003-acura-rsx-type-R.pdf)
|
||||
|
||||
# 2005
|
||||
|
||||
|
||||
![x](OEM-Docs/Honda/2005-rsx-s-1.png)
|
||||
|
||||
![x](OEM-Docs/Honda/2005-rsx-s-2.png)
|
||||
|
@ -17,5 +17,3 @@
|
|||
![x](OEM-Docs/Honda/2005-rsx-s-5.png)
|
||||
|
||||
![x](OEM-Docs/Honda/2005-rsx-s-6.png)
|
||||
|
||||
|
||||
|
|
|
@ -9,4 +9,3 @@
|
|||
![x](OEM-Docs/Honda/2005-tsx-3.png)
|
||||
|
||||
![x](OEM-Docs/Honda/2005-tsx-4.png)
|
||||
|
||||
|
|
|
@ -3,27 +3,25 @@
|
|||
[ArsTechnica: DSC Sport’s active shocks in action](https://arstechnica.com/cars/2015/07/the-future-of-car-suspension-is-here-dsc-sports-active-shocks-in-action/)
|
||||
"Normally, a car's weight transfers from front to back as it brakes and accelerates, and from side to side as it corners. As the force on each corner changes, so does the grip available to that wheel; less weight equals less grip. Active shocks control this by varying the degree to which each spring's compresses and extends (as the springs are passive, these systems are sometimes known as semi-active)."
|
||||
|
||||
|
||||
[Active Suspension - Wikipedia]](http://en.wikipedia.org/wiki/Active_suspension)
|
||||
[Active Suspension - Wikipedia]](<http://en.wikipedia.org/wiki/Active_suspension>)
|
||||
|
||||
[Active Suspension banned](http://www.f1fanatic.co.uk/2007/05/17/banned-active-suspension/)
|
||||
|
||||
[Northstar Engine Series - Wikipedia]](http://en.wikipedia.org/wiki/Northstar_engine_series)
|
||||
[Northstar Engine Series - Wikipedia]](<http://en.wikipedia.org/wiki/Northstar_engine_series>)
|
||||
Road Sensing Suspension
|
||||
RSS
|
||||
CV-RSS continuously-variable CV-RSS
|
||||
|
||||
[Magneride Applications - Wikipedia]](https://en.wikipedia.org/wiki/MagneRide#Applications)
|
||||
[Magneride Applications - Wikipedia]](<https://en.wikipedia.org/wiki/MagneRide#Applications>)
|
||||
|
||||
[Toyota Active Control Suspension - Wikipedia]](https://en.wikipedia.org/wiki/Toyota_Active_Control_Suspension)
|
||||
[Toyota Active Control Suspension - Wikipedia]](<https://en.wikipedia.org/wiki/Toyota_Active_Control_Suspension>)
|
||||
|
||||
"yaw velocity sensors, vertical G sensors, height sensors, wheel speed sensors, longitudinal and lateral G sensors) that detected cornering, acceleration and braking forces"
|
||||
|
||||
Mercedes-Benz hydraulic fully active suspension: [Active Body Control - Wikipedia]](https://en.wikipedia.org/wiki/Active_Body_Control)
|
||||
Mercedes-Benz hydraulic fully active suspension: [Active Body Control - Wikipedia]](<https://en.wikipedia.org/wiki/Active_Body_Control>)
|
||||
W220: "Prior to September 2002, only higher end models" S600 2003 "ABC system which combined an hydraulic system and springs"
|
||||
Furthermore, at highway speeds the suspension computer automatically engages sport mode (Airmatic - Sport mode 1 or 2 depending on the current speed), thus aiding safety by significantly reducing body roll in sharp turns.
|
||||
|
||||
|
||||
[broken link](http://www.drifting.com/forums/tech-discussion-forum/6741-suspension-101-stiffer-is-better-text-by-tanabe-u-s-a.html)
|
||||
|
||||
[Article tells how CVRSS works](http://www.cadillacforums.com/forums/suspension-brakes-tires/175670-article-tells-how-cvrss-works.html)
|
||||
|
@ -53,7 +51,6 @@ yaw sensor
|
|||
|
||||
[How Magnets Make The Camaro ZL1 Dance Around A Race Track - Jalopnik](http://jalopnik.com/5932764/how-magnets-make-the-camaro-zl1-dance-around-a-race-track)
|
||||
|
||||
|
||||
[Car that can 'jump' potholes - Video](https://www.youtube.com/watch?v=DS9LjHSTofw)
|
||||
|
||||
shock connector adapter GM 19180262 [https://www.cadillacforums.com/forums/cadillac-escalade-ext-esv-forum-2007/1067118-how-delete-z95-front-rear-mrc.html](https://www.cadillacforums.com/forums/cadillac-escalade-ext-esv-forum-2007/1067118-how-delete-z95-front-rear-mrc.html)
|
||||
|
|
|
@ -12,7 +12,7 @@ However we are aware that there are many users that would still prefer to use th
|
|||
|
||||
# The detail
|
||||
|
||||
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) * intake_air_correction_curve_lookup(INTAKE_AIR_TEMP) * fuel_table_lookup(RPM, TPS)
|
||||
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) *intake_air_correction_curve_lookup(INTAKE_AIR_TEMP)* fuel_table_lookup(RPM, TPS)
|
||||
|
||||
Where TPS is the reading at the start of engine cycle
|
||||
|
||||
|
@ -22,5 +22,4 @@ The AlphaN system in rusEFI can be tuned in the same way as all other standalone
|
|||
|
||||
It is planned that a future update will modify this table to be a VE table in a similar way to several other aftermarket systems. This will be done for simplicity of use.
|
||||
|
||||
|
||||
[//]: # "OrchardPerformance"
|
|
@ -4,12 +4,10 @@
|
|||
|
||||
[Snapshot firmware bundle](https://rusefi.com/build_server/rusefi_bundle_alphax-2chan.zip)
|
||||
|
||||
|
||||
[Pinout](https://rusefi.com/docs/pinouts/hellen/alphax-2chan/)
|
||||
|
||||
[iBom rev C](https://rusefi.com/docs/ibom/alphax_2ch-c-ibom.html)
|
||||
|
||||
|
||||
[iBom rev B](https://rusefi.com/docs/ibom/alphax_2ch-b-ibom.html)
|
||||
|
||||
[Issue tracker & hardware files](https://github.com/rusefi/alphax-2chan)
|
||||
|
@ -22,33 +20,36 @@ On-board MPXH6400A
|
|||
|
||||
[See also AlphaX-4chan](AlphaX-4chan)
|
||||
|
||||
|
||||
## Q: how many injectors per channel?
|
||||
|
||||
A: VND14NV04TR-E 93mJ 18A. In terms of current and switching energy those could handle _many_ injectors per channel, maybe a dozen?
|
||||
|
||||
|
||||
## Changelog
|
||||
|
||||
rev E:
|
||||
December 2022
|
||||
- migrated to Hellen MegaModule 0.1
|
||||
|
||||
- migrated to Hellen MegaModule 0.1
|
||||
|
||||
rev D:
|
||||
September 2022
|
||||
- crank/cam test pads https://github.com/rusefi/alphax-2chan/issues/63
|
||||
- TSOP-10 TLS115 https://github.com/rusefi/alphax-2chan/issues/64
|
||||
|
||||
- crank/cam test pads <https://github.com/rusefi/alphax-2chan/issues/63>
|
||||
- TSOP-10 TLS115 <https://github.com/rusefi/alphax-2chan/issues/64>
|
||||
|
||||
rev C:
|
||||
- pull-down fixed https://github.com/rusefi/alphax-2chan/issues/40
|
||||
- affected by BOM issue p-channel mosfet https://github.com/rusefi/alphax-2chan/issues/53
|
||||
|
||||
- pull-down fixed <https://github.com/rusefi/alphax-2chan/issues/40>
|
||||
- affected by BOM issue p-channel mosfet <https://github.com/rusefi/alphax-2chan/issues/53>
|
||||
|
||||
rev B:
|
||||
- affected by BOM issue p-channel mosfet https://github.com/rusefi/alphax-2chan/issues/53
|
||||
* BT fixed
|
||||
|
||||
- affected by BOM issue p-channel mosfet <https://github.com/rusefi/alphax-2chan/issues/53>
|
||||
- BT fixed
|
||||
``
|
||||
bluetooth_jdy 115200 alphax 1234
|
||||
``
|
||||
|
||||
rev A:
|
||||
- affected by BOM issue p-channel mosfet https://github.com/rusefi/alphax-2chan/issues/53
|
||||
|
||||
- affected by BOM issue p-channel mosfet <https://github.com/rusefi/alphax-2chan/issues/53>
|
||||
|
|
|
@ -24,25 +24,27 @@
|
|||
* one channel knock input
|
||||
* Bluetooth
|
||||
|
||||
|
||||
![x](https://rusefi.com/forum/download/file.php?id=9345)
|
||||
|
||||
|
||||
## Changelog
|
||||
|
||||
rev D:
|
||||
- SD card added
|
||||
|
||||
* SD card added
|
||||
|
||||
rev C:
|
||||
- improved PCB shape
|
||||
- better thermal and overall simpler to solder
|
||||
- https://github.com/rusefi/alphax-4chan/issues?q=is%3Aissue+label%3AREV-C
|
||||
|
||||
* improved PCB shape
|
||||
* better thermal and overall simpler to solder
|
||||
* <https://github.com/rusefi/alphax-4chan/issues?q=is%3Aissue+label%3AREV-C>
|
||||
|
||||
rev B:
|
||||
- one channel knock input added
|
||||
- gerber defect under C461 https://github.com/rusefi/alphax-4chan/issues/20
|
||||
- BOM issue p-channel mosfet https://github.com/rusefi/alphax-4chan/issues/19
|
||||
|
||||
* one channel knock input added
|
||||
* gerber defect under C461 <https://github.com/rusefi/alphax-4chan/issues/20>
|
||||
* BOM issue p-channel mosfet <https://github.com/rusefi/alphax-4chan/issues/19>
|
||||
|
||||
rev A:
|
||||
- it works! https://youtu.be/egtDQsMDQqs
|
||||
- BOM issue p-channel mosfet https://github.com/rusefi/alphax-4chan/issues/19
|
||||
|
||||
* it works! <https://youtu.be/egtDQsMDQqs>
|
||||
* BOM issue p-channel mosfet <https://github.com/rusefi/alphax-4chan/issues/19>
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
[Issue tracker & hardware files](https://github.com/rusefi/alphax-8chan)
|
||||
|
||||
|
||||
|
||||
|
||||
* 8 HighZ injector channels
|
||||
* 8 logic level coil control
|
||||
* 4 H-bridges
|
||||
|
@ -14,7 +11,6 @@
|
|||
* Dual on-board WBO controller
|
||||
* Bluetooth
|
||||
|
||||
|
||||
## Parts
|
||||
|
||||
| | TE |
|
||||
|
@ -23,5 +19,3 @@
|
|||
|B Wire | [3-1437290-7](https://www.te.com/usa-en/product-3-1437290-7.html) |
|
||||
|C Wire |[4-1437290-1](https://www.te.com/usa-en/product-4-1437290-1.html) |
|
||||
|D Wire | [3-1437290-8](https://www.te.com/usa-en/product-3-1437290-8.html) |
|
||||
|
||||
|
||||
|
|
10
BMW-N73.md
10
BMW-N73.md
|
@ -50,7 +50,6 @@ R=2.1OHm
|
|||
|
||||
Ignition COP 12138657273 is shared with a lot of other BMW and Mini models.
|
||||
|
||||
|
||||
CAS 61326943828 51210030982
|
||||
CAS 61356972681
|
||||
CAS 61326922329
|
||||
|
@ -59,10 +58,11 @@ Programming keywords:
|
|||
ISTA ICON
|
||||
|
||||
# Starting
|
||||
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-starting.png)
|
||||
|
||||
|
||||
# Data Lines
|
||||
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-obd.png)
|
||||
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-data-buses-1.png)
|
||||
|
@ -70,7 +70,7 @@ ISTA ICON
|
|||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-data-buses-3.png)
|
||||
|
||||
# Anti Theft
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-anti-theft-1.png)
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-anti-theft-1.png)
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-anti-theft-1.png)
|
||||
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-anti-theft-1.png)
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-anti-theft-1.png)
|
||||
![x](OEM-Docs/Bmw/2003_7_Series_e65/2004-760-anti-theft-1.png)
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
# BMW-S1000RR
|
||||
|
||||
## Intro
|
||||
|
||||
The [BMW S1000RR Motorcycle](https://en.wikipedia.org/wiki/BMW_S1000RR#:~:text=BMW%20S1000RR%20is%20a%20race,engine%20redlined%20at%2014%2C200%20rpm.) was originally released in 2009. It is a 999cc four cylinder engine making 180-200hp depending on the model year. There have been a few changes over the years, but the general architecture remains the same.
|
||||
|
||||
## Overview
|
||||
|
||||
Model years vary in their engine configuration somewhat:
|
||||
|
||||
* 2009-2014 models used virtually the same engine, sensors, etc.
|
||||
* 2015-2018 had some minor engine updates, put out a little more power.
|
||||
* 2019 had entirely new engine that is more compact and has dual camshaft profiles that can be switched (similar to Honda VTEC).
|
||||
|
||||
2009-2018 Engine Configuration
|
||||
|
||||
* 999cc four cylinder engine with 4 valves per cylinder
|
||||
* 4x individual smart coil on plug ignition
|
||||
* 8x injectors with one set at the ports, one set in the airbox firing into the trumpets
|
||||
|
@ -28,4 +32,3 @@ Model years vary in their engine configuration somewhat:
|
|||
### Ignition Coils
|
||||
|
||||
### Quickshift Sensor
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#94 525
|
||||
# 94 525
|
||||
|
||||
![x](OEM-Docs/Bmw/1994_e34/94_525_1.png)
|
||||
|
||||
|
@ -17,5 +17,3 @@
|
|||
![x](OEM-Docs/Bmw/1994_e34/94_540_late_2.png)
|
||||
|
||||
![x](OEM-Docs/Bmw/1994_e34/94_540_late_3.png)
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#94 325
|
||||
# 94 325
|
||||
|
||||
![x](OEM-Docs/Bmw/1994_e36/94_325_1.png)
|
||||
|
||||
|
|
|
@ -8,5 +8,3 @@
|
|||
![x](OEM-Docs/Bmw/1996_750_e38/1996_bmw_750_page4.png)
|
||||
|
||||
![x](OEM-Docs/Bmw/1996_750_e38/1996_bmw_750_page5.png)
|
||||
|
||||
|
||||
|
|
|
@ -27,12 +27,11 @@ ECU#5
|
|||
![ecu5](OEM-Docs/Bmw/1998_750_e38/1998_bmw_750_ecu_page5.png)
|
||||
|
||||
# EML
|
||||
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/1998_bmw_750_etb_page1.png)
|
||||
|
||||
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/1998_bmw_750_etb_page2.png)
|
||||
|
||||
|
||||
# TCU
|
||||
|
||||
![x](OEM-Docs/Bmw/7_Series_e38/1998-750-tcu-1.png)
|
||||
|
@ -45,13 +44,10 @@ Shift Interlock
|
|||
Charging
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_charging.png)
|
||||
|
||||
|
||||
|
||||
Starter
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_starter_wiring.png)
|
||||
|
||||
Washer
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_wiper_washer.png)
|
||||
|
||||
|
||||
[Vin Registry](http://www.e38registry.org/e38-production-numbers/)
|
||||
|
|
|
@ -3,5 +3,3 @@
|
|||
* 61.35-8 378 631 "General Body Control"
|
||||
* 1 095 326 Acceleration Sensor Module: interesting, is this analog output or CAN?!
|
||||
* 0130002830 little cooling blower: only three wires? Is this engine control unit cooling system?!
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[BMW 7 Series (E38) - Wikipedia]](https://en.wikipedia.org/wiki/BMW_7_Series_(E38))
|
||||
[BMW 7 Series (E38) - Wikipedia]](<https://en.wikipedia.org/wiki/BMW_7_Series_(E38>))
|
||||
|
||||
# 2000 740
|
||||
|
||||
|
@ -8,7 +8,6 @@
|
|||
|
||||
![x](OEM-Docs/Bmw/7_Series_e38/2000_bmw_740_3.png)
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 4 | BRN | GND Ground |
|
||||
|
@ -18,7 +17,6 @@
|
|||
| 8 | RED/BLU | +12v Hot all times |
|
||||
| | | |
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 1 | BRN/YEL | |
|
||||
|
|
12
BMW-e39.md
12
BMW-e39.md
|
@ -1,6 +1,5 @@
|
|||
|
||||
|
||||
[BMW 5 Series (E39) - Wikipedia]](https://en.wikipedia.org/wiki/BMW_5_Series_(E39))
|
||||
[BMW 5 Series (E39) - Wikipedia]](<https://en.wikipedia.org/wiki/BMW_5_Series_(E39>))
|
||||
|
||||
# 1999 528
|
||||
|
||||
|
@ -10,7 +9,6 @@
|
|||
|
||||
![x](OEM-Docs/Bmw/e39/1999_bmw_528_3.png)
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 1 | GRN | Relay |
|
||||
|
@ -21,8 +19,6 @@
|
|||
| 8 | RED/BLU | +12v Hot all times |
|
||||
| | | |
|
||||
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 1 | YEL | |
|
||||
|
@ -30,10 +26,9 @@
|
|||
| | | |
|
||||
| | | |
|
||||
|
||||
|
||||
# 2001 540
|
||||
|
||||
[BMW M62 - Wikipedia]](https://en.wikipedia.org/wiki/BMW_M62)
|
||||
[BMW M62 - Wikipedia]](<https://en.wikipedia.org/wiki/BMW_M62>)
|
||||
|
||||
![x](OEM-Docs/Bmw/e39/2001_540_1.png)
|
||||
|
||||
|
@ -52,9 +47,6 @@
|
|||
| 8 | RED/BLU | +12v Hot all times |
|
||||
| | | |
|
||||
|
||||
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 5 | BRN | GND Ground |
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
![x](OEM-Docs/Bmw/3_Series_e46/2002_bmw_325_3.png)
|
||||
|
||||
# M3
|
||||
|
||||
## 2002 M3
|
||||
|
||||
![x](OEM-Docs/Bmw/3_Series_e46/2002_bmw_m3_ecu.png)
|
||||
|
@ -37,8 +38,6 @@
|
|||
|
||||
![x](OEM-Docs/Bmw/3_Series_e46/2004_330ci-ecu-3.png)
|
||||
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 5 | BRN | GND Ground |
|
||||
|
@ -46,7 +45,6 @@
|
|||
| 7 | RED | +12v Hot all times |
|
||||
| | | |
|
||||
|
||||
|
||||
# Trunk
|
||||
|
||||
![x](OEM-Docs/Bmw/2000_3_Series_e46/e46_trunk.png)
|
||||
|
@ -56,4 +54,3 @@
|
|||
![PCB front](OEM-Docs/Bmw/2000_3_Series_e46/2000_e46_oem_ecu_pcb_top.jpg)
|
||||
|
||||
![PCB back](OEM-Docs/Bmw/2000_3_Series_e46/2000_e46_oem_ecu_pcb_back.jpg)
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
![x](OEM-Docs/Bmw/e53/2001_x5_3.0_4.png)
|
||||
|
||||
|
||||
# 2001 x5 4.4
|
||||
|
||||
![x](OEM-Docs/Bmw/e53/2001_x5_4.4_1.png)
|
||||
|
@ -20,4 +19,3 @@
|
|||
![x](OEM-Docs/Bmw/e53/2001_x5_4.4_3.png)
|
||||
|
||||
![x](OEM-Docs/Bmw/e53/2001_x5_4.4_4.png)
|
||||
|
||||
|
|
|
@ -12,7 +12,6 @@ Production 2001 – 2008
|
|||
![p](OEM-Docs/Bmw/7_Series_e65/2006_bmw_750_5.png)
|
||||
![p](OEM-Docs/Bmw/7_Series_e65/2006_bmw_750_6.png)
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 3 | GRY | TCU |
|
||||
|
@ -22,7 +21,6 @@ Production 2001 – 2008
|
|||
| 8 | ORG | +12v Hot all times |
|
||||
| | | |
|
||||
|
||||
|
||||
| Connector/ Pin Number | OEM Color | Name / Function |
|
||||
| --------------------- |------- |---------------- |
|
||||
| 2 | YEL | |
|
||||
|
@ -31,6 +29,7 @@ Production 2001 – 2008
|
|||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|
||||
# 760 12 cylinders
|
||||
|
||||
See [BMW-N73](BMW-N73)
|
||||
|
@ -52,11 +51,8 @@ SRS module controls fuel pump
|
|||
|
||||
[User Manual](OEM-Docs/Bmw/2003_7_Series_e65/2004_Manual_7_Series.pdf)
|
||||
|
||||
|
||||
|
||||
# Transmission
|
||||
|
||||
[6 Speed Transmission mechatronic sleeve replacement](OEM-Docs/Bmw/2003_7_Series_e65/6_speed_sleeve_replacement.pdf)
|
||||
|
||||
[ZF6HP26 / 6R60 / 09E Remove Mechatronic Case Connector Sleeve Valve Body](https://www.youtube.com/watch?v=b0vvqtso14k)
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ This page is a general guide and general outline of how to use the breakout modu
|
|||
![Breakout](Images/breakout.png)
|
||||
|
||||
## Move a engine control to rusEFI
|
||||
|
||||
Uses breakout module noted [here](http://rusefi.com/forum/viewtopic.php?f=4&t=454) This is an example of how you might move the wires, it may not work for you exactly this way, but this at least lays out the general process. For example, some setups connect all fuel channels to one ECU fuel channel. So you might need to do thing differently when trying to move one fuel channel as noted below. Items like that can vary.
|
||||
|
||||
### Capture RPM signal
|
||||
|
@ -43,9 +44,11 @@ Uses breakout module noted [here](http://rusefi.com/forum/viewtopic.php?f=4&t=45
|
|||
* Continue until you have fuel control for one channel that matches perfectly for the entire RPM, loads, ect.
|
||||
|
||||
### Move all fuel and ignition
|
||||
|
||||
* Cut and move fuel channels one at a time moving them to rusEFI via break out module.
|
||||
* Cut and move ignition channels one at at time moving them to rusEFI via breakout module.
|
||||
* Remove MAP and crank signals from OEM controller.
|
||||
|
||||
### Have a rusEFI party
|
||||
|
||||
* Party time as you now have rusEFI, save this OEM tune and feel free to share the tune for other developers and other project to reference.
|
||||
|
|
|
@ -19,7 +19,7 @@ We have tried to keep Jenkins working in case we need to revert to it.
|
|||
|
||||
## Jenkins setup
|
||||
|
||||
### Jobs:
|
||||
### Jobs
|
||||
|
||||
1) unit_tests
|
||||
2) integration_and_primary_bundle
|
||||
|
@ -28,46 +28,56 @@ We have tried to keep Jenkins working in case we need to revert to it.
|
|||
5) git2svn_sync
|
||||
|
||||
### Install Cygwin
|
||||
|
||||
[Download Cygwin](https://cygwin.com/install.html)
|
||||
|
||||
Cygwin packages that need to be installed:
|
||||
|
||||
- make
|
||||
- gcc-core
|
||||
- mingw64-i686-gcc-core
|
||||
- mingw64-i686-gcc-g++
|
||||
- mingw64-x86_64-gcc-core
|
||||
- mingw64-x86_64-gcc-g++
|
||||
- python3
|
||||
- git
|
||||
- subversion
|
||||
- doxygen
|
||||
- zip
|
||||
- ncftp
|
||||
- wget
|
||||
- ccache
|
||||
- graphviz
|
||||
* make
|
||||
* gcc-core
|
||||
* mingw64-i686-gcc-core
|
||||
* mingw64-i686-gcc-g++
|
||||
* mingw64-x86_64-gcc-core
|
||||
* mingw64-x86_64-gcc-g++
|
||||
* python3
|
||||
* git
|
||||
* subversion
|
||||
* doxygen
|
||||
* zip
|
||||
* ncftp
|
||||
* wget
|
||||
* ccache
|
||||
* graphviz
|
||||
|
||||
### Install Java JDK 8
|
||||
|
||||
[Download JDK 8](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)
|
||||
|
||||
### Install Ant:
|
||||
### Install Ant
|
||||
|
||||
[Download Ant](https://ant.apache.org/)
|
||||
|
||||
### Install Jenkins
|
||||
|
||||
[Download Jenkins](https://jenkins.io/download/)
|
||||
|
||||
### Install Kicad
|
||||
|
||||
[Download Kicad](https://www.kicad.org/download/)
|
||||
for iBom automation
|
||||
|
||||
### Install for Hardware Testing
|
||||
|
||||
#### ST Link Utility
|
||||
|
||||
[STM32 ST-Link Utility](http://www.st.com/st-web-ui/static/active/en/st_prod_software_internet/resource/technical/software/utility/stsw-link004.zip)
|
||||
|
||||
#### ST Virtual Serial Driver
|
||||
|
||||
[STM32 Virtual COM Port Driver](http://www.st.com/web/en/catalog/tools/PF257938)
|
||||
|
||||
### System Environment Variables:
|
||||
### System Environment Variables
|
||||
|
||||
|Variable|Example|
|
||||
|--|--|
|
||||
|CCACHE_DIR|C:\ccache |
|
||||
|
@ -79,7 +89,8 @@ for iBom automation
|
|||
|RUSEFI_DOXYGEN_FTP_USER|rusefi_doxygen|
|
||||
|RUSEFI_DOXYGEN_FTP_PASS|secretpass|
|
||||
|
||||
### Add to Path:
|
||||
### Add to Path
|
||||
|
||||
|Tool|Example|
|
||||
|--|--|
|
||||
|Java|C:\Program Files (x86)\Common Files\Oracle\Java\javapath|
|
||||
|
@ -89,8 +100,10 @@ for iBom automation
|
|||
|GCC|C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin|
|
||||
|
||||
### Additional Jenkins set-up
|
||||
#### Additional plugins:
|
||||
- Pipeline GitHub Notify Step
|
||||
|
||||
#### Additional plugins
|
||||
|
||||
* Pipeline GitHub Notify Step
|
||||
|
||||
[Show current state of Jenkins build on GitHub repo - StackOverflow](https://stackoverflow.com/questions/14274293/show-current-state-of-jenkins-build-on-github-repo)
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ Hardware is ready!
|
|||
![CAN hardware attached to Discovery](Images/CAN_hardware2.jpg)
|
||||
|
||||
## Step 3: software
|
||||
|
||||
1. Download and install [STSW-LINK004 STM32 ST-LINK utility](http://www.st.com/web/en/catalog/tools/PF258168)
|
||||
|
||||
2. Firmware: download and unzip [rusefi_can_sniffer.zip](http://rusefi.com/images/forum_posts/CAN/rusefi_can_sniffer.zip)
|
||||
|
|
3
CAN.md
3
CAN.md
|
@ -1,6 +1,5 @@
|
|||
Overview of CAN usage and IDs used by rusEFI
|
||||
|
||||
|
||||
* rusEFI WBO two way communication 0xEF50000 0x190
|
||||
* rusEFI WBO bootloader
|
||||
* rusEFI gauge broadcast 0x200 default base see [DBC](https://github.com/rusefi/rusefi/blob/master/firmware/controllers/can/rusEFI_CAN_verbose.dbc)
|
||||
|
@ -21,4 +20,4 @@ Overview of CAN usage and IDs used by rusEFI
|
|||
|
||||
[Korlan instructions](https://rusefi.com/forum/viewtopic.php?p=43654#p43654)
|
||||
|
||||
FW images & legacy PCAN driver see https://github.com/rusefi/rusefi_external_utils/tree/master/CAN
|
||||
FW images & legacy PCAN driver see <https://github.com/rusefi/rusefi_external_utils/tree/master/CAN>
|
||||
|
|
|
@ -13,4 +13,5 @@ CTS/RTS recommended by support, DCD being required is a surprise.
|
|||
======================
|
||||
Product: CL4490 automatically switch to AC4490 on "Read Radio"
|
||||
======================
|
||||
|
||||
Configuration/Test Utility can "open" port without radio attached
|
||||
|
|
|
@ -4,8 +4,6 @@ We have a bracket GP winner, Matts lucky dog car has not done too badly iirc and
|
|||
Street and import side, obviously your mr2, beers various mx5s and i believe a genesis has just been done.
|
||||
We also are starting to make plug and tinker boards for popular tuner chassis, MX5, genesis, e36/46.
|
||||
|
||||
|
||||
|
||||
# Cold start on a Summer day
|
||||
|
||||
v8 LS: [tune](https://rusefi.com/online/view.php?msq=495)
|
||||
|
@ -41,8 +39,8 @@ Highway cruising
|
|||
|
||||
Excited acceleration driving
|
||||
|
||||
|
||||
# Consecutive engine cranking / engine stop
|
||||
|
||||
TODO [https://github.com/rusefi/rusefi_documentation/issues/151](https://github.com/rusefi/rusefi_documentation/issues/151)
|
||||
|
||||
# VVT control
|
||||
|
@ -63,26 +61,24 @@ todo Matt
|
|||
|
||||
[Drift Championship - Video](https://www.youtube.com/watch?v=y4h5dAlh6tE)
|
||||
|
||||
|
||||
# v8
|
||||
|
||||
https://www.youtube.com/watch?v=Xu1WibAQU_s
|
||||
<https://www.youtube.com/watch?v=Xu1WibAQU_s>
|
||||
|
||||
# v12
|
||||
|
||||
https://www.youtube.com/watch?v=DkhOHbRG_j4
|
||||
<https://www.youtube.com/watch?v=DkhOHbRG_j4>
|
||||
|
||||
# Epic 8 hours ride of 2016
|
||||
|
||||
https://youtu.be/a_0XbZutufU
|
||||
<https://youtu.be/a_0XbZutufU>
|
||||
|
||||
# Lua and CAN
|
||||
|
||||
https://www.youtube.com/watch?v=3fbXCgkIJoM
|
||||
<https://www.youtube.com/watch?v=3fbXCgkIJoM>
|
||||
|
||||
# Boost Control
|
||||
|
||||
https://rusefi.com/online/view.php?msq=969
|
||||
|
||||
<https://rusefi.com/online/view.php?msq=969>
|
||||
|
||||
# GDI
|
||||
|
|
|
@ -2,7 +2,6 @@ todo organize these notes better
|
|||
|
||||
# Proteus
|
||||
|
||||
|
||||
[Proteus Stock issues - Forum](https://rusefi.com/forum/viewtopic.php?p=41539#p41539)
|
||||
|
||||
Highside BTS4175SGA: BSP762/ISP762, ISP752T
|
||||
|
@ -14,6 +13,7 @@ MCP6004T-I/ST: MCP6004T-E/ST
|
|||
## Proteus MCU options
|
||||
|
||||
Requirements:
|
||||
|
||||
- LQFP144
|
||||
- 1MB flash (but 2MB works as well)
|
||||
- STM32F4: Known working is any F427/F429. 256KB RAM required. 1MB or 2MB acceptable.
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
We make with -std=c++11 see [the Makefile](https://github.com/rusefi/rusefi/blob/master/firmware/Makefile)
|
||||
|
||||
|
||||
## Brackets
|
||||
|
||||
Only the simplest, two-line if/for/while should not have the curly brackets. Anything more than two lines should have {}.
|
||||
|
||||
```
|
||||
|
@ -27,6 +27,7 @@ if (plain_condition) {
|
|||
```
|
||||
|
||||
## Code Formatting
|
||||
|
||||
Code formatting matters. The de-facto standard is Eclipse CDT (K&R) with one change: Maximum line width = 120
|
||||
|
||||
This standard is far from perfect, but it's good enough for now.
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# rusEFI PCB Configurations
|
||||
|
||||
When ordering rusEFI the ECU boards may be bought in several different stages of assembly completeness. These stages may range from the bare board with no components attached all the way to fully assembled PCBs already in enclosures. What should be ordered by the end user is up to them, their soldering skills and capabilities, and how much they value their time.
|
||||
|
||||
1. **Bare PCB**: No components soldered. For the end user, soldering would be required for **ALL** components.
|
||||
|
@ -13,8 +14,8 @@ When ordering rusEFI the ECU boards may be bought in several different stages of
|
|||
4. **Fully Assembled**: All SMT and through hole devices are populated and the board is in a case. The end user does not need to open the case or ever look at the PCB. As far as the end user is concerned the product just needs to be wired in.
|
||||
![CompleteMRE](Hardware/Images/CompleteMRE.png "Complete MRE")
|
||||
|
||||
## Options
|
||||
|
||||
## Options:
|
||||
1. **PnP (plug & play)**: If the board is designed to be plug and play, plugged into the OEM harness and operate properly.
|
||||
2. **Add Connector**: If the board is sold with the harness side connectors required.
|
||||
3. **Add Pigtail**: If the board is sold with the harness side connectors required and there are wires in the harness side connectors.
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# rusEFI Dev Console - Overview
|
||||
|
||||
rusEFI Dev Console is a handy development and debugging tool. The dev console is written in java and it talks to the ECU firmware. The console allows firmware monitoring and configuration. Here are some pictures of what it looks like when it operating correctly.
|
||||
|
||||
To get the console working follow the below procedure, which assumes you have loaded the rusEFI firmware.
|
||||
|
@ -10,6 +11,7 @@ To get the console working follow the below procedure, which assumes you have lo
|
|||
![Device Manager screenshot](http://rusefi.com/images/forum_posts/device_manager.png)
|
||||
* '''Linux'''
|
||||
* ''Ubuntu (11.10)'' - plug in the "console" USB cable, then check the message log with this command.
|
||||
|
||||
```
|
||||
$ dmesg
|
||||
...
|
||||
|
@ -17,6 +19,7 @@ To get the console working follow the below procedure, which assumes you have lo
|
|||
[10572.797239] cdc_acm 5-1:1.0: This device cannot do calls on its own. It is not a modem.
|
||||
[10572.797285] cdc_acm 5-1:1.0: ttyACM0: USB ACM device
|
||||
```
|
||||
|
||||
* In this case, the newly plugged in USB is register to ttyACM0, which you can find on /dev/ttyACM0
|
||||
* If you don't already have the Dev Console, get it [http://rusefi.com/build_server/rusefi_bundle.zip](http://rusefi.com/build_server/rusefi_bundle.zip) (part of the same bundle)
|
||||
* Note: rusEFI Dev Console requires java 1.8 or later!
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
Using most globally availbale as used on tons of VAG Diesel engines PSG007 - 03L905061G, 03L905061F, 03L905061
|
||||
|
||||
|
||||
![image](https://user-images.githubusercontent.com/48498823/180412514-703e9ef9-b4c5-4b1c-8a31-065eefd77d72.png)
|
||||
|
||||
1. Sensor Supply 5v
|
||||
|
@ -12,5 +11,4 @@ Harness options: opel 55577669 / opel 2081555 (Opel Astra J 2010-2017
|
|||
Opel Insignia 2008-2017
|
||||
Opel Zafira C 2013-2019)
|
||||
|
||||
|
||||
[Forum Thread](https://rusefi.com/forum/viewtopic.php?f=4&t=919)
|
|
@ -2,7 +2,6 @@ Debug fields is an advanced troubleshooting feature allowing one to monitor inte
|
|||
|
||||
`set debug_mode CODE`
|
||||
|
||||
|
||||
| code | name | debug f1 | debug f2 | debug f3 | debug f4 | debug f5 | debug f6 | debug f7 | debug i1 | debug i2 | debug i3 | debug i4 | debug i5
|
||||
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
|
||||
| 0 | Alternator_PID | controller output | integration term | previous error | I setting | D setting | dTerm | maxValue | P setting | offset | settings change counter
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
THIS CONCEPT IS ON THE WAY OUT
|
||||
|
||||
See https://github.com/rusefi/rusefi/issues/3614
|
||||
See <https://github.com/rusefi/rusefi/issues/3614>
|
||||
|
||||
Debug fields is an advanced troubleshooting feature allowing one to monitor the internal state of some rusEFI subsystems.
|
||||
|
||||
In TunerStudio, select "Base Engine Settings -> Debug Mode" and use the gauges from "Debug" category.
|
||||
|
||||
|
||||
See [Debug Fields](Debug-Fields.md)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
![](Hardware/Deucalion/Deucalion_0_1_uart.jpg)
|
||||
|
||||
|
||||
From right to left:
|
||||
|
||||
* Black GND
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|reset_ts|0 |Resets TunerStudio debugging counters|
|
||||
|
||||
## CAN
|
||||
|
||||
|Command|Number Of Parameters|Description|
|
||||
|-|-|-|
|
||||
|caninfo|0 |Shows stats for CAN subsystem|
|
||||
|
@ -15,6 +16,7 @@
|
|||
|enable can_write|0 |Enable sending out gauge info via CAN according with selected CAN configuration. Also `disable can_write`|
|
||||
|
||||
## Knock Detection
|
||||
|
||||
|Command|Number Of Parameters|Description|
|
||||
|-|-|-|
|
||||
|enable HIP9011|0|Enables HIP9011 driver|
|
||||
|
@ -26,6 +28,7 @@
|
|||
|set_hip_prescalerandsdo|1|Sets HIP prescaler and SDO. 0 for 4mHz, 6 for 8mHz|
|
||||
|
||||
## General
|
||||
|
||||
|Command|Number Of Parameters|Description|
|
||||
|-|-|-|
|
||||
|adc|1 |
|
||||
|
@ -69,6 +72,7 @@
|
|||
|set_int, set_short, set_float|2|changes configuration value at given offset, for example set_float 102 1.23|
|
||||
|
||||
## Logging
|
||||
|
||||
|Command|Number Of Parameters|Description|
|
||||
|-|-|-|
|
||||
|sdinfo|0 | Prints a report of SD/MMC usage|
|
||||
|
@ -76,12 +80,12 @@
|
|||
|enable sd/disable sd|0 |
|
||||
|
||||
## Trigger
|
||||
|
||||
Trigger is the camshaft or/and crankshaft position sensor(s)
|
||||
|
||||
`triggerinfo`
|
||||
shows some info regarding trigger situation
|
||||
|
||||
|
||||
set global_trigger_offset_angle XX
|
||||
|
||||
sets global trigger offset from synchronization point of trigger decoder to actual TDC #1
|
||||
|
@ -108,6 +112,7 @@ Prints trigger shape definition
|
|||
|mapinfo|0| prints out some debug information on MAP sensor|
|
||||
|
||||
## Board Control
|
||||
|
||||
set_injection_pin: 2 parameters: index, PIN
|
||||
|
||||
For example,
|
||||
|
@ -141,6 +146,7 @@ set fuel_pump_pin_mode: 1 parameters,
|
|||
set malfunction_indicator_pin_mode: 1 parameters,
|
||||
|
||||
## Fuel Control
|
||||
|
||||
See also [Fuel Overview](Fuel-Overview)
|
||||
|
||||
set_whole_fuel_map: 1 parameter: global value for the whole fuel map, in ms
|
||||
|
@ -155,7 +161,6 @@ set cranking_fuel: 1 parameters, for example
|
|||
|
||||
`set cranking_fuel 5`
|
||||
|
||||
|
||||
set injection_offset: 1 parameter, for example
|
||||
|
||||
`set injection_offset 80`
|
||||
|
@ -163,6 +168,7 @@ set injection_offset: 1 parameter, for example
|
|||
Sets global fuel injection phase to 80 degrees after TDC.
|
||||
|
||||
## Alternator Control
|
||||
|
||||
`altinfo`
|
||||
Prints current alternator state
|
||||
|
||||
|
@ -200,18 +206,15 @@ for example, `set engine_load_accel_len 6` Look back at MAP for period of last X
|
|||
set engine_load_accel_multiplier X
|
||||
for example, `set engine_load_accel_multiplier 2.0` This coefficient controls how much extra fuel we inject during acceleration due to MAP change
|
||||
|
||||
|
||||
set engine_load_accel_threshold X
|
||||
for example, `set engine_load_accel_threshold 5.0` Ignore change below X kPa
|
||||
|
||||
|
||||
set tps_accel_len X
|
||||
for example, `set tps_accel_len 6` Look back at TPS for period of last X injections.
|
||||
|
||||
set tps_accel_multiplier X
|
||||
for example, `set tps_accel_multiplier 2.0` This coefficient controls how much extra fuel we inject during acceleration due to TPS change
|
||||
|
||||
|
||||
set tps_accel_threshold X
|
||||
for example, `set tps_accel_threshold 10` Ignore change below X % tps
|
||||
|
||||
|
@ -253,7 +256,6 @@ enable/disable stepperidle
|
|||
|
||||
for example, `enable stepperidle`
|
||||
|
||||
|
||||
**blipidle X Y**
|
||||
overrides idle position to X for Y duration of time
|
||||
|
||||
|
|
|
@ -20,12 +20,12 @@ Pretty much same was as with data coming from rusEFI, we have a prefix `sec` and
|
|||
TODO: unify `line` and sec `one` day?
|
||||
|
||||
## java classes
|
||||
|
||||
Incoming data workflow:
|
||||
|
||||
transport layer pushes data into EngineState.processNewData() which splits the data into jeys and value, pushing this data into the primary listener for
|
||||
the specified key. The main listener is SensorCentral which keeps track of 'Sensor' values and listeners. Another interesting key-value consumer is MessagesCentral which takes care of all the human-readable messages which end up in Messages UI console..
|
||||
|
||||
|
||||
Outgoing data flow:
|
||||
Outgoing data flow:
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
### This is a **DEVELOPERS** manual. For the user manual please see [Hardware](Hardware)
|
||||
|
||||
## Summary
|
||||
|
||||
This page is a general guide for hardware items and
|
||||
suggestions on how to design and work with things like a PCB layout.
|
||||
|
||||
|
@ -13,10 +14,11 @@ Our file repository for hardware is [here](https://github.com/rusefi/rusefi/tree
|
|||
For now we are developing hardware as individual functional modules. While all individual modules are in-depended from each over, the use the share the same component library which is located at [https://github.com/rusefi/kicad-libraries](https://github.com/rusefi/kicad-libraries)
|
||||
|
||||
## Collaboration process
|
||||
|
||||
Since patch files do not work well for hardware projects, our collaboration process is pulling whole folders from the SVN where board author would develop them into the central SVN which is the unified repository. That's a poor man workaround over the lack of free SVN hosting with directory user permissions.
|
||||
|
||||
|
||||
## Naming convention
|
||||
|
||||
Name capacitors with uF and pF only. So 100nF is a no go while 0.1uF is good.
|
||||
This works better with filter/sort operations in spread sheets.
|
||||
Also start the name with 0.1 instead of .1.
|
||||
|
@ -24,6 +26,7 @@ Also start the name with 0.1 instead of .1.
|
|||
Resistors should be listed like this 100R or 2k2
|
||||
|
||||
## General suggested environment
|
||||
|
||||
- Allow an ambient temperature from -40C to +85C (-40F to 185F) AEC Q100 Grade 3
|
||||
- Voltage regulators that are compatible with ISO 7637-2 and ISO16750-2 (100V repetitive pulses via 50ohm impedance, 18 V for 60 min, 24V for 60s to all relevant inputs, withstand a reversed voltage for 60s, 500V rms (50 Hz to 60 Hz) for 60s, ect).
|
||||
- Voltage regulators that follow Maxim's suggestions here (cold cranking down to 4V for up to 40mS)
|
||||
|
@ -41,6 +44,7 @@ Resistors should be listed like this 100R or 2k2
|
|||
---
|
||||
|
||||
## Connectors
|
||||
|
||||
- Connectors should be keyed such that it is difficult to accidentally swap connectors
|
||||
- Connectors should be able to carry the max possible load with one pin, ensuring no doubling up pins to get increased current ratings. It is OK to double up pins to decrease connector resistance for a lower voltage drop.
|
||||
- Connectors should survive the currents passed when inputs are shorted to GND or 12V as noted above in the suggested environment.
|
||||
|
@ -51,25 +55,27 @@ Resistors should be listed like this 100R or 2k2
|
|||
---
|
||||
|
||||
## PCB design rules
|
||||
|
||||
- See [PCB Design Rules](PCB-Design-Rules.md)
|
||||
|
||||
---
|
||||
|
||||
## Links to specific hardware projects
|
||||
|
||||
#### - [Frankenso](Hardware-Frankenso)
|
||||
|
||||
|
||||
#### - Brain board
|
||||
|
||||
![alt text](Images/Vyuqd8h.png)
|
||||
The brain board can be the off the shelf STMDiscoveryF4. However the Discovery has several circuits like the analog microphone circuits which change how a particular pin is loaded. We have noticed that this pin loading cause the injector circuits to vary pulse widths. Because of this we have developed a stripped down version of the Discovery board without the extra circuits. Both boards have the same general specifications, same clock rates, same IO headers with the same pin outs, ect.
|
||||
|
||||
Forum thread about this PCB found [here](http://rusefi.com/forum/viewtopic.php?f=4&t=381), also see:
|
||||
[Current pin out](https://docs.google.com/spreadsheet/ccc?key=0Arl1FeMZcfisdGpIZVBGMWFIQXdycnVNOWRjRG5YNnc)
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
#### - Frankenstein
|
||||
|
||||
![alt text](Images/20140224_state.jpg)
|
||||
Frankenstein is a combination of individual modules, such that you can make sub modules, then combine them with a script. The end result allows you to prototype a small board, then once you have verified the small board, you can combine it with the larger module. If you don't want all the features of Frankenstein, you can mix and match as you so choose. Frankenstein is a combination of the below.
|
||||
|
||||
|
@ -94,12 +100,12 @@ J701 NEON engine schematics
|
|||
![alt text](Images/120px-IGN.jpg)
|
||||
[120px-IGN.jpg](Images/IGN.jpg)
|
||||
|
||||
|
||||
Found in this thread [link](http://rusefi.com/forum/viewtopic.php?f=3&t=360&start=52)
|
||||
|
||||
---
|
||||
|
||||
## Misc
|
||||
|
||||
[CAN Sniffer](CAN-Sniffer)
|
||||
|
||||
[Mini Cooper 2003](Mini-Cooper-2003)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Maybe prerequisite
|
||||
|
||||
Nathan wonders what the hell does current automation even do. Could this be clarified with minor code comments on top of key files?
|
||||
Nathan reminds that some code generation could/should be integrated into Makefile. Some documentation in https://github.com/rusefi/rusefi/blob/master/firmware/config/boards/readme.md
|
||||
Nathan reminds that some code generation could/should be integrated into Makefile. Some documentation in <https://github.com/rusefi/rusefi/blob/master/firmware/config/boards/readme.md>
|
||||
|
||||
# Current state
|
||||
|
||||
|
@ -9,7 +10,6 @@ Nathan reminds that some code generation could/should be integrated into Makefil
|
|||
* Console can update to master snapshot
|
||||
* Bundle .zip has confusing folder name with timestamp
|
||||
|
||||
|
||||
# Desired state
|
||||
|
||||
* How does github fit with non-linear release flow?
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
We love our engines and we want them to live a long & happy life. That's why we have a three-tier quality assurance process:
|
||||
|
||||
* Continuous Integration: Unit testing with [Github Actions](https://github.com/rusefi/rusefi/actions? query=workflow%3A%22Unit+Test+CI%22) see unit_tests
|
||||
* Continuous Integration: Unit testing with [Github Actions](<https://github.com/rusefi/rusefi/actions>? query=workflow%3A%22Unit+Test+CI%22) see unit_tests
|
||||
* built-in trigger signal simulation
|
||||
* [Simulator](Virtual-simulator)
|
||||
|
||||
|
@ -10,16 +10,12 @@ For current coverage report see [the coverage page](https://rusefi.com/docs/unit
|
|||
|
||||
Since 2015 there is always a stm32f4 board listening for VCS updates running rusEFI hardware continues integration, "HW CI" for short.
|
||||
|
||||
|
||||
|
||||
Anyone can execute real hardware test suite by invoking. This command would detect rusEFI hardware automatically and invoke
|
||||
[broken link](https://github.com/rusefi/rusefi/blob/master/java_console/autotest/src/com/rusefi/RealHwTest.java)
|
||||
|
||||
|
||||
``java -jar rusefi_console.jar functional_test``
|
||||
|
||||
The following jumper wires are used to test some subsystems as realistically as possible:
|
||||
* PD1 <=> PC6
|
||||
* PD2 <=> PA5
|
||||
|
||||
|
||||
* PD1 <=> PC6
|
||||
* PD2 <=> PA5
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
STM32F407 firmware
|
||||
|
||||
```
|
||||
git clone --recurse-submodules https://github.com/rusefi/rusefi
|
||||
cd firmware
|
||||
|
@ -9,6 +10,6 @@ virtual serial port
|
|||
|
||||
PC application to send commands: [rusEFI Firmware bundle](https://rusefi.com/build_server/rusefi_bundle.zip)
|
||||
|
||||
See also https://github.com/rusefi/rusefi/blob/master/firmware/setup_linux_environment.sh
|
||||
See also <https://github.com/rusefi/rusefi/blob/master/firmware/setup_linux_environment.sh>
|
||||
|
||||
[ChibiOS](https://www.chibios.org/)
|
|
@ -62,6 +62,7 @@ Example:
|
|||
`timeNowUs += MS2US(15);`
|
||||
|
||||
Unit tests will run under various tools that check for memory or other violations ("Sanitizers" such as AddressSanitizer or Valgrind). For performance reasons, some of these are only run at GitHub actions, but if you need to you can run them yourself.
|
||||
|
||||
* Unit tests by default are built for AddressSanitizer. You can disable this by running `make SANITIZE=no`. This will detect memory overruns and underruns, although it won't detect overruns within a struct (for example, running off the end of an array that happens to land on some unrelated-but-valid memory after the array but is still in the struct).
|
||||
* Unit tests on GitHub are also built for AddressSanitizer, but add an additional check for stack use after free. You can mimic this yourself by running tests as `ASAN_OPTIONS=detect_stack_use_after_return=1 build/rusefi_test`
|
||||
* Unit tests on GitHub are also run under Valgrind. This helps detect using uninitialized memory, among other differences. In order to run under Valgrind, you must first compile without ASAN: `make SANITIZE=no` then run as `valgrind build/rusefi_test`. You have to scan through stderr to find the errors of interest, so you can run: `valgrind build/rusefi_test > /dev/null`.
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
rusEFI has build-in provisions for performance tracing
|
||||
|
||||
Whenever certain events occur, a few things are logged to a buffer:
|
||||
|
||||
- Event type (function name, etc)
|
||||
- Current thread
|
||||
- Current interrupt number (if not in a thread)
|
||||
|
@ -9,6 +10,7 @@ Whenever certain events occur, a few things are logged to a buffer:
|
|||
This data is then transported to a PC, and reconstructed in to an easy-to-read format.
|
||||
|
||||
Uses:
|
||||
|
||||
- Performance optimization
|
||||
- Where did the time go? Are we running out of CPU? Is a particular interrupt or thread getting in the way often?
|
||||
- Is the interrupt/thread priority set properly? Are things getting preempted as expected?
|
||||
|
|
|
@ -9,25 +9,28 @@ These can be extracted under your home directory; just add the `bin` directory t
|
|||
TODO: You probably need to install additional packages but I don't remember what they are.
|
||||
|
||||
Then to compile the firmware,
|
||||
|
||||
```
|
||||
cd firmware
|
||||
make PROJECT_BOARD=nucleo_h743 PROJECT_CPU=ARCH_STM32H7 -j4
|
||||
```
|
||||
|
||||
Edit according to your environment.
|
||||
|
||||
To compile the simulator,
|
||||
|
||||
```
|
||||
cd simulator
|
||||
./compile.sh
|
||||
```
|
||||
|
||||
To compile the unit tests,
|
||||
|
||||
```
|
||||
cd unit_tests
|
||||
make -j4
|
||||
```
|
||||
|
||||
|
||||
# Working with STM32 Dev/Nucleo boards
|
||||
|
||||
These boards are convenient as they include an ST-Link onboard which aids debugging. I believe the main difference is a Development board includes a bunch of peripherals that you may or may not care about, while a Nucleo board is much more stripped down. Some (all?) boards will be powered when you connect to the ST-Link USB board. The ST-Link will include, among other things, a virtual com port, which can be used to run either the console or TunerStudio. However, by default the ports are not accessible by regular users. You can solve this with:
|
||||
|
@ -50,23 +53,30 @@ OpenOCD can be left running in the background while you develop in other windows
|
|||
```
|
||||
sudo ~/openocd/xpack-openocd-0.11.0-2/bin/openocd -f ~/openocd/xpack-openocd-0.11.0-2/scripts/board/st_nucleo_h743zi.cfg
|
||||
```
|
||||
|
||||
Adjust as necessary; you may need `sudo` if you don't normally have access to USB devices.
|
||||
|
||||
To reprogram, simply do:
|
||||
|
||||
```
|
||||
telnet localhost 4444
|
||||
program build/rusefi.elf reset
|
||||
exit
|
||||
```
|
||||
|
||||
Or, if you prefer a one-liner:
|
||||
|
||||
```
|
||||
(echo "program build/rusefi.elf reset"; echo exit) | nc localhost 4444
|
||||
```
|
||||
|
||||
Conveniently, OpenOCD will retain a history of commands, allowing you to use up-arrows to retrieve previous commands.
|
||||
|
||||
On a nucleo-h743, I don't seem to get much indication this worked, but if you connect via gdb:
|
||||
|
||||
```
|
||||
gdb build/rusefi.elf
|
||||
target remote :3333
|
||||
```
|
||||
|
||||
then you might end up in the middle of the ChibiOS idle function, a good indication you've succeeded.
|
||||
|
|
|
@ -4,7 +4,7 @@ A-- The Quickest and easiest Digital Dash is TunerStudioMS... And is described
|
|||
|
||||
B-- Second is a PowerTune IMG that is just copied onto a SDcard -- and will boot up PowerTune on a raspberry Pi 3 ... Link [here](https://drive.google.com/file/d/1Mr9GsCZhoa8WZ2HCqsjXC0b3KFDa_3Yp/view?usp=sharing)
|
||||
|
||||
C-- Third is a Custom Digital Gauge cluster... [Link HERE ](https://customgt6.com/2021/03/28/custom-digital-gauge-cluster/) ... And here is the [GitHub link for Code ](https://github.com/joshellissh/pi-dgc)
|
||||
C-- Third is a Custom Digital Gauge cluster... [Link HERE](https://customgt6.com/2021/03/28/custom-digital-gauge-cluster/) ... And here is the [GitHub link for Code](https://github.com/joshellissh/pi-dgc)
|
||||
|
||||
D— Fourth is Android tablet or phone running the [Real Dash](http://realdash.net/index.php) App
|
||||
|
||||
|
@ -29,7 +29,6 @@ Controls|[Keyboard and Mouse](https://www.amazon.com/Logitech-Wireless-Keyboard-
|
|||
|
||||
2. Extract to your home directory
|
||||
|
||||
|
||||
a. Default home directory is "pi", open terminal and type: "ls /home/pi/TunerStudioMS" (if your home directory isnt "pi" change to match your home directory)
|
||||
|
||||
b. Ensure that "TunerStudio.sh" shows up in the results. If it is not, re-install
|
||||
|
@ -58,9 +57,6 @@ To set default Java runtime
|
|||
|
||||
v. Save tune. Close TunerStudio
|
||||
|
||||
|
||||
|
||||
Here is a [site](https://tunerstudiodashboards.com) with free dashboards to spice up your look
|
||||
|
||||
Here is a [site](http://www.tunerstudio.com/index.php/manuals/53-using-tunerstudio-dashboard-designer) on how to make your own custom dashboards
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
![STLink Firmware Update](Images/Stlink_firmware_update.png)
|
||||
|
||||
![Discovery Upload Wire](Images/discovery_upload_wire.JPG)
|
||||
|
||||
* To upload the binary image into the microcontroller you will need to download & install [STM32 ST-LINK utility](http://www.st.com/st-web-ui/static/active/en/st_prod_software_internet/resource/technical/software/utility/stsw-link004.zip). (this is both the utility and the driver) Once installed it will look like this.
|
||||
![STLink Utility](Images/st_link_utility.png)
|
||||
* You should click '''Target --> Program...''' , browse to the rusefi.bin you have downloaded and hit Start button like this
|
||||
|
@ -33,14 +34,15 @@ orange LED: warning: blinking in case of trigger input decoding warning or other
|
|||
* Take your best stab at making look up tables and such via TS.
|
||||
|
||||
### Communication mode
|
||||
|
||||
microUSB channel is more sensitive to noise but it's faster
|
||||
|
||||
See also [Tunerstudio Connectivity](Tunerstudio-Connectivity.md)
|
||||
|
||||
### Configuration reset
|
||||
|
||||
Grounding PD6 resets saved configuration to default state - see [this forum post](http://rusefi.com/forum/viewtopic.php?f=5&t=373&p=9571&hilit=PD6#p9571)
|
||||
|
||||
### Board Testing mode
|
||||
|
||||
Grounding PB0 enables board testing mode. See [Hardware Test Mode](Hardware-Test-Mode.md)
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ Open question: What is in scope of rusEFI wiki and what is out of scope?
|
|||
|
||||
* A of Nov 2022 the best cost/benefit ratio is to work on TunerStudio layout and TunerStudio field tooltips and help articles which are embedded into "Help" of specific dialogs.
|
||||
* Andrey does not believe in text documentation on wiki
|
||||
* Content problem versus infrastructure/structure problem like https://github.com/rusefi/rusefi_documentation/issues/250 and https://github.com/rusefi/rusefi_documentation/issues/168
|
||||
* Content problem versus infrastructure/structure problem like <https://github.com/rusefi/rusefi_documentation/issues/250> and <https://github.com/rusefi/rusefi_documentation/issues/168>
|
||||
* We are probably not trying to teach people how to tune HP Academy does that better
|
||||
|
||||
## Wiki status
|
||||
|
@ -13,16 +13,18 @@ As of December, 2022 the strategy is to maintain two wikis, with [the same sourc
|
|||
[https://github.com/rusefi/rusefi/wiki/](https://github.com/rusefi/rusefi/wiki/) AKA Wiki2
|
||||
[https://wiki.rusefi.com](https://wiki.rusefi.com) AKA Wiki3
|
||||
|
||||
|
||||
Reasons for using a source repo:
|
||||
|
||||
1. Access control
|
||||
2. Change review process
|
||||
3. History and version control management
|
||||
|
||||
Problems with Github Wiki:
|
||||
|
||||
1. [Not crawlable by search engines](https://github.com/isaacs/github/issues/1683)
|
||||
|
||||
Problems with having two wikis:
|
||||
|
||||
1. Inconsistency of markup language between the two wikis
|
||||
|
||||
See [HOWTO Contribute to Documentation](HOWTO-contribute-to-documentation)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
Bosch 0280-155-976 injectors
|
||||
|
||||
|
||||
## NGC Chrysler ECU
|
||||
|
||||
152 pin connector (x4 38 pin)
|
||||
|
@ -10,6 +9,7 @@ Bosch 0280-155-976 injectors
|
|||
[2003 Dodge Neon - Forum](http://rusefi.com/forum/viewtopic.php?f=3&t=696)
|
||||
|
||||
## Plug 1
|
||||
|
||||
38 pin
|
||||
|
||||
Plug color: black
|
||||
|
@ -60,6 +60,7 @@ Plug color: black
|
|||
| 38 | | | | |
|
||||
|
||||
## Plug 2
|
||||
|
||||
38 pin
|
||||
|
||||
Plug color: orange
|
||||
|
@ -110,6 +111,7 @@ Plug color: orange
|
|||
| 38 | green | | Idle Air Control solenoid | \+12 supply |
|
||||
|
||||
## Plug 3
|
||||
|
||||
38 pin
|
||||
|
||||
White
|
||||
|
@ -160,6 +162,7 @@ White
|
|||
| 38 | | | Starter Relay | Output, low side |
|
||||
|
||||
## Plug 4
|
||||
|
||||
38 pin
|
||||
|
||||
Automatic transmission control plug.
|
||||
|
@ -171,18 +174,23 @@ Automatic transmission control plug.
|
|||
## Diagrams
|
||||
|
||||
### ECU
|
||||
|
||||
![Wiring Diagram](Images/Dodge_Neon_2003.png)
|
||||
|
||||
### Starting
|
||||
|
||||
![Wiring Diagram](Images/Dodge_Neon_2003_starting.png)
|
||||
|
||||
### Charging
|
||||
|
||||
![Wiring Diagram](Images/Dodge_Neon_2003_charging.png)
|
||||
|
||||
### Cooling
|
||||
|
||||
![Wiring Diagram](Images/Dodge_Neon_2003_cooling.png)
|
||||
|
||||
### A/C
|
||||
|
||||
![Wiring Diagram](Images/Dodge_Neon_2003_ac.png)
|
||||
|
||||
![Injector Calibration](Images/0280155868cs.jpg)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
rusEFI offers complete software download bundles for multiple supported microcontrollers and boards.
|
||||
|
||||
# IMPORTANT NOTE: TunerStudio v3.1.04 or later is REQUIRED! Please double check the version before updating your firmware, or your settings could be lost when updating!
|
||||
# IMPORTANT NOTE: TunerStudio v3.1.04 or later is REQUIRED! Please double check the version before updating your firmware, or your settings could be lost when updating
|
||||
|
||||
### Common Boards
|
||||
|
||||
|
@ -44,7 +44,6 @@ rusEFI offers complete software download bundles for multiple supported microcon
|
|||
|
||||
[Virtual Simulator](Virtual-simulator)
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
# Q: I see something interesting was just changed in the firmware? How do I use latest version?
|
||||
|
|
|
@ -4,8 +4,6 @@ First priority to control 6HP26 gearbox
|
|||
|
||||
[BMW N73 electronics](BMW-N73)
|
||||
|
||||
|
||||
|
||||
Test mule #1 2004 760 AndreyB
|
||||
|
||||
Test mule #2 2006 760 Zeiss HeinrichG
|
||||
|
@ -18,18 +16,10 @@ Need to decode message format: Smaller list of names in English [here](https://w
|
|||
|
||||
Need to decode message format: Huge list in German [here](https://www.bimmerforums.com/forum/showthread.php?2298830-E90-Can-bus-project-%28E60-E65-E87-%29&p=29628499#post29628499)
|
||||
|
||||
|
||||
|
||||
|
||||
[BMW E65 CANBUS](https://github.com/damienmaguire/BMW-E65-CANBUS)
|
||||
|
||||
|
||||
|
||||
|
||||
[E90](https://www.bimmerforums.com/forum/showthread.php?2298830-E90-Can-bus-project-(E60-E65-E87-))
|
||||
|
||||
|
||||
|
||||
Local-CAN messages:
|
||||
|
||||
105
|
||||
|
|
|
@ -24,7 +24,7 @@ Most throttles have one connector that contains both the position sensors and mo
|
|||
|
||||
### Pedal position sensor
|
||||
|
||||
In TunerStudio, open the *"Accelerator pedal"* window from the *Sensors* menu.
|
||||
In TunerStudio, open the _"Accelerator pedal"_ window from the _Sensors_ menu.
|
||||
|
||||
1. Select the channels wired to your primary and secondary redundant pedal sensors. Using both is a safety concern: this lets rusEFI detect a broken or shorted wire or failed sensor.
|
||||
2. Restart the ECU: disconnect USB, and cycle the ignition off, then back on, and reconnect USB.
|
||||
|
@ -35,7 +35,7 @@ In TunerStudio, open the *"Accelerator pedal"* window from the *Sensors* menu.
|
|||
|
||||
### Throttle position sensor
|
||||
|
||||
In TunerStudio, open the *"TPS"* window from the *Sensors* menu.
|
||||
In TunerStudio, open the _"TPS"_ window from the _Sensors_ menu.
|
||||
|
||||
1. Remove intake plumbing such that you can see and touch the throttle plate in the throttle body to confirm proper operation.
|
||||
2. Select the channels wired to your primary and secondary redundant throttle position sensors. Using both is a safety concern: this lets rusEFI detect a broken or shorted wire or failed sensor.
|
||||
|
|
|
@ -18,11 +18,13 @@ There are several benefits by allowing the ECU to control the position of the th
|
|||
# Theory of Operation
|
||||
|
||||
Electronic throttles typically consist of:
|
||||
|
||||
- A brushed DC motor. Positive torque pushes the throttle open, and negative torque pushes the throttle closed.
|
||||
- A TPS. This is an angle sensor, commonly a potentiometer or hall sensor, which tells the ECU the actual position of the throttle. This is used as feedback to the ECU to accurately set and hold the throttle position.
|
||||
- A "limp home" return spring. This spring holds the throttle position open slightly, commonly 5-25%, enough for a high idle. This allows the vehicle to "limp home" in the event the ECU can no longer operate the throttle.
|
||||
|
||||
rusEFI hardware and software have been designed to work with all three of these parts of the throttle.
|
||||
|
||||
- DC motor driver H-bridge(s) to control the motor. An H-bridge can apply a variable voltage using PWM in either direction. Both directions are important to be able to open and close the throttle completely.
|
||||
- Analog inputs and corresponding software to measure both the TPS and PPS.
|
||||
- A control algorithm that uses a table to linearize the effects of the return spring and PID to move the throttle to the targeted position.
|
||||
|
@ -38,6 +40,7 @@ Different H-bridge chips are controlled differently. So far we have experienced
|
|||
PWM on Control pin, two on/off direction pins are specifying direction.
|
||||
|
||||
### TLE9201
|
||||
|
||||
PWM on Control pin, open/close using one on/off direction pin, second direction pin unused.
|
||||
|
||||
### TLE7209 mode
|
||||
|
|
|
@ -4,7 +4,6 @@ The best way to configure rusEFI according to your engine setup is via Tuner Stu
|
|||
|
||||
But rusEFI is still in the phase of active development: some parts of the code are still far from final, and new configuration parameters are being added every month. Because of that, the TunerStudio project definition is still pretty volatile. Volatile TunerStudio project definition means your settings could be lost next time you upgrade the firmware, because of that we need a way to keep default configurations for each setup in a more persistent way. This is the reason why we have...
|
||||
|
||||
|
||||
Engine Type concept: we have an array of default configurations for different engines defined [right in the source code](https://github.com/rusefi/rusefi/tree/master/firmware/config/engines). Which of the configurations is used is controlled by 'engine type' field which is persisted in the internal chip flash memory along with the rest of the configuration. So, in order to get your trigger decoding parameters and your fuel & injection control strategies activated, you need to invoke the 'set engine_type X' command as described [here](http://rusefi.com/forum/viewtopic.php?f=5&t=210#p4038).
|
||||
|
||||
Ford Aspire Frankenstein default configuration: `set engine_type 3`
|
||||
|
@ -15,7 +14,6 @@ Mazda Miata 1996 Frankenstein default configuration: `set engine_type 21`
|
|||
|
||||
Please post on the forum to get your own engine type ID started - I'll take care of the code.
|
||||
|
||||
|
||||
Part of the problem is the fact that Tuner Studio works only one way - once project is created, TS does not read new values from the controller but considers it's copy of the config to have priority.
|
||||
|
||||
TODO: we need a better solution.
|
||||
|
|
|
@ -7,7 +7,6 @@ This page contains information about how to hook up to rusEFI hardware, in gener
|
|||
**WARNING: The exact implementation of these pins is hardware specific!!!**
|
||||
You should always consult the documentation on your particular hardware. The information here is presented for "planning" purposes only - to help you figure out which of the hardware variants will suit the sensors and solenoids present on your engine.
|
||||
|
||||
|
||||
## Fuel injectors
|
||||
|
||||
As of May 2020, only saturated (high impedance, >8 ohms) port injectors are supported. All hardware variants are built around the concept of one ECU pin controlling one fuel injector. The use of multiple injectors on one ECU output must be very carefully evaluated to avoid overloading drivers. One injector may also be used for all cylinders ("single point"). A pair of injectors can be wired together and fired simultaneously, as in 4 pairs of injectors on a V8. It's possible but not intuitive to configure two banks of multiple cylinders of injectors alternating fire. It is recommended to use one injector per cylinder. As of May 2020, staged injection with multiple injectors per cylinder is possible in hardware but the software is not yet ready.
|
||||
|
@ -16,7 +15,6 @@ You do **not** need to wire injectors in a particular way. Cylinder #1 (as numbe
|
|||
|
||||
Bottom line: as long as the hardware variant has at least as many injector outputs as your engine has cylinders, you will be able to run one injector per cylinder.
|
||||
|
||||
|
||||
## Coils
|
||||
|
||||
As of May 2020, most hardware variants support only logic level drive for coils. This means GM LSx, IGN1A, Denso coil stick, etc. (others may too - these are just examples) that have built in ignitors will work. You should consult the documentation for both the coils and the rusEFI hardware you are using to determine whether you can directly wire the coils or an external ignitor/something else is required. Note: coil outputs are among the **least** robust (in terms of tolerating shorts, excessive voltages, etc.) on many hardware variants, including Proteus. Double check your wiring!
|
||||
|
@ -25,7 +23,6 @@ Like injectors, all coil outputs are interchangeable. Coil outputs do not need t
|
|||
|
||||
Bottom line: as long as the hardware variant has at least as many coil outputs as your engine has cylinders, you will be able to run one coil per cylinder.
|
||||
|
||||
|
||||
## General purpose outputs
|
||||
|
||||
The two main types of output are "low side" and "high side."
|
||||
|
@ -38,7 +35,6 @@ All general purpose outputs are available for conditional on/off control via bas
|
|||
|
||||
All general purpose outputs can be used by the software-PWM system. The software PWM system can provide approximately 1% duty steps at up to 1Khz. (10uS steps, 1ms cycle) Software PWM can operate at different speeds for different outputs - there is a lot of flexibility. (link to more information)
|
||||
|
||||
|
||||
## Specific Outputs
|
||||
|
||||
### Idle Motor control
|
||||
|
@ -53,17 +49,14 @@ Bipolar stepper motors (generally 4 wire) have two coils that are energized in d
|
|||
|
||||
Unipolar stepper valves are not supported by any hardware variants at this time. (May 2020) Chrysler commonly used these.
|
||||
|
||||
|
||||
### Drive by Wire support
|
||||
|
||||
Logic exists in the firmware to control a drive by wire throttle body, including using it to idle. A single H-bridge is required to control a single DBW throttle body. Multiple DBW throttle bodies can be simultaneously controlled as long as sufficient H-bridge drivers exist to control them. A drive by wire pedal (Accelerator Pedal Position / APP) is generally used to provide input from the driver. Want to know more? here is a [HOWTO](HOWTO-electronic-throttle-body) you should read.
|
||||
|
||||
|
||||
### Main Relay support
|
||||
|
||||
Most hardware variants are set up to provide control over a main relay or auto-shutdown relay. The rusEFI ECU typically has two power feeds. Key-on power is supplied to the ECU in order to power the CPU and logic core of the ECU. High side drivers, H Bridges and other power switches are then powered by a "main relay" that is energized under the control of the ECU. Battery / continuous power is not required for setting retention.
|
||||
|
||||
|
||||
## Specific Function Inputs
|
||||
|
||||
Engine position (crank, cam) are specific inputs required. Hall Effect (square wave / magnetic or optical) and Variable Reluctance (VR / inductive) sensors are supported.
|
||||
|
@ -77,5 +70,6 @@ The two basic kinds of general-purpose inputs are categorized as "digital" and "
|
|||
Digital inputs need to have a pull resistor in order to ensure they do not pick up interference and trigger falsely. Most (double check your hardware!) digital inputs are configured with a pull-up resistor. Switches "turn on" the input by connecting it to a ground signal. When the switch is open, the pull-up resistor ensures that the hardware can see the difference. Most hardware implementations have basic protection circuitry to allow inputs to see battery voltage without damage. (double check your hardware!) Most switches in an engine bay such as power steering pressure, AC pressure, brake pressure switch, many PRNDL switches on automatic transmission shifters, oil "idiot" pressure, diagnostic enable, etc. are wired so that the other end connects to ground. This makes digital inputs ideal for monitoring most on-off type switches.
|
||||
|
||||
As of May 2020, analog inputs are broken into two basic categories:
|
||||
|
||||
1. "Thermistor" inputs have an internal pull up to 5V (varies according to hardware: 2.7k on proteus) to make connecting to sensors like coolant temp and air temperature easier. When using a thermistor input, one terminal of the sensor is connected to the ECU and the "other" end of your sensor should be connected to sensor ground. Note: many "single wire" thermistors used for coolant temperature have metal threads which make contact with the cylinder head/block, providing the "other" terminal without a wire.
|
||||
2. "Analog Voltage" inputs have a **weak** pull-down to sensor ground (varies according to hardware: 500k on proteus) and are intended for things like MAP or TPS sensors that drive a voltage. On most hardware implementations(double check your hardware!), these inputs are also protected against excessive voltage. The combination of an internal pull-down resistor and built-in protection means that analog inputs can safely double as "active high" inputs, where battery voltage indicates that a switch is high.
|
||||
|
|
|
@ -6,6 +6,7 @@ The topics below are an attempt to cover as many of the common key questions we
|
|||
---
|
||||
|
||||
## Will rusEFI work with my "XYZ" coils?
|
||||
|
||||
In theory rusEFI will work with any coils from nearly any vehicle produced since the daimler motor carriage of 1901.
|
||||
In reality there are some practicalities that make some coils easier than others.
|
||||
|
||||
|
@ -20,6 +21,7 @@ Older style coils will need an ignition coil driver added between the rusEFI out
|
|||
## But why did you not build the ignition control driver (IGBT) into the ECU?
|
||||
|
||||
Quite simply for the same reasons modern ECUs do not have them either.
|
||||
|
||||
1. It reduces the number of parts needed for the ECU and thus the cost
|
||||
2. It means the IGBT component is replaceable as they do sometimes fail
|
||||
3. It moves the electrically noisy high current/voltage components away from the sensitive MCU
|
||||
|
@ -49,7 +51,6 @@ There are lots of tried and tested options that can be found by [**searching the
|
|||
|
||||
</details>
|
||||
|
||||
|
||||
<details markdown="1"><summary><u>I have existing coils </u></summary>
|
||||
|
||||
<details markdown="1"><summary><u>My coils are newer smart coils</u></summary>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
|
||||
|
||||
## technical info
|
||||
|
||||
STM32 hard-coded bootloader support CAN firmware update but only on specific hardware pins PB5 PB13 which conflict with SPI hardware pins, weird not great option for us.
|
||||
|
||||
[OpenBLT GNU GPL Bootloader](http://www.feaser.com) allows CAN firmware update via any CAN pins. OpenBLT uses it's custom (?) update protocol using two CAN PIDs.
|
||||
|
|
|
@ -14,7 +14,6 @@ The Pinout is shown below
|
|||
|
||||
![](https://i.imgur.com/RGOmlZq.png)
|
||||
|
||||
|
||||
## Sensor Setup
|
||||
|
||||
Connect your sensor to a digital input on the ECU. Then, pick the pin in TunerStudio at `Sensors -> Misc sensors -> Flex fuel sensor`.
|
||||
|
|
|
@ -24,6 +24,4 @@ Test 1.4: ground/unground Trigger #2 N wire, should see event counter in `trigge
|
|||
|
||||
Goto board info: [Frankenso VR Input](Hardware-Frankenso#vr-input)
|
||||
|
||||
|
||||
|
||||
PS: technically MAX9926 is not really needed for Hall processing, two channels on the op-amp would do the job just fine and Frankenso has all the jumpers provisioned to make this happen on channels #9 and #11. See [Frankenso Cam/Crank Input](Hardware-Frankenso#camcrank-input)
|
||||
|
|
|
@ -11,7 +11,6 @@ Mandatory links:
|
|||
[Temperature Sensing](Temperature-Sensing)
|
||||
[1994 Miata Frankenso pinout spreadsheet](https://docs.google.com/spreadsheets/d/1LTvS7I-128Hft9uXHG1JrBxetVjGJDSBkySgVDQ6MGk/edit#gid=0)
|
||||
|
||||
|
||||
First you need the board. Then you need the components. I decided to select and buy the components step-by-step.
|
||||
|
||||
![Frankenso 0.5 bare board](Hardware/Frankenso/Frankenso-0.5-naked.jpg)
|
||||
|
@ -21,7 +20,7 @@ The latest Frankenso files can be found [here](https://github.com/rusefi/rusefi/
|
|||
|
||||
## Helpful files
|
||||
|
||||
* [frankenso.csv ](https://github.com/rusefi/rusefi/blob/master/hardware/frankenso/frankenso.csv)
|
||||
* [frankenso.csv](https://github.com/rusefi/rusefi/blob/master/hardware/frankenso/frankenso.csv)
|
||||
* [frankenso_PCB.pdf](https://github.com/rusefi/rusefi/blob/master/hardware/frankenso/frankenso_PCB.pdf)
|
||||
* [frankenso_schematic.pdf](https://github.com/rusefi/rusefi/blob/master/hardware/frankenso/frankenso_schematic.pdf)
|
||||
|
||||
|
@ -41,6 +40,7 @@ I decided to start with the power supply / voltage converter. After the required
|
|||
The remaining parts I group by the engine components, see the following table:
|
||||
|
||||
### Engine components
|
||||
|
||||
* Crankshaft position sensor
|
||||
* Camshaft position sensor
|
||||
* Mass Air Flow sensor
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
|
||||
![board](installations/MazdaMiataNA6_Frankenso_pnp/Frankenso_MazdaMiataNA6_pnp_053_na6_v0_1.jpg)
|
||||
|
||||
[Frankenso Board Technical Details](Hardware-Frankenso#default-pinout)
|
||||
|
@ -25,7 +24,6 @@
|
|||
| | | | | |
|
||||
-----------------------------------
|
||||
|
||||
|
||||
[Frankenso analog](Hardware-Frankenso#analog-inputs)
|
||||
|
||||
| Analog | ECU pin |MCU pin | pull-up | pull-down | |
|
||||
|
@ -46,10 +44,8 @@
|
|||
|
||||
-----------------------------------
|
||||
|
||||
|
||||
[Frankenso MazdaMiataNA6 pnp](Frankenso-MazdaMiataNA6-pnp)
|
||||
|
||||
|
||||
![board](installations/MazdaMiataNA6_Frankenso_pnp/Frankenso_MazdaMiataNA6_pnp_jumpers.jpg)
|
||||
|
||||
![board](installations/MazdaMiataNA6_Frankenso_pnp/Frankenso_MazdaMiataNA6_pnp_jumpers_left.png)
|
||||
|
|
|
@ -4,6 +4,7 @@ The [Frankenso](Hardware-Frankenso) board was designed to be used on Mazda Miata
|
|||
## Stage 0
|
||||
|
||||
### Everything stock running rusEFI ECU
|
||||
|
||||
All stock sensors, no extra wires, no extra hoses - just lift the carpet and plug rusEFI box instead of OEM ECU.
|
||||
|
||||
Timing, fuel control based on VAF/MAF, programmable check engine light, A/C compressor control. Online tuning using TunerStudio.
|
||||
|
@ -11,12 +12,15 @@ Timing, fuel control based on VAF/MAF, programmable check engine light, A/C comp
|
|||
SD card logging, LCD screen and joystick because why not.
|
||||
|
||||
## Stage 1
|
||||
|
||||
Stage 0 + External wide band controller, wide band oxygen sensor, external MAP sensor
|
||||
|
||||
## Stage 2
|
||||
|
||||
Stage 1 + TPS
|
||||
|
||||
#### Bench testing options
|
||||
|
||||
On NA6 Spark #1 and Spark #3 would audibly click if you use bench Spark Test button.
|
||||
Because of wasted spark wiring Spark #2 and Spark #4 are not expected to click.
|
||||
|
||||
|
@ -36,12 +40,11 @@ You would really need a wideband sensor. Here is the middle plug pinout to wire
|
|||
A small flat screw driver and small pliers allow you to move side latches and open the cap.
|
||||
Insert supplied extra pin wire (pin on this picture) and close the latches. Done!
|
||||
|
||||
|
||||
-----------------------------------
|
||||
[Frankenso Miata NA6 PNP Technical Details](Frankenso-MazdaMiataNA6-pnp-board-wiring)
|
||||
|
||||
|
||||
### TPS mod
|
||||
|
||||
Cars with automatic OEM engine harness use a better OEM TPS sensor.
|
||||
On vehicles with manual OEM engine harness this TPS mod is recommended.
|
||||
|
||||
|
@ -53,18 +56,15 @@ original manual wiring:
|
|||
|
||||
GND is middle pin on OEM manual plug unfortunately
|
||||
|
||||
|
||||
stop light switch:
|
||||
ground if not depressed
|
||||
floating if pressed / depressed
|
||||
|
||||
-----------------------------------
|
||||
|
||||
|
||||
Fly back diode:
|
||||
NSR0530HT SOD-323 SMD Schottky Barrier Diodes 30V 500mA 0.5A
|
||||
|
||||
|
||||
![Engine Wiring](OEM-Docs/Mazda/1990_Miata/1990_mazda_miata_us_wiring.png)
|
||||
|
||||
[Mazda_Miata_1990](Mazda-Miata-1990)
|
||||
|
|
|
@ -22,5 +22,4 @@ Test 2.4: take an AA or AAA battery, connect Battery+ to Trigger #2 N wire, touc
|
|||
Then flip the battery and hold Battery+ to Trigger #2 P and touch Battery- with Trigger #2 N wire.
|
||||
Should see event counter in ''triggerinfo'' go up
|
||||
|
||||
|
||||
Goto board info: [Frankenso VR Input](Hardware-Frankenso#vr-input)
|
||||
|
|
|
@ -7,6 +7,7 @@ The Air Fuel Ratio (AFR) is controlled by how much fuel is delivered to the cyli
|
|||
Most people who are installing tune-able ECU's like rusEFI are looking for more power at the track. However your fuel weight advantage is also commonly important. So it is common that an engine will be tuned for peak power when over a certain load, and peak economy when at a cruise load. OEM's are often concerned with minimal environmental impact, so they may tune to a different AFR. Once you have decided on what your AFR strategy is going to be, you'll have to tune rusEFI to deliver that strategy. As well you will probably use a wide band oxygen sensor to measure your AFR and ensure that you are meeting your desired AFR target.
|
||||
|
||||
# Supported fuel control algorithms
|
||||
|
||||
rusEFI supports mono, individual/sequential and batched fuel injection using one of the following fuel control algorithms:
|
||||
|
||||
1. MAF-based or MAP-based table fuel lookup with interpolation - these algorithms only use the raw sensor output and thus they do not account for ambient air temperature, this is only intended as a minimum viable hardware configuration and we would suggest using the AlphaN, Speed Density or MAF air charge methods instead.
|
||||
|
@ -19,30 +20,24 @@ rusEFI supports mono, individual/sequential and batched fuel injection using one
|
|||
|
||||
Wideband Oxygen Sensor is pretty much a requirement for both manual and auto-tuning.
|
||||
|
||||
|
||||
![General Settings](Fuel/Fuel_Control/general.png)
|
||||
|
||||
Within each fuel calculation mode there is coolant temperature correction ("warm-up mode"), battery voltage correction and injector open time ("injector lag") correction.
|
||||
|
||||
|
||||
|
||||
Commands related to injector lag:
|
||||
|
||||
|
||||
set_flat_injector_lag LAG
|
||||
|
||||
set_injector_lag VOLTAGE LAG
|
||||
|
||||
set targetvbatt VOLTS
|
||||
|
||||
|
||||
sequential: set injection_mode 1
|
||||
|
||||
batch: set injection_mode 2
|
||||
|
||||
rusEFI could be used with MAF sensors sending out voltage (like Mazda Miata) or current (like Ford Aspire).
|
||||
|
||||
|
||||
![Table](Fuel/Fuel_Control/table.png)
|
||||
|
||||
(also some content at [this forum thread](http://rusefi.com/forum/viewtopic.php?f=2&t=1124))
|
||||
|
@ -58,23 +53,27 @@ fuelbench 100 200 10a
|
|||
## Full Formulas
|
||||
|
||||
### Alpha-N
|
||||
|
||||
TPS-based table fuel lookup with interpolation (Alpha-N)
|
||||
|
||||
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) * intake_air_correction_curve_lookup(INTAKE_AIR_TEMP) * fuel_table_lookup(RPM, TPS)
|
||||
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) *intake_air_correction_curve_lookup(INTAKE_AIR_TEMP)* fuel_table_lookup(RPM, TPS)
|
||||
|
||||
where TPS is the reading at the start of engine cycle
|
||||
|
||||
### MAF
|
||||
|
||||
MAF-based table fuel lookup with interpolation
|
||||
|
||||
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) * intake_air_correction_curve_lookup(INTAKE_AIR_TEMP) * fuel_table_lookup(RPM, MAF)
|
||||
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) *intake_air_correction_curve_lookup(INTAKE_AIR_TEMP)* fuel_table_lookup(RPM, MAF)
|
||||
|
||||
where MAF is the reading at the start of engine cycle
|
||||
|
||||
## Auto tune
|
||||
|
||||
Fuel map auto-tune is a process of automatically preparing the configuration table based on the information gathered while vehicle is being operated. At the moment we rely on EFI Analytics Tuner Studio for fuel map (MAF mode) or VE map (Speed Density mode).
|
||||
|
||||
## Closed loop correction
|
||||
|
||||
Last but not least closed-loop fuel correction dynamically corrects fuel to match target AFR. The better your maps are, the better your actual AFR would be as is. Closed-loop correction is the tool to fix the gap between your maps, our models and reality.
|
||||
|
||||
![Fuel PID options](Images/Fuel_pid.png)
|
||||
|
@ -95,7 +94,7 @@ Of course the opposite is true as well: When lifting off the gas pedal, suddenly
|
|||
|
||||
The obvious way to deal with the effects is to adjust the amount of fuel injected based on the increase or decrease in pressure in the intake. When using the speed-density algorithm for fueling, this is fairly easy, as we have the pressure right from the MAP sensor. So basically you take a multiplier to the fuel you would ordinarily inject and base it on the delta in pressure. Small delta means small multiplier and big delta means big multiplier.
|
||||
|
||||
#### Explanation of parameters:
|
||||
#### Explanation of parameters
|
||||
|
||||
![Engine Load Parameters](Images/EL_based_parameters.png)
|
||||
|
||||
|
@ -109,7 +108,7 @@ The **Accel Multipier(coeff)** determines how much additional fuel is given. The
|
|||
|
||||
**Decel Threshold(roc)** and **Decel Multiplier(coeff)** are the same as the corresponding parameters, but for deceleration enleanment calculation.
|
||||
|
||||
#### Taper:
|
||||
#### Taper
|
||||
|
||||
After an increase in MAP there is an immediate need for more fuel. So at least until all cylinders fired once we need to add fuel. But even after that, things usually haven’t quieted down completely, so for the next events we still need a little more additional fuel and so on. That’s where the taper multiplier comes in.
|
||||
|
||||
|
@ -118,13 +117,14 @@ After an increase in MAP there is an immediate need for more fuel. So at least u
|
|||
Other corrective factors may be needed in future. For example, at high air-velocities in the intake, meaning high rpm, the effects are not as pronounced, so less enrichment may be needed based on rpm.
|
||||
Load based enrichment has a few disadvantages. One major disadvantage is that it is just a hair slow. Especially with small throttle movements at high vacuum, the reaction of load based enrichment is not fast enough and can’t easily be tuned fine enough. For this we use a different strategy.
|
||||
|
||||
### TPS Delta Strategy:
|
||||
### TPS Delta Strategy
|
||||
|
||||
TPS-movement can be used as a predictor of change in MAP. This is equivalent to the accelerator pump on carbureted engines. A slow push on the pedal (small delta) causes very little or no enrichment (dumped fuel), whereas a hefty stomp on the pedal and rapid movement result in a big additional shot of fuel.
|
||||
|
||||
The advantage of TPS based enrichment is that it reacts very quickly and can react to small amounts of change at or near closed throttle. The disadvantage is that it can’t react to changes in MAP that are not caused by a change in throttle position, like a turbo-charger spooling up. Usually a mix of load-based and TPS-based enrichment is employed.
|
||||
|
||||
#### Explanation of parameters:
|
||||
#### Explanation of parameters
|
||||
|
||||
The parameters for TPS-based enrichment have the same meaning as the Engine-Load based parameters. However, there is no multiplier- this is taken care of in a separate table.
|
||||
|
||||
![TPS Parameters](Images/TPS_based_parameters.png)
|
||||
|
@ -141,7 +141,8 @@ Why so complicated? A throttle-body is not a linear device. Cracking it slightly
|
|||
|
||||
In future more adjustments may be needed- for example at low rpms a throttle that is just 10% open may essentially be considered fully open, since it does not cause a significant restriction to the low airflow, so opening the throttle from 10% to 100% may have only a negligible effect on MAP. But at high rpms there will still be a significant change in MAP, Even when the position changes from 90% to 100%. A calibration table for this behavior may be required in order to be able to tune enrichment perfectly.
|
||||
|
||||
#### To Do:
|
||||
#### To Do
|
||||
|
||||
1. Come up with a strategy on how to deal with cumulative effects. Example: Push down on the gas pedal. What if that process takes longer than one engine rotation?
|
||||
|
||||
**Example:**
|
||||
|
@ -155,12 +156,14 @@ Should the fuel from the current change and the previous taper be added up? Or a
|
|||
|
||||
2. Deal with warming up. During warmup more additional fuel is needed. We need a setting to adjust for that.
|
||||
|
||||
#### Tuning Strategy:
|
||||
#### Tuning Strategy
|
||||
|
||||
The point of enrichment tuning is to keep the engine from bogging down when stepping on the throttle. While it would be great to maintain perfect AFRs while this is happening, that goal is currently not realistic. OEM ECUs don’t get it perfect either.
|
||||
|
||||
A gasoline engine will run without noticeable bogging at AFRs between 9 and 16, maybe 17 or so. So we’re shooting to stay within a very wide corridor.
|
||||
|
||||
On tuning there seem to be two main conflicting theories:
|
||||
|
||||
- Use mainly Load-based enrichment and fix the little blips that can’t be tuned with load-based enrichment by TPS-based.
|
||||
- Use mainly TPS-based enrichment and add a little bit of load-based enrichment to fix what TPS-based can’t take care of.
|
||||
|
||||
|
|
|
@ -7,20 +7,19 @@ TL,DR: we had car [starting/idling - Video](https://youtu.be/JB2RnAJJSOk) using
|
|||
[Test Mule Wiring Diagram](VolkswagenPassatB6) runs on rusEFI GDI!
|
||||
|
||||
Gasoline Direct Injection requires a few additional components on top of port injection:
|
||||
|
||||
1) High voltage injection control - we have [rusEFI GDI dev board](MC33816-PT2001-dev-board) which [has clicked injector on a bench - Video](https://www.youtube.com/watch?v=MI0gJ4th9Tg).
|
||||
|
||||
2) High pressure fuel pump solenoid control - we have a basic implementation
|
||||
|
||||
3) Target fuel pressure logic - we have nothing, but could be as easy as adding a simple table?
|
||||
|
||||
|
||||
![x](OEM-Docs/NXP/pulse-variables.jpg)
|
||||
|
||||
![x](OEM-Docs/NXP/WBNR_FTF12_AUT_F0098.pdf_page59.png)
|
||||
|
||||
![x](OEM-Docs/NXP/WBNR_FTF12_AUT_F0098.pdf_page72.png)
|
||||
|
||||
|
||||
See also [BMW injector driver](https://rusefi.com/forum/viewtopic.php?f=4&t=1564)
|
||||
|
||||
See also [rusEFI injector driver](https://github.com/rusefi/rusefi-hardware/tree/main/GDI-4ch)
|
||||
|
|
5
GDI4.md
5
GDI4.md
|
@ -13,19 +13,20 @@
|
|||
* Metal case
|
||||
* open and short circuit software PENDING
|
||||
|
||||
|
||||
![x](Hardware/GDI/rusefi-gdi4-rev-a.jpg)
|
||||
|
||||
|
||||
# Changelog
|
||||
|
||||
rev C:
|
||||
|
||||
* optional six channels
|
||||
* Low-side 1 output moved to PB8 to free analog input.
|
||||
|
||||
rev B:
|
||||
|
||||
* rev A with [#101](https://github.com/rusefi/rusefi-hardware/issues/101) fixed
|
||||
|
||||
rev A:
|
||||
|
||||
* Arrived April 2022
|
||||
* fully working but [soldering nightmare issue](https://github.com/rusefi/rusefi-hardware/issues/101)
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
mc123 black 73 31387-2014 and grey 80 31387-4009.
|
||||
|
||||
https://github.com/rusefi/proteus-gm-e38
|
||||
<https://github.com/rusefi/proteus-gm-e38>
|
||||
|
|
|
@ -6,15 +6,12 @@
|
|||
|
||||
![image](https://user-images.githubusercontent.com/48498823/175112155-b0a7f661-4288-444e-8ac2-c9e3f5ee2f2c.png)
|
||||
|
||||
|
||||
https://github.com/rusefi/proteus-gm-e67
|
||||
|
||||
<https://github.com/rusefi/proteus-gm-e67>
|
||||
|
||||
![x](OEM-Docs/GM/e67-oem.png)
|
||||
|
||||
mx123 molex. 56 pin blue 31386-2020. 73 pin black 31387-2014. 73 pin grey 31387-2002
|
||||
|
||||
|
||||
# Alternator
|
||||
|
||||
[OEM-Docs/GM/e67-CTSV.Charging.pdf](OEM-Docs/GM/e67-CTSV.Charging.pdf)
|
||||
|
@ -27,7 +24,6 @@ mx123 molex. 56 pin blue 31386-2020. 73 pin black 31387-2014. 73 pin grey 31387-
|
|||
|
||||
[LS9 crate](OEM-Docs/GM/ls9-crate-engine-control-system-19354338.pdf)
|
||||
|
||||
|
||||
[2007-Impala-5.3](OEM-Docs/GM/e67-2007-Impala-5.3-ECU.pdf)
|
||||
|
||||
[2008 XLR V STS 4.4 NA ECU.pdf](OEM-Docs/GM/e67-2008-XLR-V-STS-4.4-NA-ECU.pdf)
|
||||
|
@ -40,8 +36,8 @@ mx123 molex. 56 pin blue 31386-2020. 73 pin black 31387-2014. 73 pin grey 31387-
|
|||
|
||||
[2013-CTS-6.2-Supercharged-ECU-LSA-ENGINE.pdf](OEM-Docs/GM/e67-2013-CTS-6.2-Supercharged-ECU-LSA-ENGINE.pdf)
|
||||
|
||||
|
||||
Gen IV V8, V6, L4 E67 ECM – Stream E67
|
||||
|
||||
```
|
||||
V8 Cars
|
||||
08 Buick Allure 5.3L
|
||||
|
|
15
Gen-4-LS.md
15
Gen-4-LS.md
|
@ -1,17 +1,16 @@
|
|||
https://github.com/rusefi/rusefi/wiki/GM-E38
|
||||
<https://github.com/rusefi/rusefi/wiki/GM-E38>
|
||||
|
||||
https://github.com/rusefi/rusefi/wiki/GM-E67
|
||||
<https://github.com/rusefi/rusefi/wiki/GM-E67>
|
||||
|
||||
73+80 e38 ECM, used 07-14 trucks/suv
|
||||
|
||||
https://www.maxxecu.com/webhelp/wirings-pluginecu-chevrolet_corvette_c6_e38_ecm.html
|
||||
<https://www.maxxecu.com/webhelp/wirings-pluginecu-chevrolet_corvette_c6_e38_ecm.html>
|
||||
|
||||
https://lt1swap.com/E38%20ECM%20Connector%20Pinouts.htm
|
||||
<https://lt1swap.com/E38%20ECM%20Connector%20Pinouts.htm>
|
||||
|
||||
x+y+z E67 ECM used 2007+ envoy, trailblazer, saab 97x, rainier, impala ss, and others
|
||||
|
||||
https://www.lt1swap.com/pcm_identification.htm
|
||||
|
||||
<https://www.lt1swap.com/pcm_identification.htm>
|
||||
|
||||
E38 and E67 are very comparable in terms of processor speed, OS design, etc.
|
||||
|
||||
|
@ -21,10 +20,9 @@ All PowerPC. There are early (2006-2009) and late (2010-2013) models of each whi
|
|||
|
||||
If I had to make an educated guess, GM used the E67 for their GMPP (GM Performance Parts) control packs because they had more of them left over. The E38 was the more popular application by far.
|
||||
|
||||
|
||||
# e67
|
||||
https://github.com/rusefi/rusefi/wiki/GM-E67
|
||||
|
||||
<https://github.com/rusefi/rusefi/wiki/GM-E67>
|
||||
|
||||
# e38 2007 Tahoe 5.3
|
||||
|
||||
|
@ -38,5 +36,4 @@ https://github.com/rusefi/rusefi/wiki/GM-E67
|
|||
|
||||
![x](OEM-Docs/GM/2007-tahoe-5.3-vin0-5.png)
|
||||
|
||||
|
||||
See also [Gen-5-LS](Gen-5-LS)
|
|
@ -1,5 +1,7 @@
|
|||
## Prerequisites
|
||||
|
||||
This section assumes
|
||||
|
||||
* You have hardware connected to an engine.
|
||||
* You can connect to the rusEFI board with a USB cable, or some communications stream.
|
||||
* You have a PC which is running Tuner Studio, and can connect it to the board
|
||||
|
@ -8,7 +10,9 @@ This section assumes
|
|||
* This tutorial assumes that you want speed density, which is good for peak power applications and it's assumed you are tuning the load tables.
|
||||
|
||||
## Fuel tuning
|
||||
|
||||
### Some quick theory
|
||||
|
||||
Most people who do the after market ECU are looking to get around the track faster. This section assumes you are looking for fast track times. This commonly means you are looking for minimal fuel consumption when you are maintaining speed or decreasing speed, then max power when you are at higher engine loads. Every person will be differ in what RPM and loads they want power vs fuel efficiency. The below graphic shows how you vary horse power as you change AFR.
|
||||
|
||||
![Airflow chart](Fuel/Fuel_Control/Airfuel.jpg)
|
||||
|
@ -20,7 +24,9 @@ However if you have a 4 cyl Miata, then your load under the same conditions as n
|
|||
The tuning tables are mostly for tuning the steady state conditions. There is also a bunch of tuning to deal with the short term dynamic conditions, as well there is tuning for cold engine conditions, etc. Every one has a different tuning preference for a variety of reasons, some good some not so good. This tutorial is going to make some suggestions and keep in mind there are going to be lots of different opinions and different reasons for doing things differently. This tutorial is just a suggestions, and will suggest you first start with a warm engine and tune the load table such that you get the AFR's that you are looking for. Then tune the wall wetting, then tune the cold start conditions.
|
||||
|
||||
## Quick version
|
||||
|
||||
### Manual tuning via TS
|
||||
|
||||
Open TS, and guess at your fuel table, it will probably look similar to the below.
|
||||
|
||||
![Target AFR chart](Images/Target-afr.jpg)
|
||||
|
@ -38,10 +44,12 @@ Once fuel is good, then do the same with spark, again adjust for max power and i
|
|||
This requires a resisted version of TS. The general procedure here is similar to the manual tune method, but you set the desired AFR in a table drive it around and TS will adjust the cells to get the AFR that it's commanded to get to. While is is effective, peak power can be obtained via dyno, not by AFR measurements, so this is great for those that don't have a dyno, but if you are looking for peak power, you really need a dyno.
|
||||
|
||||
### Wall wetting tuning
|
||||
|
||||
Once it's operational, you now want to tune the dynamic such that you get faster throttle response.
|
||||
TBD
|
||||
|
||||
### Cold temperature
|
||||
|
||||
Once it's working well and reacts well to quick changes in the long pedal, you'll want cold temperature enrichments such that it starts nice and easy.
|
||||
TBD
|
||||
|
||||
|
@ -62,29 +70,30 @@ Take notes about your setup, preferably including what ever parameters you can p
|
|||
|
||||
Find the forum sub section where people are sharing tunes, then fill out your posting the with the suggested XYZ format. At the time of writing this most of this tuning sharing stuff new and pre-alpha.
|
||||
|
||||
|
||||
|
||||
Obviously tuning is a subject too complex to be dealt with exhaustively in a short wiki page. So all we can do here is give you some pointers. At this point we assume that you got the engine to run, or at least sputter using your rusEFI. All your main inputs and outputs needed to make an engine run OK are working.
|
||||
|
||||
This should be at least:
|
||||
Inputs:
|
||||
- Trigger Inputs (crank and cam or cams)
|
||||
- Mass Airflow Meter* or Manifold Air Pressure sensor
|
||||
- Coolant Temperature
|
||||
- Intake Air Temperature
|
||||
- Wideband O2 sensor would be really great to have too
|
||||
|
||||
* Trigger Inputs (crank and cam or cams)
|
||||
* Mass Airflow Meter* or Manifold Air Pressure sensor
|
||||
* Coolant Temperature
|
||||
* Intake Air Temperature
|
||||
* Wideband O2 sensor would be really great to have too
|
||||
|
||||
*Using a Mass Airflow Meter assumes that you have a known MAF transfer function for your specific Mass Airflow Meter
|
||||
|
||||
Outputs:
|
||||
- Fuel pump (if controlled by ECU)
|
||||
- Ignition coil(s)
|
||||
- Fuel Injectors
|
||||
- Idle Air Valve or other Idle Air Controller
|
||||
|
||||
* Fuel pump (if controlled by ECU)
|
||||
* Ignition coil(s)
|
||||
* Fuel Injectors
|
||||
* Idle Air Valve or other Idle Air Controller
|
||||
|
||||
Now we need the engine to idle acceptably, so we can check base timing. If your engine idles fine and your Air-fuel-ratio is within the acceptable range (let's say between 11 and 15 or so), continue to the base timing section.
|
||||
|
||||
## Getting the engine to idle
|
||||
|
||||
This section assumes that you have a wideband O2 sensor installed and you get readings that make some sort of sense.
|
||||
If your idle is just rough and low, or way too high, or maybe oscillating wildly, the most likely issue is that your idle control is not set right. Open the idle control main dialog under "Idle" -> "Idle Settings" and change the first setting to "Manual" (circled in yellow). This will allow you to manually control your idle setting. Then use the slider (circled in purple) to change your idle rpm.
|
||||
![Idle_Settings](Images/Initial_Setup_Images/Manual_idle.png)
|
||||
|
@ -93,6 +102,7 @@ If your idle is just rough and low, or way too high, or maybe oscillating wildly
|
|||
If you can change your idle to some degree with the idle control, but can't really get it right, chances are either your engine is running with a terrible air-fuel-ratio or possibly your ignition timing is way off.
|
||||
|
||||
### Adjusting idle air-fuel-ratio
|
||||
|
||||
If your AFR is too high (probably > 15 for gasoline), you need to increase the amount of fuel delivered to the engine. The quick and dirty trick is to tell your ECU that your injectors are smaller than they really are. You can do that under "Fuel" -> "injection Settings" -> "Injector Settings". Alternatively, if your AFR is too low (typically < 10 for gasoline), you need to reduce the amount of fuel delivered. So the quick and dirty trick is to cheat and tell the ECU that the injectors are bigger than they actually are.
|
||||
If you use this, make sure to remember to undo it when you are ready to properly tune your fuel table.
|
||||
|
||||
|
@ -104,6 +114,7 @@ Don't worry about getting this "just right" for now. All we want is a fairly smo
|
|||
(* if you've been running the engine super-rich for extended periods of time, change your oil. You will likely have a substantial amount of fuel that has been washed into your oil now. Fuel is not a great lubricant)
|
||||
|
||||
### Adjust base timing
|
||||
|
||||
Now that you have a somewhat smooth idle, it's time to adjust your base timing. In order to do this, you must have some sort of timing mark on your crank pulley and some pointer on the engine block. You need to know what the ignition timing is, when the two are lined up.
|
||||
|
||||
![Timing Mark](https://www.wikihow.com/images/thumb/5/5a/Adjust-Timing-Step-3-Version-3.jpg/aid1389196-v4-728px-Adjust-Timing-Step-3-Version-3.jpg)
|
||||
|
@ -119,6 +130,7 @@ If the marks don't line up, you need to adjust your trigger settings. Go to "Bas
|
|||
Once this is done, don't forget to change your timing mode back to "dynamic" or you will continue to run on fixed timing and give up a ton of horsepower/fuel economy and have some REALLY high exhaust temperatures.
|
||||
|
||||
## Time to Tune your VE table with TS AutoTune
|
||||
|
||||
This is assuming that you are using the purchase version of TunerStudio with Autotune enabled. If you are planning on tuning your fuel table manually, you probably know what you're doing and don't need to read this wiki.
|
||||
|
||||
But before we get to the exciting subject of tuning, there is the slightly more boring subject of target AFRs. These are defined in the aptly named target AFR table. Go to "Fuel" -> "Target AFR" and to start with having a value of 14 in all cells is probably good enough. Or you can go a bit more creative and use something like this.
|
||||
|
@ -132,5 +144,3 @@ All this is to say that it's better to start out too rich than to start out too
|
|||
Now we are assuming at this point that your engine is at least idling and you can hopefully keep it alive if you give it some throttle. Maybe it even runs alright through most of the normal operating range. This would be the case if you received a fuel base map from some engine that is at least similar to your engine.
|
||||
|
||||
Autotune will
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
The best way to build the rusEFI firmware is using a set of tools that run best under linux,
|
||||
|
||||
|
||||
1. Install WSL
|
||||
Run the following in an elevated powershell
|
||||
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
|
||||
|
@ -14,7 +13,7 @@ Download the appx for linux 2004 from here:
|
|||
[WSL Install Manual](https://docs.microsoft.com/en-us/windows/wsl/install-manual)
|
||||
Or type the following into powershell:
|
||||
cd ubuntu/
|
||||
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-2004 -OutFile Ubuntu.appx -UseBasicParsing
|
||||
Invoke-WebRequest -Uri <https://aka.ms/wsl-ubuntu-2004> -OutFile Ubuntu.appx -UseBasicParsing
|
||||
This command will download the file to the currently active directory.
|
||||
|
||||
3. install linux
|
||||
|
@ -32,7 +31,7 @@ Make sure the ubuntu 2004 is marked as default.
|
|||
sudo apt-get install git
|
||||
|
||||
6. clone git
|
||||
git clone https://github.com/YOUR-REPOSITORY/rusefi.git
|
||||
git clone <https://github.com/YOUR-REPOSITORY/rusefi.git>
|
||||
|
||||
7. Run setup script
|
||||
cd /home/owner/rusefi/firmware
|
||||
|
@ -63,18 +62,15 @@ code .
|
|||
14. Run the built tool for the specific board in VScode
|
||||
Ctrl-Shift-B and select the chosen board, this should build the firmware.
|
||||
|
||||
|
||||
|
||||
- Note submodules are their own thing - the main repo just contains a pointer to where the submodule should be checked out
|
||||
|
||||
|
||||
- Zach method:
|
||||
install wsl (already have ubuntu 20.04 on wsl2)
|
||||
sudo apt update
|
||||
sudo apt install openjdk-8-jre-headless -y
|
||||
curl -O https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
|
||||
curl -O <https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2>
|
||||
tar -xf gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
|
||||
|
||||
|
||||
### Without WSL
|
||||
Less fancy toolchain without WSL works as well https://rusefi.com/forum/viewtopic.php?f=5&t=9
|
||||
|
||||
Less fancy toolchain without WSL works as well <https://rusefi.com/forum/viewtopic.php?f=5&t=9>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
|
||||
[AMPSEAL Connector Video Tutorial](https://youtu.be/24bNFu7a9lc)
|
||||
|
||||
If your pins are not loose, use nice wire cutters to separate individual terminals from the loom - do not bend break terminals from the loom.
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
|
||||
DFU is Device Firmware Update mode - that's a way to update firmware via the same USB cable you use for rusEFI communication. stm32 DFU is part of stm32 factory bootloader and we expect that any rusEFI board could be updated/reset via same USB connector as the one you use to communicate to your rusEFI ECU. Please let us know if that's not the case!
|
||||
|
||||
*Auto DFU* is when your rusEFI console switches your rusEFI device into DFU mode
|
||||
|
@ -11,7 +10,6 @@ used to program brand new stm32 chips which do not have a running version of rus
|
|||
|
||||
On a STM32F4 Discovery, entering DFU mode requires putting a jumper between the pins VDD and BOOT0, then powering or resetting the board.
|
||||
|
||||
|
||||
## Q: I have "STM Device in DFU Mode" in Device Manager and rusEFI console does not update firmware. What's wrong?
|
||||
|
||||
A: As of Oct 2021 rusEFI console uses "newer" ST DFU driver. You would need to remove older "STM Device in DFU Mode" driver. Hit "Remove Device" with "Remove Drivers" checkbox. Once you've removed newer "STM Device in DFU Mode" driver re-install DFU driver using rusEFI console driver button. Alternatively install driver manually from drivers\silent_st_drivers\DFU_Driver folder.
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
# Bosch 7506280 wiring
|
||||
|
||||
|
||||
# 81 pin connector
|
||||
|
||||
|Pin Number|Name | Type ID | Default function | rusEFI color | rusEFI connector |
|
||||
|
@ -27,8 +26,6 @@
|
|||
| 53 | | | CAN | | |
|
||||
| | | | | | |
|
||||
|
||||
|
||||
|
||||
# 40 pin connector
|
||||
|
||||
|Pin Number|Name | Type ID | Default function | rusEFI color | rusEFI connector |
|
||||
|
@ -54,4 +51,3 @@
|
|||
| 120 | | | inj pos #6 | | |
|
||||
| 121 | | | inj pos #2 | | |
|
||||
| | | | | | |
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ Place some place that is away from hot items like the exhaust. Mount on a piece
|
|||
|
||||
### connecting ECU if it's not plug-and-play
|
||||
|
||||
|
||||
* Start by getting junk yard ECU
|
||||
* Delicately break apart the junk yard ECU salvaging the ECU connector and perhaps the enclosure.
|
||||
![Harness on car](Images/Harness_on_car.jpg)
|
||||
|
@ -89,14 +88,12 @@ Place some place that is away from hot items like the exhaust. Mount on a piece
|
|||
|
||||
Once connected you should test the wires. Especially the power wires like coil wires and injector wires. A poor connection with a slight resistance like .1 ohms can cause an electrical fire, which I'm sure you do not want. Once everything is connected measure both the voltage drop and current from the ECU connector, or where ever is applicably appropriate. Using your voltage and current readings, calculate the ohms, if it's above about .1 ohms fix the issue. Take note that .1 ohms at 1A is about .1watt that that connection will have to dissipate. If you have a 12 cyl, and 12 .1 ohm connections, the connector will have to dissipate 1.2 watts.
|
||||
|
||||
|
||||
HOWTO start you engine with rusEFI for the first time
|
||||
|
||||
### test outputs
|
||||
|
||||
Both rusEFI console and TS allows you to test if rusEFI properly controls things like injectors (you would hear the clicks), cooling fan (you would hear it - if needed), fuel pump (you would usually hear it - if needed), ignition coil (that's challenging if you have a distributor)
|
||||
|
||||
|
||||
## get tachometer showing correct cranking rpm
|
||||
|
||||
Your tuning software should show correct cranking RPM, usually between 150 and 300 with a fully-charged battery.
|
||||
|
@ -106,6 +103,7 @@ See also [Trigger](Trigger)
|
|||
See also [Trigger Hardware](Trigger-Hardware)
|
||||
|
||||
## Confirm TDC position
|
||||
|
||||
Assuming you have the hardware ready to spark we now need to find your TDC position - we know trigger shape but we do not know the trigger wheel position in relation to TDC#1 (Top Dead Center, cylinder #1).
|
||||
|
||||
Set cranking advance angle to zero for now. Use a timing gun while cranking. We now need to try different values of Engine->Trigger->global trigger angle offset until we get spark at zero advance - that's because we might know the relation between TDC#1 and trigger signal.
|
||||
|
@ -126,7 +124,6 @@ To adjust cranking timing, use `set cranking_timing_angle XXX` command, where XX
|
|||
|
||||
See also [Console Timing Commands](Dev-Console-Commands#timing-control)
|
||||
|
||||
|
||||
To adjust cranking fuel, use `set cranking_fuel XXX` command, where XXX is number of total fuel squirt duration in milliseconds. See also [Console Fuel Commands](Dev-Console-Commands#fuel-control)
|
||||
|
||||
## running parameters
|
||||
|
@ -159,7 +156,6 @@ See also [Debug Fields](Debug-Fields.md)
|
|||
|
||||
[Fuel injectors at first start - Video](https://www.youtube.com/watch?v=lgvt0mh_UB8)
|
||||
|
||||
|
||||
## Diagnostics and trouble shooting of your engine
|
||||
|
||||
### Basic tests
|
||||
|
|
|
@ -28,6 +28,3 @@ Configuration Fields:
|
|||
<b>Fuel Cut:</b> In case RPM would shoot over the target value, fuel cut to stop the engine to rev higher.
|
||||
|
||||
<b>Hard Cut:</b> Launch limits engine while it revs in 2500 - 3500 window. If this value would be set to 1000, then rev limit window would be 2500 - 4000.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
[OEM C230 and SLK230 Wiring Diagrams](Mercedes-C230-and-SLK230)
|
||||
|
||||
|
||||
# W202 C180 M111.921 with ME2.1
|
||||
|
||||
Getting started with the W202 ME2.1 ECU connector
|
||||
|
@ -27,7 +26,6 @@ MRE pin: Where to connect the pin (wiring example).
|
|||
|
||||
Comments: extra info that i learned during wiring in the ECU.
|
||||
|
||||
|
||||
| Connector | Pin Number | Name | Function | ME2.1 Description | MRE pin | Comments |
|
||||
| --------- | ---------- |----- | -------- | ----------------- | ----------------------------- | --------- |
|
||||
| A | 1 | NC | NC | NC | NC |
|
||||
|
@ -89,7 +87,6 @@ Comments: extra info that i learned during wiring in the ECU.
|
|||
C | 39 | DIAG | K line | Diagnostic connection (line K) | |
|
||||
C | 40 | SAM? | | NC | |
|
||||
|
||||
|
||||
| Connector | Pin Number | Name | Function | ME2.1 Description | MRE pin | Comments |
|
||||
| --------- | ---------- |----- | -------- | ----------------- | ----------------------------- | --------- |
|
||||
D | 1 | NC | function | MRE pin | Comments
|
||||
|
@ -117,7 +114,6 @@ D | 1 | NC | function | MRE pin | Com
|
|||
D | 23 | NC | | Break Sw | |
|
||||
D | 24 | NC | | Cruise Control deactivation | |
|
||||
|
||||
|
||||
| Connector | Pin Number | Name | Function | ME2.1 Description | MRE pin | Comments |
|
||||
| --------- | ---------- |----- | -------- | ----------------- | ----------------------------- | --------- |
|
||||
E | 1 | NC | | Injector cyl. 3 | |
|
||||
|
@ -192,5 +188,3 @@ D | 1 | NC | function | MRE pin | Com
|
|||
F | 19 | NC | |Ignition coil for cyl. 5| |
|
||||
F | 20 | IGN2 | |Ignition coil for cyl. 1| |
|
||||
F | 21 | NC | |Operation of injection warning light| |
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ See also [Vault-Of-Electronic-Throttle-Bodies-ETB](Vault-Of-Electronic-Throttle-
|
|||
|
||||
~6 wires are different between [Proteus 0.2](Hardware-Proteus-Wiring-v02) and [Proteus 0.3](Hardware-Proteus-Wiring-v03) - all on the 23 pin plug.
|
||||
|
||||
|
||||
This HOWTO is focusing on M73 engine with stock ECU harness. 1998 stock ECU harness has two 134 pin connectors.
|
||||
|
||||
On my 1998 first set of 9+24+52+40+9=134 pins total is BLACK.
|
||||
|
@ -15,14 +14,13 @@ Second set of 9+24+52+40+9=134 pins total is GREY.
|
|||
|
||||
rusEFI uses six wire colors: black white red orange green blue.
|
||||
|
||||
|
||||
# Proteus
|
||||
|
||||
* +12 from main relay
|
||||
* x12 injectors
|
||||
* CLT
|
||||
* IAT
|
||||
|
||||
|
||||
Total wires between Proteus and GREY - 10
|
||||
Total wires between Proteus and BLACK - 22
|
||||
|
||||
|
@ -55,11 +53,10 @@ Destination legend:
|
|||
| 30 | Ignition 7 | y | Ignition cylinder 7 | White | WHITE | |External Igniter channel #2|
|
||||
| 35 | Ignition 1 | y | Ignition cylinder 1 | Orange | ORANGE| |External Igniter channel #1 |
|
||||
|
||||
|
||||
Unused pins are - 1;2;13;14;25;26;27;28;29;31;32;33;34;
|
||||
|
||||
|
||||
## Black 23 Pin 776228-1 on Black Proteus 0.2
|
||||
|
||||
|Pin Number|Name | Type ID | Default function |rusEFI color | OEM connector |
|
||||
| ---:|:---------- | ----- |:------------------------------------ | :--------- | --- |
|
||||
| 1 | DIGITAL 2 | din | Camshaft position sensor | Red | Black #3 20/52 |
|
||||
|
@ -75,8 +72,8 @@ Unused pins are - 1;2;13;14;25;26;27;28;29;31;32;33;34;
|
|||
| 23 | +12V mr | 12v | ETB/high-side power supply from main relay | Red | Black #1 8/9 RED/BLU |
|
||||
End of Black Proteus 0.2 23 pin table
|
||||
|
||||
|
||||
## Black 23 Pin 776228-1 on Green Proteus 0.3+
|
||||
|
||||
|Pin Number|Name | Type ID | Default function |rusEFI color | new color| OEM connector |
|
||||
| ---:|:---------- | ----- |:------------------------------------ | :--------- | --- | --- |
|
||||
| 1 | DIGITAL 2 | din | Camshaft position sensor | Red | PINK|Black #3 20/52 |
|
||||
|
@ -95,7 +92,9 @@ End of Black Proteus 0.2 23 pin table
|
|||
End of Green Proteus 0.3+ 23 pin table
|
||||
|
||||
Unused pins are - 3;4;;9;10;11;12;14;20;21;22;
|
||||
|
||||
## White 35 Pin 776231-2
|
||||
|
||||
|Pin Number|Name | Type ID | Default function |rusEFI color|new color| OEM connector |
|
||||
| ---:|:---------- | ----- |:------------------------------------ | :--------- | --- | --- |
|
||||
| 1 | **GND** | sgnd | Sensor GND | Black |BROWN | Black #3 21/52 BRN|
|
||||
|
@ -127,7 +126,6 @@ Unused pins are - 3;4;;9;10;11;12;14;20;21;22;
|
|||
|
||||
Unused pins are - 8;11;12;13;17;18;19;20;23;29;34;35;
|
||||
|
||||
|
||||
Wire length:
|
||||
|
||||
ETB/Pedal: 7ft/213cm
|
||||
|
@ -174,7 +172,6 @@ ECU/OEM pigtails: 52 inches / 132cm
|
|||
| Green | 8 | 5 | 3 |
|
||||
| Total | 56 | 38 | 18 |
|
||||
|
||||
|
||||
|Color | Accessory function |
|
||||
| ---:|:---------- |
|
||||
| Orange | Start button |
|
||||
|
@ -188,30 +185,30 @@ ECU/OEM pigtails: 52 inches / 132cm
|
|||
| Orange | Fuel Pump Relay |
|
||||
| | |
|
||||
|
||||
|
||||
![x](installations/M73_v12_Proteus/134_ignition.jpg)
|
||||
|
||||
|
||||
|
||||
# 9 pin plug #1
|
||||
|
||||
|Pin Number|Name | Type ID | Default function |rusEFI color | OEM connector |
|
||||
| ---:|:---------- | ----- |:------------------------------------ | :--------- | --- |
|
||||
| . | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
|
||||
|
||||
# 24 pin plug #2
|
||||
|
||||
| Pin | type | OEM color | Description | rusEFI color |
|
||||
|---|---|---|---|---|
|
||||
| | | | | |
|
||||
|
||||
# 52 pin plug #3
|
||||
|
||||
| Pin | type | OEM color | Description | rusEFI color |
|
||||
|---|---|---|---|---|
|
||||
| | | | | |
|
||||
|
||||
# 40 pin plug #4
|
||||
|
||||
| Pin | type | OEM color | Description | rusEFI color |
|
||||
|---|---|---|---|---|
|
||||
| 6| IN | | start signal from ignition key |
|
||||
|
@ -221,6 +218,7 @@ ECU/OEM pigtails: 52 inches / 132cm
|
|||
| | | | | |
|
||||
|
||||
# 9 pin plug #5
|
||||
|
||||
| Pin | type | OEM color | Description | rusEFI color |
|
||||
|---|---|---|---|---|
|
||||
| 3 | OUT BLK | ORANGE | coil signal, low-side |
|
||||
|
@ -229,7 +227,6 @@ ECU/OEM pigtails: 52 inches / 132cm
|
|||
| 9 | OUT BLK | ORANGE | coil signal, low-side |
|
||||
| | | | | |
|
||||
|
||||
|
||||
Toyota coil output pin #10 GREEN goes to BLACK breakout
|
||||
|
||||
Toyota coil output pin #1 YELLOW goes to GREY breakout
|
||||
|
@ -238,15 +235,11 @@ Toyota GND pin #3 goes to both BLACK and GREY breakout #5 5/9
|
|||
|
||||
Toyota Battery pin #9 to both BLACK and GREY breakout #1 8/9
|
||||
|
||||
|
||||
* Plug #5 9 pin
|
||||
* ECU pin 3: OUT BLK RED coil signal, low-side
|
||||
* ECU pin 5: GND BRN GND ground
|
||||
* ECU pin 6: OUT BLK RED coil signal, low-side
|
||||
* ECU pin 9: OUT BLK RED coil signal, low-side
|
||||
|
||||
|
||||
|
||||
* Plug #5 9 pin
|
||||
* ECU pin 3: OUT BLK RED coil signal, low-side
|
||||
* ECU pin 5: GND BRN GND ground
|
||||
* ECU pin 6: OUT BLK RED coil signal, low-side
|
||||
* ECU pin 9: OUT BLK RED coil signal, low-side
|
||||
|
||||
See also [the Vault of Electronic Throtttle Bodies](Vault-Of-Electronic-Throttle-Bodies-ETB)
|
||||
|
||||
|
@ -263,5 +256,3 @@ OEM pedal and ETBs are too unusual thus complete redesign of pedal and ETB hardw
|
|||
![x](OEM-Docs/Bmw/1998_750_e38/proteus_0.2/20201019_top_grey.jpg)
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/proteus_0.2/20201019_back_black.jpg)
|
||||
![x](OEM-Docs/Bmw/1998_750_e38/proteus_0.2/20201019_back_grey.jpg)
|
||||
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ We believe in 100% Plug and Play (PnP) ECUs. There are a few steps helping to ma
|
|||
|
||||
Once we have #2 and #3 we can make a nice PnP which uses some OEM box without the breakout board.
|
||||
|
||||
## Q: why so many steps? I am so excited, I shall make a PnP right away!
|
||||
## Q: why so many steps? I am so excited, I shall make a PnP right away
|
||||
|
||||
A: Please start with a wired prototype, it's a valuable development tool. It lets you easily change configurations and play with options until you are happy. At the same time it allows you to become family with the entire system, the entire WORKING system on a WORKING car. It also lets you show off what the product would be on a running car to get feedback from the potential market place with very little investment in time or money. Its about starting at the beginning rather than trying to jump to the end. Worst that happen on this path is you're buddy's car is up and running as quickly and cheaply as possible and you realize the target market doesn't exist. Best case is you're buddy's car is up and running as quickly and cheaply as possible and serves as a marketing and development tool as you can just plug you're new board in, load the tune and know it should work and you can always resell the working generic board you've used for prototyping once you're done testing with it.
|
||||
|
||||
|
@ -19,13 +19,14 @@ There is no down side. It is both project risk management 101 and project accel
|
|||
I am going to make a Nissan76pin -> RusEFI "Proteus" adapter. A friend asked how I was going to do it because he was interested in making a PnP PCB for his car. These instructions are pretty general. "Proteus" can mean any RusEFI version that has enough "stuff" to run your engine. "Nissan76pin" can mean whatever OEM connector will work for your engine. I'm going to assume KiCAD is being used but there's nothing stopping you from using your CAD package of choice.
|
||||
|
||||
Steps:
|
||||
|
||||
1. Make a spreadsheet. I like spreadsheets. If you don't, you can take notes. The point here is to keep a lot of information organized and be able to shuffle it around easily. Here is a [link](https://docs.google.com/spreadsheets/d/1xH6szt3SJB7AzoseS9kyFPDHr-XMuRVpYXs7gHTQ70o/edit?usp=sharing) to the spreadsheet I made to help make the N76-Proteus adapter. (incomplete at time of writing)
|
||||
1. You need a reliable and complete pinout for the OEM connector you wish to use. You will need to know the function of every pin you want to map, what kind of signal it is/how it interacts with the engine. It would be helpful if you give each OEM signal a unique and somewhat descriptive name. You will use this name to connect the OEM connector and the RusEFI board pin when building a schematic in KiCAD.
|
||||
1. Look at Proteus(or your board of choice) pinout. Identify "unique" pins that must be matched with specific functions. ("unique" i.e. Coils, Injectors, Knock sensors, Idle motors) Identify specialized pins which exist in groups - multiple interchangeable pins that have a specialized function. ("specialized" i.e. injectors, coils) Identify general purpose output pins, sort according to low side and high side drive. Note any current limitations. ****MAKE SURE THAT THERE ARE ENOUGH PINS ON THE RUSEFI BOARD YOU WANT TO USE TO MAP 1:1 WITH OEM CONNECTOR!****
|
||||
1. Identify any power distribution pins. Constant/battery +12V. Main power/switched 12V. Main relay/ASD relay control. Power ground(s). Sensor grounds. Sensor reference (+5V). Be aware that not all OEM harnesses do power distribution the same way. You can add a "main relay" or "auto shutdown (ASD) relay" on your adapter board, if need be.
|
||||
1. match up Nissan OEM pinout and Proteus resources: match unique items first - knock sensor(s), idle motors, etc. Match special function items next - coils, injectors, etc. Assign an initial 1:1 connection, or at least where you think it should go. Match GPIO functions like fuel pump, etc. to available I/O. Pay attention to high side drive vs. low side drive. Try to group pins of like function, keeping in mind interchangeability of coil/injector assignments and of GPIO pins for routing later.
|
||||
1. Fire up KiCAD. Choose/create a schematic element with 76 pins to assign to the Nissan 76 pin connector. This can be as simple or as fancy as you want. This can be an existing symbol. The important thing is that the symbol has the same number of pins as the connector you want to use for your PnP.
|
||||
1. Create symbol(s) to use for the RusEFI board that you're going to connect to the OEM connector. Again, you need to make sure that your symbol has the same number of pins on it as the connectors on the RusEFI board. On the Proteus PCB, I need 2x 35pin and 1x 23 pin for the Ampseal connectors on the PCB. You're probably ****not**** going to use a board that actually has these connectors soldered to it but it will be ****much**** easier to connect your adapter board to an existing RusEFI board if you can just set the two boards on top of each other and use a bunch of straight pins/wires to connect the two boards together - how we're going to set it up.
|
||||
1. Create symbol(s) to use for the RusEFI board that you're going to connect to the OEM connector. Again, you need to make sure that your symbol has the same number of pins on it as the connectors on the RusEFI board. On the Proteus PCB, I need 2x 35pin and 1x 23 pin for the Ampseal connectors on the PCB. You're probably ****not****going to use a board that actually has these connectors soldered to it but it will be ****much**** easier to connect your adapter board to an existing RusEFI board if you can just set the two boards on top of each other and use a bunch of straight pins/wires to connect the two boards together - how we're going to set it up.
|
||||
1. On the schematic in KiCAD, assign all pins on Nissan76 the unique meaningful name from your spreadsheet, to keep them straight. You will use this same name later to connect Proteus pins to OEM connector pins, taking advantage of the fact that KiCAD creates an electrical connection between signals which have the same name.
|
||||
1. Use your detailed Spreadsheet to assign the same unique meaningful symbol names(tm) on the Nissan76 pin connector to Proteus pins with a compatible function. Having a pin on each connector with a signal named the same will cause the design software to assign an electrical connection between pins
|
||||
1. If you can't find a reliable PCB footprint, make one. Refer to datasheet. If you can't find a datasheet, break out the calipers and measure pin spacing and pin diameter. as a rule of thumb, you want to have PTH that are at least 15 if not 30mil larger than the pins at their largest diameter. This will give a snug and precise but not too tight fitment. If you think you "found" a decent PCB footprint (versus making one that suits your needs precisely), double check how the pins are numbered. Many PCB footprints that I've downloaded use a different numbering scheme than OEMs use. KiCAD basically only uses pin numbering to connect a schematic symbol and a PCB footprint. You can't assign pin 7 on a schematic to pin 9 on a PCB footprint very easily. ****You need to make sure that however you have your KiCAD symbol numbered EXACTLY matches how your footprint is numbered**** Failure to respect this important rule will cause your design to be totally broken.
|
||||
|
@ -34,6 +35,7 @@ Steps:
|
|||
1. Use a Proteus board (or a life size print out that you cut out) to place the Proteus (or poison of choice) board in a sensible place in the case. Think about the space it will take up and how you are going to mount it. Remember, vibration is a thing and solder joints are not designed to be load bearing, particularly for long periods of time. You will want rigid connections between your adapter board and the RusEFI board that are NOT accomplished by solder. Think: holes with bolts through them, mounting screws, co-mounting with case standoffs/edges, etc. Again, there will be physical measuring here to get it right.
|
||||
1. Place the connectors for Proteus so that simple straight pins can connect the two PCBs. This means putting the connectors on your PCB where you can simply place the Proteus PCB on top. Pay attention to connector orientation!
|
||||
1. It's time to start routing connections:
|
||||
|
||||
* Route unique, sensitive tracks first. knock sensors come to mind. VR sensors come to mind. Be mindful of the need for ground planes / signal return path! Cars are electrically noisy environments and failure to think about signal return paths will cause problems. If you need more of a primer on this, look up papers/videos on high speed design / controlled impedance as the same concepts will apply.
|
||||
* Route analog signals. Start with analog +5v/reference. Try to stake out an area to put a power plane for analog ground such that all analog signals can be on top of the power plane. Then move on to analog signals.
|
||||
* Remember that in most cases, ALL analog inputs will be able to be used for ALL sensors. You can swap AN1 and AN6 on RusEFI boards in order to get cleaner routing to the OE traces that can't be moved on the OEM connector.
|
||||
|
|
|
@ -4,7 +4,6 @@ See also [Mazda-Miata-2003](Mazda-Miata-2003)
|
|||
|
||||
**Disclaimer : This page has been written by a user and thus might not be objective**
|
||||
|
||||
|
||||
# PnP adapter board
|
||||
|
||||
![Isometric view of adapter boaard together with proteus](https://rusefi.com/forum/download/file.php?id=5673&sid=1df371e40697c38dca9221e44ce28b50)
|
||||
|
@ -83,10 +82,6 @@ For the extension connectors the pinnig is the following \:
|
|||
| 2V| | ETB2+| |
|
||||
| 2W| | ETB2-| |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Interface with proteus
|
||||
|
||||
At the moment, the interface between Proteus board and the PnP adapter is handled by hacked up Ampseal connectors. To do that you need to source the male connectors used on Proteus, and cut the plastic shroud on the connector side, flush with the watertight seal if there is any, or with the mounting flange.
|
||||
|
@ -100,6 +95,7 @@ Unit price for QTY 5 assembled and delivered to Europe is 7$.
|
|||
## Improvments
|
||||
|
||||
A few improvment would make this board really plug and play and easier to use
|
||||
|
||||
* For now the MAF input doesn't work because it lacks some pullup/pulldown.
|
||||
* Altough they fit in OEM ECU location, ampseal extension connectors are a bit bulky. They were chosen because board designed had them lying around.
|
||||
|
||||
|
@ -159,20 +155,16 @@ Using an external MAP sensor allows you to get the engine running above ambiant
|
|||
|
||||
**Note :**
|
||||
You can also run the engine naturally aspirated using the OEM "boost sensor". It is located on the EGR systems and is used by stock ECU to determine whether the EGR is working or not. You've probably ditched EGR so far and so you can run a vacuum line from your plenum to this sensor and use it with this calibration:
|
||||
|
||||
* 0V - 15Kpa
|
||||
* 5V - 115Kpa
|
||||
|
||||
Or you can use the OEM sensor for barometric reading and correction.
|
||||
|
||||
|
||||
|
||||
### WBO2 sensor
|
||||
|
||||
|
||||
### To sum up
|
||||
|
||||
|
||||
|
||||
# Tune config
|
||||
|
||||
## Engine basics
|
||||
|
@ -213,4 +205,5 @@ To do that you can drill the OEM body with a 12mm drill bit, the cherry sensor s
|
|||
_Pictures to be added_
|
||||
|
||||
# Running engines forum links
|
||||
|
||||
* CrazyStriker's NB2 : [2004 Mazda MX5 1.8 VVT #50](https://rusefi.com/forum/viewtopic.php?f=2&t=1536&sid=2763fcb9e79e72c3cd9860a69d3620b3)
|
|
@ -1,6 +1,7 @@
|
|||
Remote tuning is possible over Internet using rusEFI TunerStudio plugin if rusEFI ECU is connected to the internet.
|
||||
|
||||
There are three ways to connect rusEFI to internet:
|
||||
|
||||
1) "Broadcast" tab of rusEFI TunerStudio plugin.
|
||||
2) rusEFI network_connector tool running for instance on Raspberry Pi or similar Single Board Computer
|
||||
3) [rusEFI Android application](rusEFI-Android.md)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# Performing A First Start On A New rusEFI install
|
||||
# This page is a work in progress and will be completed in the coming months, please bear with us.
|
||||
|
||||
# This page is a work in progress and will be completed in the coming months, please bear with us
|
||||
|
||||
One of the toughest aspects of any new ECU install is the first start of a new engine. It is an issue a lot of users find so hopefully this comprehensive first start guide will help but clarifying the purpose of the settings and providing some best practice procedures.
|
||||
|
||||
|
||||
Before you can even try to start the engine you have to get some of the basics right:
|
||||
|
||||
- You have to have the engine cranking well with the starter, if the engine cranks lazily then fix that first. You need a good strong consistent cranking speed.
|
||||
|
@ -16,10 +16,13 @@ Before you can even try to start the engine you have to get some of the basics r
|
|||
- Finally, make sure there is fuel in it, the number one non-start issue is a dry fuel tank right up to pro level.
|
||||
|
||||
Cranking - Step one.
|
||||
## Verify your crank sensor reads the trigger wheel.
|
||||
|
||||
## Verify your crank sensor reads the trigger wheel
|
||||
|
||||
This can be done before setting anything in the ECU and should be the first test done.
|
||||
To do this go into tuner studio and disable the fuel injection and the ignition under each of the settings tabs.
|
||||
- Insert picture of each of the settings tabs
|
||||
|
||||
- Insert picture of each of the settings tabs
|
||||
Next go into the high speed logger and simply crank the engine. I recommend the rusEFI console for this job as it has a really good logger in the "engine sniffer" tab.
|
||||
What you should see is the top row giving grey bars that match your expected trigger pattern. If you see no grey bars then you have no trigger events, this means you need to check your crank sensor works or your trigger channel is correct.
|
||||
Hopefully you have grey bars showing your crank pattern. If your unsure of the pattern it makes a lot of sense at this point to grab a snapshot of the screen and compare it to the list of rusEFI compatible crank trigger patterns at the link below:
|
||||
|
@ -34,6 +37,7 @@ See also [Trigger](Trigger)
|
|||
See also [Trigger Hardware](Trigger-Hardware)
|
||||
|
||||
## Confirm TDC position
|
||||
|
||||
Assuming you have the hardware ready to spark we now need to find your TDC position - we know trigger shape but we do not know the trigger wheel position in relation to TDC#1 (Top Dead Center, cylinder #1).
|
||||
|
||||
Set cranking advance angle to zero for now. Use a timing gun while cranking. We now need to try different values of Engine->Trigger->global trigger angle offset until we get spark at zero advance - that's because we might know the relation between TDC#1 and trigger signal.
|
||||
|
@ -54,7 +58,6 @@ To adjust cranking timing, use `set cranking_timing_angle XXX` command, where XX
|
|||
|
||||
See also [Console Timing Commands](Dev-Console-Commands#timing-control)
|
||||
|
||||
|
||||
To adjust cranking fuel, use `set cranking_fuel XXX` command, where XXX is number of total fuel squirt duration in milliseconds. See also [Console Fuel Commands](Dev-Console-Commands#fuel-control)
|
||||
|
||||
## running parameters
|
||||
|
@ -87,7 +90,6 @@ See also [Debug Fields](Debug-Fields.md)
|
|||
|
||||
[Fuel injectors at first start - Forum](https://www.youtube.com/watch?v=lgvt0mh_UB8)
|
||||
|
||||
|
||||
## Diagnostics and trouble shooting of your engine
|
||||
|
||||
### Basic tests
|
||||
|
|
|
@ -10,7 +10,6 @@ AF orange output speed sensor orange
|
|||
|
||||
W red input speed sensor red
|
||||
|
||||
|
||||
Z white input speed sensor white
|
||||
|
||||
## Black 35 Pin 776231-1
|
||||
|
@ -25,8 +24,8 @@ Z white input speed sensor white
|
|||
| | | | | | |
|
||||
| | | | | | |
|
||||
|
||||
|
||||
## Black 23 Pin 776228-1on Black Proteus 0.2
|
||||
|
||||
|Pin Number|Name | Type ID | Default function | rusEFI color | TCU connector |
|
||||
| ---:|:------------- | ----- |:------------------------------------ |------------- | ------------- |
|
||||
| 1 | DIGITAL 2 | din | "D" selector | orange | C |
|
||||
|
@ -43,9 +42,8 @@ Z white input speed sensor white
|
|||
| | | | | | |
|
||||
| | | | | | |
|
||||
|
||||
|
||||
|
||||
## White 35 Pin 776231-2
|
||||
|
||||
|Pin Number|Name | Type ID | Default function | rusEFI color | TCU connector |
|
||||
| ---:|:------------- | ----- |:------------------------------------ |------------- | ------------- |
|
||||
| | | | | | |
|
||||
|
|
|
@ -2,22 +2,26 @@
|
|||
|
||||
## Wiki2
|
||||
|
||||
###Setup:
|
||||
### Setup
|
||||
|
||||
You must have a fork of the main rusefi repo as well as a fork of the rusefi_documentation repo.
|
||||
Clone your fork of the rusefi_documentation repo:
|
||||
`git clone git@github.com:<your username>/rusefi_documentation.git`
|
||||
From your clone, add your wiki as a remote and push to it.
|
||||
|
||||
```
|
||||
git remote add wiki git@github.com:<your username>/rusefi.wiki.git
|
||||
git fetch wiki
|
||||
git push wiki
|
||||
```
|
||||
|
||||
This will get your wiki2 up and running. Now you can make changes, and run
|
||||
|
||||
```
|
||||
git commit -am "your commit message"
|
||||
git push wiki
|
||||
```
|
||||
|
||||
to test them on wiki2.
|
||||
You might have to use `git push --force wiki`.
|
||||
Also, note that the changes must be in the master branch of your fork for this to work.
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
1. let's be honest - the moment things do not work as intended you would need an oscilloscope
|
||||
1. still interested?
|
||||
|
||||
|
||||
|
||||
## HOWTO test brand new ECU design which was never fabricated before
|
||||
|
||||
If dealing with a brand new never before tested hardware design it's recommended to gradually add wires between vehicle connector breakout board and untested ECU.
|
||||
|
@ -33,5 +31,4 @@ If dealing with a brand new never before tested hardware design it's recommended
|
|||
1. Connect ECU to laptop via serial, report type of serial.
|
||||
1. With laptop connected via serial, test & Report, with USB physically disconnected: ECU status LED blinks if powered up, ECU status LED blinks when ignition powered off.
|
||||
|
||||
|
||||
# TODO a bunch of more content is needed here :)
|
||||
|
|
|
@ -2,15 +2,18 @@
|
|||
|
||||
[Download the rusEFI bundle](Download) for your hardware.
|
||||
|
||||
## Windows:
|
||||
## Windows
|
||||
|
||||
Launch [rusEFI Console](Console.md). You can find it in the bundle you downloaded, in the "console" folder.
|
||||
|
||||
Click the "Update Firmware" button once you've picked desired update mode.
|
||||
|
||||
## Linux:
|
||||
## Linux
|
||||
|
||||
The canonical way to update the firmware on Linux is with DFU.
|
||||
|
||||
You will need dfu-util:
|
||||
|
||||
```
|
||||
# Debian/Ubuntu
|
||||
sudo apt install dfu-util
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
* Please upload a few interesting log files to rusEFI online - a starting/warm-up log, a wide open throttle driving log etc.
|
||||
|
||||
|
||||
[Success-stories](Success-stories)
|
||||
|
||||
See also [Knowledge-best-practices-and-Channels](Knowledge-best-practices-and-Channels)
|
||||
|
|
|
@ -69,7 +69,7 @@ Github Wiki is weird.
|
|||
One the one hand, we have [https://github.com/rusefi/rusefi_documentation](https://github.com/rusefi/rusefi_documentation), which we will call "wiki-source".
|
||||
That's a git repository with nice pull request process, but less nice web page rendering which starts each page by showing a list of files - that's not what end users want to see.
|
||||
|
||||
On the other hand, we have [the Github Wiki](https://github.com/rusefi/rusefi/wiki), which we will call "wiki2" which is displayed much nicer - and that is actually implemented by ANOTHER git repository https://github.com/rusefi/rusefi.wiki.git behind the scenes.
|
||||
On the other hand, we have [the Github Wiki](https://github.com/rusefi/rusefi/wiki), which we will call "wiki2" which is displayed much nicer - and that is actually implemented by ANOTHER git repository <https://github.com/rusefi/rusefi.wiki.git> behind the scenes.
|
||||
That repository does not have a nice Pull Request process :(
|
||||
|
||||
Solution? A combination. [wiki2](https://github.com/rusefi/rusefi/wiki) and [wiki-source](https://github.com/rusefi/rusefi_documentation) repositories are actually set to mirror each other.
|
||||
|
@ -106,6 +106,7 @@ For example [https://github.com/rusefi/rusefi_documentation/blob/master/FAQ/imag
|
|||
|
||||
**Q:** What sort of fancy options do we have?
|
||||
**A:** We can do collapsible sections & hints sections! See [cranking](Cranking) for an example. Unfortunately, it's quite picky about how you format the markdown.
|
||||
|
||||
```
|
||||
<details markdown="1"><summary>More...</summary>
|
||||
|
||||
|
@ -116,9 +117,9 @@ For example [https://github.com/rusefi/rusefi_documentation/blob/master/FAQ/imag
|
|||
^ Must have empty line after </details>
|
||||
```
|
||||
|
||||
**Q**: Is it ok that https://github.com/rusefi/rusefi.wiki.git cannot be opened from browser?
|
||||
**A**: There is no reason to open https://github.com/rusefi/rusefi.wiki.git from browser. Also while you technically
|
||||
CAN "git clone https://github.com/rusefi/rusefi_documentation.wiki.git" and it would work -
|
||||
**Q**: Is it ok that <https://github.com/rusefi/rusefi.wiki.git> cannot be opened from browser?
|
||||
**A**: There is no reason to open <https://github.com/rusefi/rusefi.wiki.git> from browser. Also while you technically
|
||||
CAN "git clone <https://github.com/rusefi/rusefi_documentation.wiki.git>" and it would work -
|
||||
you should NOT. Anyone looking to make changes should be making changes to non-wiki git via normal fork & pull request process.
|
||||
|
||||
Additional automation is in charge of merging from https://github.com/rusefi/rusefi_documentation.git into https://github.com/rusefi/rusefi_documentation.wiki.git
|
||||
Additional automation is in charge of merging from <https://github.com/rusefi/rusefi_documentation.git> into <https://github.com/rusefi/rusefi_documentation.wiki.git>
|
||||
|
|
|
@ -2,7 +2,6 @@ Tunerstudio is a tuning application needed while working with rusEFI. Here is ho
|
|||
|
||||
![First project](FAQ/images/simulator/TCP_first_project.png)
|
||||
|
||||
|
||||
In order to create a rusEFI project you need a rusefiSOMETHING.ini file from your [rusEFI bundle](Download).
|
||||
|
||||
Your rusEFI board should also present itself as a USB storage device to your computer, containing the .ini file you need. This is the most foolproof method of making sure you have the correct .ini file.
|
||||
|
|
|
@ -6,10 +6,8 @@ Cube is simple to use, place device in dfu
|
|||
|
||||
Search usb, it would see chip connected to usb
|
||||
|
||||
|
||||
Open hex and download
|
||||
|
||||
|
||||
A major down side of Stm32CubeProgrammer is [this driver issue.](HOWTO-DFU#q-i-have-stm32-bootloader-in-device-manager-and-rusefi-console-does-not-update-firmware-whats-wrong)
|
||||
|
||||
See also [HOWTO-nDBANK](HOWTO-nDBANK)
|
||||
|
|
|
@ -9,10 +9,8 @@ We also do not have much user feedback in general - we do not know how many rusE
|
|||
|
||||
Another weak point of rusEFI is documentation. If you've played with rusEFI for any time chances are you have help [improve the documentation.](HOWTO-contribute-to-documentation.md)
|
||||
|
||||
|
||||
We are also extremely short on software developers. [HOWTO contribute to firmware](HOWTO-contribute-to-firmware.md)
|
||||
|
||||
|
||||
## Please do good and do not do bad
|
||||
|
||||
We hope that as a community we can leverage each other's skills and have peaceful fun together.
|
||||
|
|
|
@ -12,7 +12,6 @@ Please also read the topic on [distraction.](D-is-for-DISTRACTION). And maybe ev
|
|||
|
||||
NEW LINK [https://join.slack.com/t/rusefi/shared_invite/zt-1jay59c0l-idseNjIRg~gU1GNQuimYQw](https://join.slack.com/t/rusefi/shared_invite/zt-1jay59c0l-idseNjIRg~gU1GNQuimYQw)
|
||||
|
||||
|
||||
To get started you'll have to get the invite to our channel, you can do that using the link above.
|
||||
|
||||
![invite](FAQ/images/HOWTO_join_rusEFI_slack_channel/slack_channel_invite.png)
|
||||
|
|
|
@ -12,7 +12,6 @@ step 3) ``stm32-full-erase.bat``
|
|||
|
||||
step 4) ``stm32-flash-dfu.bat``
|
||||
|
||||
|
||||
# Old way - GUI application via DFU or SWD
|
||||
|
||||
TODO: try [https://github.com/danielinux/stm32f7-dualbank-tool](https://github.com/danielinux/stm32f7-dualbank-tool)
|
||||
|
@ -23,5 +22,4 @@ At the moment we only know how to deal with it via Stm32CubeProgrammer
|
|||
|
||||
![x](HOWTO/nDBANK/stm32prog-result.png)
|
||||
|
||||
|
||||
[https://github.com/rusefi/rusefi_external_utils/](https://github.com/rusefi/rusefi_external_utils/) has a backup copy of en.stm32cubeprg-win64_v2-7-0.zip
|
|
@ -1,4 +1,4 @@
|
|||
## What to do while you wait for your hardware:
|
||||
## What to do while you wait for your hardware
|
||||
|
||||
1. [Download the rusEFI bundle](Download) for your hardware.
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
|||
|
||||
![project](FAQ/images/TunerStudio_new_project.png)
|
||||
|
||||
## Once you get your hardware:
|
||||
## Once you get your hardware
|
||||
|
||||
### Update Firmware
|
||||
|
||||
|
@ -48,25 +48,31 @@ This guide is written for the firmware released August 6th 2020. The further awa
|
|||
|
||||
7. With this your TunerStudio screen should come to life! You should see sensor inputs and some output values like ignition timing and dwell. Of course the values displayed miught not make a lot of sense, since your ECU is lacking a car, but at least you can see that TunerStudio and your computer are communicating.
|
||||
|
||||
# Getting your car running.
|
||||
# Getting your car running
|
||||
|
||||
## Step 1: (Optional)
|
||||
|
||||
Run your car on your stock ECU to warm it up. This may make it easier to start, especially when it's cold outside
|
||||
|
||||
## Step 2:
|
||||
## Step 2
|
||||
|
||||
Unplug your stock ECU and plug in your rusEFI PnP. You probably don't want to close the lid just yet, so you can observe blinky lights etc.
|
||||
|
||||
## Step 3:
|
||||
## Step 3
|
||||
|
||||
Turn on the ignition. DO NOT START THE CAR
|
||||
|
||||
## Step 4:
|
||||
## Step 4
|
||||
|
||||
Connect TunerStudio to your ECU.
|
||||
With this your TunerStudio screen should come to life! You should see sensor inputs and some output values like ignition timing and dwell. If things are set up properly, you should see reasonable values for [Coolant temperature], [Air Intake temperature], [Battery Voltage], [Manifold Air Pressure] (should be near 100kpa if you're using a MAP snesor) and even your [throttle pedal position]. The values may show some jitters. Your rpms should be 0. Push your throttle pedal and see if you get a response. Congratulations- your rusEFI can "see" your car.
|
||||
|
||||
## Step 5:
|
||||
## Step 5
|
||||
|
||||
Calibrate your throttle pedal. Go to "Tools" -> "Calibrate TPS". Don't touch the throttle and click on "Get Current" next to "Closed Throttle ADC count". Now step on the gas (full-throttle/pedal fully depressed) And do the same for no-throttle (pedal fully released). Burn to ECU.
|
||||
|
||||
## Step 6:
|
||||
## Step 6
|
||||
|
||||
Test your outputs. Under "Controller" -> "Bench Test & Commands" you can see a lot of options for outputs you can test. Let's focus on the basic ones for now. Spark and Fuel. First, if your car's fuel pump is controlled by the ECU, test "Fuel Pump". You should hear the fuel pump running.
|
||||
|
||||
Then move on to spark. Here it depends on how your car is set up. If you have a 4-cylinder with wasted spark (which is likely the majority of users), you will likely be using "Spark #1" and "Spark #3". When you click the test button, you should hear the corresponding ignition coil firing. If you can't hear the spark, you may want to pull a spark plug (or use a spare) and hook it up to the spark plug connector and ground it. Test again and you should see a spark arcing. Dont shock yourself.
|
||||
|
@ -77,15 +83,14 @@ That's the basic outputs tested. With this you should be able to get the engine
|
|||
|
||||
Close the test window. We're getting close to starting the car.
|
||||
|
||||
## Step 7:
|
||||
## Step 7
|
||||
|
||||
Turn the ignition off and unplug the USB cable. This removes power to the unit- (just to make sure we're in a defined state). Then reconnect the USB cable, turn on the ignition, wait for TunerStudio to come to life and then crank the engine. You should see the rpms jump to a positive value (typical would be anywhere between 200 and 600rpm) and your engine should start. It may take a few cranks for rpms to register. If you see rpms in Tunerstudio, but the engine isn't starting, keep at it. It may take quite a bit longer than the stock ECU. You are probably used to cranking taking approx. 2s or so. rusEFI takes about 2s of cranking before it can identify the position of the crankshaft. And then it will fire the injectors and ignition coils. It may take it quite a while (>10s which seems like an eternity when cranking) for the engine to catch. Don't give up. There may be coughs and sputters. Play with the throttle a little. It will start eventually. Post your findings to the [forum](https://rusefi.com/forum/) and we can help!
|
||||
|
||||
And we're done with the initial startup. Congratulations- you have your car running on your standalone aftermarket ECU! Now the fun really begins :)
|
||||
|
||||
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
Q: How do I change settings?
|
||||
|
||||
A: You can change settings and your engine tune using [TunerStudio](HOWTO-create-tunerstudio-project.md).
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue