// comment line 41 to show the sensor value

/////////////////////////////
// SEND AND RECEIVE DATA  ///
/////////////////////////////

function checkPort(){
    // check to see if serial is available:
  if (!navigator.serial) {
    alert("WebSerial is not supported in this browser. Try Chrome or MS Edge.");
  }
  // if serial is available, add connect/disconnect listeners:
  navigator.serial.addEventListener("connect", portConnect);
  navigator.serial.addEventListener("disconnect", portDisconnect);
  // check for any ports that are available:
  serial.getPorts();
  // if there's no port chosen, choose one:
  serial.on("noport", makePortButton);
  // open whatever port is available:
  serial.on("portavailable", openPort);
  // handle serial errors:
  serial.on("requesterror", portError);
  // handle any incoming serial data:
  serial.on("data", serialEvent);
  serial.on("close", makePortButton);

}




function serialEvent() {
  // read a string from the serial port
  // until you get carriage return and newline:
  let inString = serial.readStringUntil("\r\n");
  // print(inString);
  //check to see that there's actually a string there:

  if (inString) {
    let sensors = split(inString, ",");
    // console.log(sensors);

    if(sensors[0]=="p0"){
      // ball.x = int(map(sensors[1], 0, 200, 0, 200));
      value0= sensors[1];
      // console.log(sensors[0]);
    }
    
    if(sensors[0]=="p1"){
      // ball.y = int(map(sensors[1], 0, 200, 0, 200));
      value1=sensors[1];
      // console.log(sensors[0]);
    }
    
    if(sensors[0]=="p2"){
      // ball.y = int(map(sensors[1], 0, 200, 0, 200));
      value2=sensors[1];
      // console.log(sensors[0]);
    }



	
  }
}

/////////////////////////////////////////////
// UTILITY FUNCTIONS TO MAKE CONNECTIONS  ///
/////////////////////////////////////////////

// if there's no port selected,
// make a port select button appear:
function makePortButton() {
  // create and position a port chooser button:
  portButton = createButton("choose port");
  portButton.position(10, 10);
  // give the port button a mousepressed handler:
  portButton.mousePressed(choosePort);
}

// make the port selector window appear:
function choosePort() {
  serial.requestPort();
}

// open the selected port, and make the port
// button invisible:
function openPort() {
  // wait for the serial.open promise to return,
  // then call the initiateSerial function
  serial.open().then(initiateSerial);

  // once the port opens, let the user know:
  function initiateSerial() {
    console.log("port open");
    // serial.write("x");
    
  }
  // hide the port button once a port is chosen:
  if (portButton) portButton.hide();
}

// pop up an alert if there's a port error:
function portError(err) {
  alert("Serial port error: " + err);
}

// try to connect if a new serial port
// gets added (i.e. plugged in via USB):
function portConnect() {
  console.log("port connected");
  serial.getPorts();
}

// if a port is disconnected:
function portDisconnect() {
  serial.close();
  console.log("port disconnected");
}