would it be hard to turn on the software oversampling and then collect data at the rate that would come from that additional overhead?
The BMP085 / BMP180 have hardware oversampling. The MWC's BMP085 code uses an 8X hardware oversample (highest supported by the BMP devices). Software oversampling is not implemented but it is a trick that can be used to increase the effective resolution (at the expense of system resources and data update rates).
From my experience the BMP085 resolution is not a serious alt-hold issue on the MWC (we currently have ~10cm resolution). Furthermore, there is a lot of data noise but it does not seem to be the reason for the low alt-hold performance. Instead, the ALT and VEL PID's, including the ACC Z-axis derived velocity estimator, seem to be higher on the list of things to work on. Once those are things are improved we will be able to determine if more resolution will matter.
How is it verified that the data collection is correct?
There are no attempts to qualify/verify the data.
is that register just empty if the data is not ready and then in another x amount of ms it polls the register again?
There is no data-ready polling or other tricks. The code simply knows how long it takes for the various temperature & pressure readings to be ready (based on the data sheet recommendations) and waits for those things to get done using the system timer.
also, is the ALT showing altitude on meters above sea level and then whatever pressure the weather changes it?
It is not practical to determine absolute ASL altitudes; Air pressure varies with mother earth's mood. There's no reason to care either since the MWC's alt-hold feature takes a reference when it is enabled and then makes all altitude error corrections against the reference. If we cared it would be easy to create a AGL (above ground level) altitude by taking a reference when the model is first powered up.
- Thomas
Edit: Seems I can't convert 0.1m to 10cm correctly. Fixed.
