Metering volumes with a hall effect flowmeter and solenoid valve

That was what I meant with that

This might be simplifying things:
The this pointer is a C++ construct that's provided to each object to have some way of accessing itself.
Since each object (meaning its non-static members) can live all over the place (and can even move once instatiated) in RAM you need to keep track of it by means of this pointer.
But the member functions will always be "static". So you need to provide the location of the static function (that's the ampersand & for) but also need to let the code know where to find the non-static members when the system calls that function as ISR.

You can read a bit more here
C++ Member Functions As Function Pointers


I see @lami has already chimed in :+1:

That's where you'll find the docs he mentioned (quite a bit down)
https://docs.particle.io/reference/firmware/photon/#attachinterrupt-