78 lines
1.7 KiB
C#
78 lines
1.7 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using System.IO.Ports;
|
|
|
|
public class Serial {
|
|
private static Serial instance;
|
|
|
|
private Serial() { }
|
|
|
|
~Serial() {
|
|
serialPort.Close();
|
|
}
|
|
|
|
public static Serial Instance
|
|
{
|
|
get
|
|
{
|
|
if (instance == null)
|
|
{
|
|
instance = new Serial();
|
|
}
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
public bool enabled = false;
|
|
|
|
SerialPort serialPort;
|
|
|
|
public void send(int start, int a, int b, int c)
|
|
{
|
|
if (enabled)
|
|
{
|
|
if (serialPort == null)
|
|
{
|
|
serialPort = new SerialPort(@"\\.\" + "COM10", 115200);
|
|
|
|
try
|
|
{
|
|
serialPort.Open();
|
|
serialPort.DiscardOutBuffer();
|
|
serialPort.DiscardInBuffer();
|
|
}
|
|
catch
|
|
{
|
|
enabled = false;
|
|
}
|
|
}
|
|
|
|
if (serialPort is SerialPort)
|
|
{
|
|
|
|
serialPort.Write(" #");
|
|
serialPort.Write(start.ToString());
|
|
serialPort.Write(" P");
|
|
serialPort.Write(a.ToString());
|
|
|
|
start++;
|
|
|
|
serialPort.Write(" #");
|
|
serialPort.Write(start.ToString());
|
|
serialPort.Write(" P");
|
|
serialPort.Write(b.ToString());
|
|
|
|
start++;
|
|
|
|
serialPort.Write(" #");
|
|
serialPort.Write(start.ToString());
|
|
serialPort.Write(" P");
|
|
serialPort.Write(c.ToString());
|
|
|
|
serialPort.Write(" \r");
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|