AWOL:
Without the "volatile" it won't compile, which is why I used it.
Except for the echo pin, you could cast it away.
It isn't necessary for the data direction registers or the trigger pin.
When i remove the volatile I get the following error on compile:
error: invalid conversion from 'volatile uint8_t*' to 'uint8_t*'
I didn't just add them on a whim, the compiler told me to or it wouldn't compile.
Tim