 
 /* Define pulse width time of the stepping motor. */
 #define PULSE_WIDTH_MICRO_SECOND 500
+
 /* Define direction of angular z. */
 enum {
   LEFT,

  if (msg.angular.z < 0 && time > 50) gen_pluse(LEFT, time); // Minus mean CCW or right.
  else if (msg.angular.z > 0 && time > 50) gen_pluse(RIGHT, time); // Plus mean CW or left.
  else gen_pluse(KEEP, 0); // Zero mean keep steer.
   /* move task */
}

/**

void gen_pluse(const char direction, double time) {
  switch (direction) {
  case LEFT: // Task steer left.
    noTone(cw_plus); // Unset tone. If don't running tone, not happen.
    tone(ccw_plus, PULSE_FREQUENCY, time); // Write pulse to CCW pin. turn to CW.
    break;
  case RIGHT: // Task steer right.
    noTone(ccw_plus); // Unset tone. If don't running tone, not happen.
    tone(cw_plus, PULSE_FREQUENCY, time); // Write pulse to CW pin. turn to CCW.
    break;
  case KEEP: default: // set CW and CCW to low.
    noTone(cw_plus); // Unset tone. If don't running tone, not happen.
    noTone(ccw_plus); // Unset tone. If don't running tone, not happen.
    break;
  }
}
