For a few years, I've been using a Bluetooth <-> OBDII adapter with the Android Torque app. One of the cool things about this is that it's taught me things about a car's operation that I may not have learned about had it not been for that data. One of those things is Short Term and Long Term Fuel Trim.
My understanding of these concepts goes like this: Assuming some baseline level of fuel injection which is measured in the pulse width of the injector (i.e. the amount of time the injector stays open), the trims are increased or decreased to add or remove fuel from the mixture in order to achieve a more ideal fuel mixture for maximum fuel economy and minimal wasted fuel dumped into the exhaust system.
I know that the fuel trims are based off of readings from the oxygen sensors and as such are not used until the car has "warmed up" enough to operate in a closed loop mode (using the oxygen sensor values).
But my question is what are the inputs used to provide that base fuel calculation?. The only inputs I know of are Mass Air Flow (How much air is being pulled into the engine), Intake Air Temperature (If cold air is coming in, supply more fuel) and Engine Coolant Temperature (If the car is cold, supply more fuel). The last one also includes open/closed loop, and I thought that once it hit a certain threshold, it switched to a lower fuel input, but from my examination of the data from my vehicle, the fuel flow slowly decreases as a function of temperature, whether in closed or open loop mode.