     delay(steps);
     stop();
 }
-
+//// GPIO ISR Interrupt service routines for encoder changes
 void lencode() {
   lmc=lmc+ldir;
 }
 void rencode(){ 
   rmc=rmc+rdir;
 }
+//// Speed (lv,rv) calculation every timer tic
 void tic(void){ 
   lv=lmc-lmc0;
   lmc0=lmc;

#include <std_msgs/Float64.h>
#include <Servo.h>

#define DEBUG 1

int spd=800;
int lpwm=spd;

ros::Subscriber<std_msgs::Int16> sub_b("/car/backward", &backwardCallback);
ros::Subscriber<std_msgs::Int16> sub_l("/car/left", &leftCallback);
ros::Subscriber<std_msgs::Int16> sub_r("/car/right", &rightCallback);
ros::Subscriber<std_msgs::Int16> sub("/car/angle", &angleCallback);
ros::NodeHandle_<WiFiHardware> nh;

/// connect to ROS server WiFi as a client
void setupWiFi()
{
  WiFi.begin(ssid, password);
