Jump to content

Adamw

Moderators
  • Posts

    20,048
  • Joined

  • Last visited

  • Days Won

    1,278

Reputation Activity

  1. Like
    Adamw got a reaction from DenisAlmos in 99 WRX Idle Issues and stalling   
    The idle control mostly looks like it is doing the right things now.  
    I suspect your stall issue is possibly fuel related.  Your normal warm idle injector PW is about 0.75-0.9ms in areas of the log where it is idling well.  In all the places the engine stalled the PW dropped down under 0.5ms just on entry to idle - in a couple of places as low as 0.3ms.  I suspect some of your injectors may not even open down at that sort of PW.  In some cases that very short PW was due to reaching very high vacuum in overrun, in others it was the CLL pulling fuel out the whole way down towards idle.  
    Try the changes in orange below to see if that improves the stalling problem.
    The rev hang is due to excessive offset and base position.  For normal warm idle your TP sits at about 1.7%. In the places with the rev hangs the throttle is sitting at 3.6%.  It looks like the base position for 80°C and above needs to come down to about 1.8%, possibly some of the offsets need to come down a bit too.  
    But, lets not change to much at once, try the changes for the stalling issue first before messing with the hang. 

  2. Thanks
    Adamw got a reaction from jdniss in G4X Calibration Table visibility "lock" bug?   
    Yeah the view lock shouldnt prevent the table from opening a new view pane as far as I know.   Some parent/child thing is not quite right there by the looks.  It would be pretty rare to lock the cal settings on a page so I suspect it has just never been noticed.
    I will report it to the software guys next week.  
  3. Like
    Adamw got a reaction from pika in Suzuki H25A engine with monsoon   
    Yes the trigger is the same as a Nissan RB.  
  4. Like
    Adamw got a reaction from pika in Suzuki H25A engine with monsoon   
    Yes and if you have a G4+ the widest slot setting will likely be 24deg.  In G4X there is no widest slot setting needed for the standard Nissan 360opto mode.
  5. Like
    Adamw got a reaction from TTP in hall sensor   
    The GT101 likes quite big teeth - about say 5mm long by 5mm high, so that may dictate how many teeth you can fit depending on the diameter you have to play with.  Somewhere around 20T generally works well.
  6. Like
    Adamw got a reaction from Calvin in 4AGE G4X Atom X install and parts ordering information request   
    The Atom only has 3 analog inputs, you need 2 for TPS and MAP, leaving only one spare.  So you have to choose between the Innovate or the Oil press sensor.  Personally since the innovate controllers are POS, I would use the analog input for oil press and get a CAN bus lambda controller.  
     
    Avoid the oil school VDO style single or two-wire ones.  Avoid the cheap Chinese/generic/no-brand ones as well as anything that looks identical but someone has just put their label on it.  I know of at least one car locally that caught fire from one of these unbranded sensors failing.  The Bosch combined press/temp ones are good (you would only use the press part), Honeywell MIP or MLH or PX3 are good, Variohm are good, the AEM stainless ones seem reasonable.   
     
    First check your Atom is at least hardware revision V3.0 as the early ones didnt have knock control hardware.  Assuming yours does then any Bosch flat response doughnut type sensor will work.
     
    The Atom only does open loop boost control, but still very worthwhile.  
     
    Very worthwhile, launch control, gear calculation, boost by gear, boost by speed etc, its also nice to use as an idle control lockout if it has an idle valve.  
     
    You will need a relay to handle the fuel pump current, but the ecu can control the relay.  If you just want on/off control the a normal mechanical relay is fine, if you want to do PWM/speed control then you will need a solid state relay. 
     
    Yes, there is GP limiter example for oil pressure in the help file.  Knock is very effective but you have to have a reasonable level of experience and preferably audio knock detection equipment to set it up and tune it.  
     
    You only need two wires from the ECU to an OBD2 socket, you are probably best to do your own.  Pretty much anything you buy will need terminals crimped on at least one end.  You could possibly just buy a cheap OBD2 extension lead and cut one end off.  Having said that OBD2 doesnt make for a great display in my experience, especially RPM and shiftlight functionality is way too slow.  
     
  7. Like
    Adamw got a reaction from castillaricardo in Curious about Idle Timing Control after switching to a 36-2 trigger wheel   
    The ecu can only see a change in RPM everytime it gets a crank tooth so the idle ign function will see a change in RPM much quicker when you have 900% more teeth.   
    Dont be alarmed of the timing bouncing around though, that is pretty normal and it sounds like you probably just had less than normal with the old set up. I normally set D to 0, increase P until you either feel/hear the engine get noticeably harsher or sometimes you start to see the dwell get erratic first, then back it off a touch from there.  I usually leave D at 0.  If the dwell gets erratic it means the crank speed is getting too erratic for the ecu to predict position accurately.  Probably something like +/-10% dwell is what I would consider "erratic".   On all of my cars the derivative doesnt seem to help at all, I can usually feel a little more vibration come in whenever I have tried adding D.    Our subaru with 36 teeth has P=1.0, D=0.  A snip of a log below from that car just to give you an idea what I typically see in terms of how much idle ign is bouncing around and what I mean by stable dwell.  The min clamp is 0 and max clamp is 35deg and I can see a range of about 0-20deg in this short snip.

     
  8. Like
    Adamw got a reaction from castillaricardo in 4AGE G4X Atom X install and parts ordering information request   
    A good crank trigger set-up gives 2 main advantages over a distributor or cam-driven trigger.  
    Spark scatter - a distributor or cam trigger is generally connected to the crankshaft via several mechancal interfaces with varying levels of backlash and flexibility.  On engines with 4cyl or less especially, valve train resonance can be quite extreme, when you pass through these bands of resonance the camshaft starts bouncing backwards and forwards due to flexibility in the drive system and the cam itself (belt/chain etc) and if there is any backlash in the trigger drive (distributor gears, spline drive or driving dog etc) this resonance is further exaggerated in the trigger signal.  When you have significant scatter it means some spark events will be more retarded than desired and some more advanced than desired so you not only lose power from the retarded sparks, but because you have some sparks that are occurring too early you will reach the knock threshold earlier so you have to run less timing all over as well.  Whereas if the trigger is rigidly attached to the crankshaft there is no valve train resonance influence and no backlash influence, all spark events can be much closer to the ideal angle. Update angle - the angle between teeth affects how far ahead the ecu has to predict crankshaft position, if the crank speed changes between those tooth updates then the prediction is wrong.  The more often you get those updates and the smaller the angle between them, the less prediction error you have.   Depending how bad the trigger design is, both of these can have a big effect.  Spark scatter related especially I have seen some quite unbelievable gains.  The best example I can remember where the only change was the trigger is an RB26 engine I used to work on many years ago, it had an old M8 motec on it.  With the stock 360opto trigger I always knew it had significant spark scatter, but I never considered that an issue and it made around 760HP at the hubs which was more than most in those days.  That was pushing things pretty hard though, I dont think there would have been another 5HP in it if I tried. Anyhow, the spline drive in the end of the cam came loose one day on the dyno which was going to be a big job to fix so we decided to put a crank trigger on it instead.  We made a 60-2 trigger wheel as the Motec was a special "high speed trigger" version (to handle the 360 opto) and 60 teeth was recommended as ideal.  Not really expecting any difference but we noticed as soon as we started it that it just seemed to run smoother, with a timing light on it the spark scatter was now almost indistinguishable.   We played around with it a bit and noticed on the first power run it made more power than it ever had before and the boost had dropped a couple of psi?  I could only link that to the reduction of spark scatter so I tried adding a bit more timing - it seemed happy - so I added a bit more - still seemed happy - then a bit more boost...  From memory it took about an extra 5deg advance over what it would start to knock at before.  It ended up at 880HP at the same boost with the only hardware change being the trigger.   Quite a worthwhile upgrade .
    More recently I fitted an atom to a carburetted classic race car as an ignition-only upgrade.  It had OEM computer control ign already but it had a heap of spark scatter and not a great timing curve - I could change the timing by rotating the distributor but it had too much advance down low and not enough up top.  I removed the distributor, added a crank trigger and wasted spark coils. I cant remember the exact numbers but again it was way more than I ever expected, it went from something like 130 to 145HP.  In this case I couldn't say it was only due to the stability improvement though, it got a more optimised advance curve and possibly a better spark or longer spark duration at the same time. 
    A good example of the update angle effect is to put a timing light on a Mitsi Evo, these have a crank trigger so no resonance effect but only 2 teeth on the crank.  If you lock the timing and stab the throttle you can see a very large drift in timing during the transient, 5-10deg at a guess.  There is a common 12T trigger wheel upgrade, and if you fit one of these there is still a little visible drift but it is greatly reduced, maybe 2deg.  I find with anything more than about 24T on the crank it is pretty difficult to distinguish any transient drift, some of it is probably timing light delay too.  
  9. Like
    Adamw got a reaction from koracing in 4AGE G4X Atom X install and parts ordering information request   
    A good crank trigger set-up gives 2 main advantages over a distributor or cam-driven trigger.  
    Spark scatter - a distributor or cam trigger is generally connected to the crankshaft via several mechancal interfaces with varying levels of backlash and flexibility.  On engines with 4cyl or less especially, valve train resonance can be quite extreme, when you pass through these bands of resonance the camshaft starts bouncing backwards and forwards due to flexibility in the drive system and the cam itself (belt/chain etc) and if there is any backlash in the trigger drive (distributor gears, spline drive or driving dog etc) this resonance is further exaggerated in the trigger signal.  When you have significant scatter it means some spark events will be more retarded than desired and some more advanced than desired so you not only lose power from the retarded sparks, but because you have some sparks that are occurring too early you will reach the knock threshold earlier so you have to run less timing all over as well.  Whereas if the trigger is rigidly attached to the crankshaft there is no valve train resonance influence and no backlash influence, all spark events can be much closer to the ideal angle. Update angle - the angle between teeth affects how far ahead the ecu has to predict crankshaft position, if the crank speed changes between those tooth updates then the prediction is wrong.  The more often you get those updates and the smaller the angle between them, the less prediction error you have.   Depending how bad the trigger design is, both of these can have a big effect.  Spark scatter related especially I have seen some quite unbelievable gains.  The best example I can remember where the only change was the trigger is an RB26 engine I used to work on many years ago, it had an old M8 motec on it.  With the stock 360opto trigger I always knew it had significant spark scatter, but I never considered that an issue and it made around 760HP at the hubs which was more than most in those days.  That was pushing things pretty hard though, I dont think there would have been another 5HP in it if I tried. Anyhow, the spline drive in the end of the cam came loose one day on the dyno which was going to be a big job to fix so we decided to put a crank trigger on it instead.  We made a 60-2 trigger wheel as the Motec was a special "high speed trigger" version (to handle the 360 opto) and 60 teeth was recommended as ideal.  Not really expecting any difference but we noticed as soon as we started it that it just seemed to run smoother, with a timing light on it the spark scatter was now almost indistinguishable.   We played around with it a bit and noticed on the first power run it made more power than it ever had before and the boost had dropped a couple of psi?  I could only link that to the reduction of spark scatter so I tried adding a bit more timing - it seemed happy - so I added a bit more - still seemed happy - then a bit more boost...  From memory it took about an extra 5deg advance over what it would start to knock at before.  It ended up at 880HP at the same boost with the only hardware change being the trigger.   Quite a worthwhile upgrade .
    More recently I fitted an atom to a carburetted classic race car as an ignition-only upgrade.  It had OEM computer control ign already but it had a heap of spark scatter and not a great timing curve - I could change the timing by rotating the distributor but it had too much advance down low and not enough up top.  I removed the distributor, added a crank trigger and wasted spark coils. I cant remember the exact numbers but again it was way more than I ever expected, it went from something like 130 to 145HP.  In this case I couldn't say it was only due to the stability improvement though, it got a more optimised advance curve and possibly a better spark or longer spark duration at the same time. 
    A good example of the update angle effect is to put a timing light on a Mitsi Evo, these have a crank trigger so no resonance effect but only 2 teeth on the crank.  If you lock the timing and stab the throttle you can see a very large drift in timing during the transient, 5-10deg at a guess.  There is a common 12T trigger wheel upgrade, and if you fit one of these there is still a little visible drift but it is greatly reduced, maybe 2deg.  I find with anything more than about 24T on the crank it is pretty difficult to distinguish any transient drift, some of it is probably timing light delay too.  
  10. Like
    Adamw got a reaction from dangero in 4AGE G4X Atom X install and parts ordering information request   
    A good crank trigger set-up gives 2 main advantages over a distributor or cam-driven trigger.  
    Spark scatter - a distributor or cam trigger is generally connected to the crankshaft via several mechancal interfaces with varying levels of backlash and flexibility.  On engines with 4cyl or less especially, valve train resonance can be quite extreme, when you pass through these bands of resonance the camshaft starts bouncing backwards and forwards due to flexibility in the drive system and the cam itself (belt/chain etc) and if there is any backlash in the trigger drive (distributor gears, spline drive or driving dog etc) this resonance is further exaggerated in the trigger signal.  When you have significant scatter it means some spark events will be more retarded than desired and some more advanced than desired so you not only lose power from the retarded sparks, but because you have some sparks that are occurring too early you will reach the knock threshold earlier so you have to run less timing all over as well.  Whereas if the trigger is rigidly attached to the crankshaft there is no valve train resonance influence and no backlash influence, all spark events can be much closer to the ideal angle. Update angle - the angle between teeth affects how far ahead the ecu has to predict crankshaft position, if the crank speed changes between those tooth updates then the prediction is wrong.  The more often you get those updates and the smaller the angle between them, the less prediction error you have.   Depending how bad the trigger design is, both of these can have a big effect.  Spark scatter related especially I have seen some quite unbelievable gains.  The best example I can remember where the only change was the trigger is an RB26 engine I used to work on many years ago, it had an old M8 motec on it.  With the stock 360opto trigger I always knew it had significant spark scatter, but I never considered that an issue and it made around 760HP at the hubs which was more than most in those days.  That was pushing things pretty hard though, I dont think there would have been another 5HP in it if I tried. Anyhow, the spline drive in the end of the cam came loose one day on the dyno which was going to be a big job to fix so we decided to put a crank trigger on it instead.  We made a 60-2 trigger wheel as the Motec was a special "high speed trigger" version (to handle the 360 opto) and 60 teeth was recommended as ideal.  Not really expecting any difference but we noticed as soon as we started it that it just seemed to run smoother, with a timing light on it the spark scatter was now almost indistinguishable.   We played around with it a bit and noticed on the first power run it made more power than it ever had before and the boost had dropped a couple of psi?  I could only link that to the reduction of spark scatter so I tried adding a bit more timing - it seemed happy - so I added a bit more - still seemed happy - then a bit more boost...  From memory it took about an extra 5deg advance over what it would start to knock at before.  It ended up at 880HP at the same boost with the only hardware change being the trigger.   Quite a worthwhile upgrade .
    More recently I fitted an atom to a carburetted classic race car as an ignition-only upgrade.  It had OEM computer control ign already but it had a heap of spark scatter and not a great timing curve - I could change the timing by rotating the distributor but it had too much advance down low and not enough up top.  I removed the distributor, added a crank trigger and wasted spark coils. I cant remember the exact numbers but again it was way more than I ever expected, it went from something like 130 to 145HP.  In this case I couldn't say it was only due to the stability improvement though, it got a more optimised advance curve and possibly a better spark or longer spark duration at the same time. 
    A good example of the update angle effect is to put a timing light on a Mitsi Evo, these have a crank trigger so no resonance effect but only 2 teeth on the crank.  If you lock the timing and stab the throttle you can see a very large drift in timing during the transient, 5-10deg at a guess.  There is a common 12T trigger wheel upgrade, and if you fit one of these there is still a little visible drift but it is greatly reduced, maybe 2deg.  I find with anything more than about 24T on the crank it is pretty difficult to distinguish any transient drift, some of it is probably timing light delay too.  
  11. Like
    Adamw got a reaction from Electredge in G5   
    A G5 plug-in board is in development but its main intent, at least initially, will be for any future GDI plug-in applications.  All the existing plug-in ECU's will remain as G4X for the foreseeable future.  G4X and G5 use very similar firmware so G4X will continue to be developed and G4X will continue to get most new software functionality that the G5 gets, with the exception of GDI stuff and possibly a couple of others related to hardware such as GPS. 
  12. Like
    Adamw got a reaction from SchuKingR in engine stalls at stops/clutch disengage FD RX-7 drive-by-wire   
    With too much gain the throttle will move faster than the engine responds to the change in air flow so you end up with over-correction which causes an oscillation.  The antistall gain kicks in if the RPM drops 150rpm below the idle target.  Your idle gains are quite high compared to what is typical for E-throttle, although I suspect your odd setup with a linkage and small butterfly in the mix probably means the usual rules dont apply.  Typical proportional gain is 1-2 and about 2-3 for the anti-stall.  I have never really noticed the anti-stall to have a lot of affect.   
  13. Haha
    Adamw got a reaction from koracing in RealDash and the like   
    Oh, its been increased to 30chars in the next release, forgot I was using that.  
  14. Thanks
    Adamw got a reaction from Hyperblade in 14v Aux9/10 Power via relay without e-throttle turned on   
    Yes, just control that relay with a GP output that is always true.  MAP > 0kpa is what I typically use.  
  15. Like
    Adamw got a reaction from SchuKingR in engine stalls at stops/clutch disengage FD RX-7 drive-by-wire   
    I agree with KO that it looks like it needs at least another 0.5% in the top row of your e-throttle target table. I would make the idle ign a bit more aggressive too, something like below.  But there are a couple of odd stalls in that log which make me think there may be something else going on sometimes, for example at time 16:21 it has been idling with the car stationary for some time, with throttle at about 4% and ign timing at about 4deg, then RPM suddenly starts to drop, ign timing ramps up to 13deg and the throttle opens to 16%, but it still stalls.  Is it maybe not enough accel enrichment or similar?  You could possibly do with just a tiny bit more integral gain on the e-throttle settings too, maybe try 0.07, you can see a little long-term position error in some places where TP is sitting at about 0.5% lower than target.  DBW with linkages is sometimes hard to eliminate small error like that due to a little bit of backlash in the linkages. 
    Only the primary port butterfly is working at idle right? 
     

  16. Like
    Adamw got a reaction from Matt_J in Could you wire a knock sensor this way ?   
    In real life it would likely work fine, but from an electronics theory perspective it is not a great option for noise rejection.
    I would personally stick with just one sensor with correctly shielded signal wires, metal is very conductive acoustically and you dont have a lot of localised mechanical noise in a rotary, so you should have a relatively uniform signal-to-noise ratio on both rotors.  Examples of what I mean by "localised mechanical noise" would be say a 6 cyl with the knock sensor in the middle of the engine and a double row timing chain at the front.  The rear cylinders will be ok - you have less signal being further away from the sensor but very little noise from the timing chain way down the other end, the SNR is good.  The middle cyl is good, you have a little more noise being closer to the timing chain but better signal since the cyl is right underneath the sensor.  The front cyl is far away from the sensor so lower signal and right next to the timing chain so maximum noise = poor SNR.  
  17. Thanks
    Adamw got a reaction from Onodera in G4+ Atom 2 Aux output always out 12V   
    Definitely not like that!  You have battery positive connected directly to ground.
    The aux output switches the ground side of the relay.  Wiring should be like this:

  18. Like
    Adamw got a reaction from mig23t in Secondary Fuel Pump Setup G4+   
    In G4+ you need to go to the pin that you want to use and set the function there.  So example below for ign 8.  I have used 2 conditions, both must be true for the sec fuel pump to activate.  The first condition is Ign 5 must be ON - this is your main fuel pump so having this condition will shut off the sec pump in the event of an accident or similar.  2nd condition is MAP >120kpa, so basically as soon as you start to spool it switches on.  Its better to switch it on "too early" as you will always get erratic AFR when the 2nd pump kicks in so best to have this happen at lower load.

  19. Like
    Adamw reacted to koracing in D rx7   
    I would love to help you get this sorted out, but you're not really responding or acting on the information that has already been provided.  I do not undertand why you appear to not want to post your tune file.  That's not really a big deal if it's just a 3ms master fuel change on the RX7 S7 base tune provided by Link. 
    All that being said: you or anyone you get to help you aren't going to be doing any tuning without the wideband connected to the ecu.  You have a coolant temp sensor issue which does affect enrichment and thus can throw off fueling so making any changes while that is reading incorrectly is an issue that can cause you to end up chasing your tail while tuning. 

    Please do the following: Test the coolant temp sensor and wiring - repair the wiring or the sensor.  Connect the wideband analog output to your ecu.  Take a datalog with those things functioning in the log.  Once those are working correctly post the tune and a datalog of startup/idle here.
  20. Like
    Adamw got a reaction from TTP in E throttle idle problems   
    Drop your min and max e-throttle DC to -80 and +80, I have seen the bosch gears break before at 100% - usually after a fair bit of use though so I doubt it was the cause in this case.  From memory the automated TP cal will never apply more than 80%
  21. Like
    Adamw got a reaction from koracing in Turbo 2GR-FE Troubleshooting   
    The 3 main problems I see are:
    Fuel temp is reading 200°C.  Change your DI5 active edge to rising will likely fix that. Your APS sensors arent working when you first start it so E-throttle is in limp mode with a 1800RPM limit, you are hitting that limiter right after start up. Your VVT is set to enable 10s after startup with the lockouts at only 800rpm and -30°C.  One exhaust cam jumps straight to max retard (-37deg) and one intake advances to about 6 deg.  So that probably fits with your "10-15s".  I would disable it for now to confirm that is your problem, but you will eventually want to set more appropriate lockouts, hydraulic VVT usually doesnt work reliably with cold oil and idle rpm oil pressure level.  More typical lockouts would be 70-80°C and 12-1500RPM.  I suspect you may also have to enable custom PID and drop the base duty some.  But mess with that later once you have it warmed up and running more reasonably.    Dont drive it with the APS problem.  
  22. Haha
    Adamw got a reaction from castillaricardo in Mazda MX5 NB2 (VVTi) with 36-2 trigger wheel   
    I just had a look at your log and was going to tell you your MAP sensor calibration was wrong, then I noticed BAP is the same.  The altitude runtime says you're 7400ft above sea level...  That's one I dont see too often.  
  23. Like
    Adamw got a reaction from koracing in E throttle idle problems   
    Drop your min and max e-throttle DC to -80 and +80, I have seen the bosch gears break before at 100% - usually after a fair bit of use though so I doubt it was the cause in this case.  From memory the automated TP cal will never apply more than 80%
  24. Like
    Adamw got a reaction from Valter in E throttle idle problems   
    Drop your min and max e-throttle DC to -80 and +80, I have seen the bosch gears break before at 100% - usually after a fair bit of use though so I doubt it was the cause in this case.  From memory the automated TP cal will never apply more than 80%
  25. Like
    Adamw got a reaction from k fuku in Clarification on rev match K24   
    For a true "rev match" you would have to use the motorsport gear shift function which is over the top for what you want I think.  
    To use the gear shift function to achieve a rev match it would be done something like this:
    In road car with an H pattern shift and no strain gauge or similar on the lever then really the only thing you have to indicate to the ecu that you want to initiate a gear shift is a switch on the clutch pedal.  But that alone doesnt tell the ecu whether you want to do an upshift or downshift.  So you use a GP output to asses a whole lot of conditions that you think would be present for a down shift but not an upshift.  This, for example, could be something like Throttle pedal is not pressed, clutch and brake pedal are both pressed and the speed is above 30kmh.  Whenever the ecu see's all of those conditions true then it will initiate a downshift sequence.   
    Next, for the ecu to be able to rev match, it needs to know what gear you are in and the ratio of the current gear and the ratio of the next gear that you want to engage.  Since you dont have a gear position sensor, you will need a working speed sensor so the ecu can then determine which gear you are in by using speed, RPM and gear ratios. 
    With all of that the ecu would then have enough info to generate an RPM target that it needs to hit with the blip based to achieve matched input and output shaft speeds during the shift.  This RPM target can be met in 3 different ways.  1). You can use a speed match limiter - this is where the ecu blips the throttle a little more than is required and introduces a rev limiter to control the RPM at the desired target.  This is the most accurate and fastest blip. But you dont really want to be bouncing on a limiter on every shift when driving around town etc. 2). You can use what we call an RPM target blip. This is where the ecu performs a blip then removes the blip once the target RPM is reached. Since the throttle doesnt close until you are already at target you will get quite a bit of overshoot with this method.  3). A predictive blip, this is where the ecu looks at the rate the engine is accelerating during the blip to predict how long it will take to reach the correct RPM, it can then close the throttle early so you dont get as much overshoot as method 2.  
    Having said all that, it is rare to do a proper RPM match for a road car with a synchro gearbox, the normal technique is just to switch to a 2nd e-throttle target table when your downshift conditions are met.  That table can have RPM Vs gear or Speed Vs gear on it so you can command more blip for high speed gear changes and less or none for low RPM/speed shifts.  
     
×
×
  • Create New...