int us_dist(int pin) { byte[] buffer = new byte[4]; buffer[0] = 117; buffer[0] = (byte)pin; buffer[0] = 0; buffer[0] = 0; _goPiGo.RunCommand(Commands.UltraSonic, 15, 0, 0); System.Threading.Tasks.Task.Delay(200); try { var b1 = _goPiGo.DigitalRead(Pin.Trigger); // read 0 var b2 = _goPiGo.DigitalRead(Pin.Trigger); // read 1 if ((int)b1 != -1 && (int)b2 != -1) { return(((int)b1 * 255) + (int)b2); } else { return(-1); } } catch { return(-1); } }