update pulse state