Keep in mind that it's a ratio of fuel to air. It doesn't tell you anything about the amount of fuel actually combusted, just that it's mixed with exactly the right amount of air to burn it completely.
Could be 0.01g of petrol mixed with 0.147g of air, but could also be 1kg of fuel mixed with 14.7kg of air.
That'd be rich though. Approximately 14.7:1 is the stoichiometric ratio, you'd need more air to make it lean and less air to make it rich.
Other than that I agree with your conclusion, hence my saying "the only way to know is to get a read-out from the ECU". Monitoring the injection period and fuel pressure is as accurate as it gets, since you can't measure the flow after the injectors.
I don't think a purely mathematical solution exists (and probably never will because - sadly - we'll ditch internal combustion engines before anyone would bother) to accurately calculate the optimal (= most economic) operating conditions for any given situation. Gets even more complicated when forced induction comes into play... so yeah, "meh".
Well if you only want to simulate a simple TC and not ESP, you could compare OutSim (actual) and OutGauge (indicated, i.e. differential or wheel reading) velocity and reduce throttle until they match.
I know, my first car also didn't have power steering or brakes, I even drove a modern car (Tesla) without power steering and brakes and I'm still alive. But deliberately disabling them on a car where they're fitted as standard is a different matter.
It won't last 7 or 8 miles downhill when you occasionally need to apply the brakes to maintain a reasonably low speed, which I assumed was the case since you didn't engine brake. Even just little corrections will deplete the reserve and you'll be left with nothing, should the need for an emergency braking manoeuvre arise. As you said, it's enough for one or two fairly aggressive stomps, but that's it.
But you were all alone in the middle of the night, so the risk was negligible, I'll give you that. I still wouldn't recommend doing it, especially if your car cuts fuel when coasting.
I was on a mountain Saturday night and I definitely wouldn't want to roll down without power steering and brakes, but then it's quite steep and my car is pretty heavy (some 1650kg). Was much more fun going up than down I must say.
Sidenote: In German, the fuel cut when coasting is called "Schubbetrieb", my favourite dictionary translates it as "coasting mode".
I just assumed by "off" he meant no fuel injected, because who in their right mind turns the ignition off while the car is moving? Especially downhill? You lose power steering and the brake booster. I would never even have such a stupid idea, but just in case someone would, we're taught never to do that in driving school, also my car's manual says never to turn the ignition off when the car is moving.
€: Besides his battery should still be replaced because ~20 minutes lights, even high beams, shouldn't make a noticeable difference.
Navi speed camera warning software is legal in Austria
traffic lights don't switch from green to orange directly but blink 4 times green and then switch to orange (confuses some Germans foreigners so I thought I'd mention it)
General speed limits: 50 (Ortsgebiet), 100 (Freiland), 130 (Autobahn)
Also, unless you absolutely have to see Vienna, I'd avoid it altogether. It's just no fun at all by car.
Last edited by morpha, .
Reason : It's not specifically Germans that get confused :P
Think of the car as sitting there in either Park or Neutral on an actual automatic transmission. To get the car moving, you have to put it into Drive first, which is done by putting it in first gear. Further shifting will then happen automatically through the forward speeds, but it won't put itself into N/P and the brakes will not put it into reverse, as they do on many arcade games.
To clarify, LFS does not actually simulate an automatic transmission, it merely allows you to have it shift the manual gearbox for you.
Lower/Higher RPM aren't meaningless because they directly affect one known, the internal mechanical resistance. Higher RPM means overcoming the internal resistance more often in the same time span, it also generally means higher oil pressure and air movement = pressure, despite ventilation (crankcase / valvetrain).
The only way to know for sure is to try it out. The ECU knows exactly how much fuel it's injecting (or at least, how much it's telling the injectors to inject) so it's the only reliable source of information. A torque curve is not, because that's WOT across the rev range and WOT is not likely to be the most fuel efficient throttle input. Might be worth mentioning that EGR is bypassed under WOT, but whether that affects fuel economy positively or negatively is up for debate (and, ideally, scientific observation).
Find the RPM and throttle position where the least fuel is injected and you have your answer, for the exact conditions you measured it in anyway.
Measuring it on carburettors seems complicated so I'm not even gonna think about it any further
DiRT2 has a pretty efficient multithreading strategy, which is great in normal conditions but was indeed noticeably affected by PHP's single threaded high load bursts. The socket stuff was fine, but the GD rendering was comparable to the kind of microlag associated with SLI / CrossFire.
I had thought about rendering PTH or LYT files and I probably would have used PHP+GD for that too
You need to convert them to a supported charset, which in LFS's case are:
And obviously, if they aren't found in the currently selected charset (default is Latin 1), you have to indicate the charset switch to LFS by prefixing the characters in question with their respective CP escape sequence, i.e. "^J" for Japanese / CP932.
Your test message translates to
^3> ^7Char test ^Bà á
which in-game displays "> Char test ąį". (colours obviously omitted)
Implementing Unicode to CP conversion is tricky, especially if you want it both ways (from LFS to Unicode, from Unicode to LFS). You can use pyinsim and InSim.NET for reference since they both implement this functionality, but I don't know of an existing, public solution for C/C++.
If you only need this for static strings, you could simply use Python with pyinsim's strmanip (it works stand-alone) and convert all your strings with that.
Awesome! Have you verified the results yet? I'll port this to Python and/or PHP later and try it myself
You may, you may also burst out laughing once you read it: GD via PHP
I needed a really quick way to do this, GD/PHP is the quickest I could think of, faster than anything available for Python that I'm familiar with. I had this running collecting live samples and rendering them out to PNG every second. When I opened the two images in Windows Photo Viewer, I discovered that it had the very pleasant feature of detecting file changes and reloading the image upon such changes. In effect, giving me telemetry data at 1Hz while in-game.
It works reasonably well, especially considering that I didn't keep the images in memory between renderings but re-allocated them every time. A Li River run is about 7500 samples.
The pitlane direction indicator seems reasonably simple, that's the only stretch of track that's guaranteed to be one-way in race configurations. I still don't see anything wrong with these guys though:
I understand perfectly why PEOPLE need to know which way to go, but there is no reason LFS has to know. Who do you normally race with that you're so overly concerned with whether or not a message is shown to anyone who goes the wrong way? You're not supposed to ever see that message in the first place.
It's not necessarily required that LFS knows the right way, the drivers have to know. The layout should provide visible markers as to which direction it's supposed to be driven in, worked for years on AU and BL3.