Fix the upper/lower 32 bit time calculation problem
In calculating the nanoslice time w.r.t. the trigger time, we only use the lower 32 bits of the trigger time. What we should do is calculate the upper 32 bits of the trigger time, cast the nanoslice time as an unsigned long int, and add the upper 32 bits of the trigger time to that. Then we can do the subtraction and all will be well...