Can you just try a single setWatch(pulseHnd,pulsePort,{repeat:true,edge:0,debounce:5}); and see if that behaves any differently?
What you're doing with the two calls is setting up two debounce instances, one for rising and one for falling. While you'd expect them to work the same way, it's possible that there's some problem there.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Can you just try a single
setWatch(pulseHnd,pulsePort,{repeat:true,edge:0,debounce:5});
and see if that behaves any differently?What you're doing with the two calls is setting up two debounce instances, one for rising and one for falling. While you'd expect them to work the same way, it's possible that there's some problem there.