this helps with the barometer a lot, as the timing is quite variable
added FilterWithBuffer to allow removal of malloc/free without losing ability to pass around filter objects