Merge branch 'xiaopeng12138:main' into main
This commit is contained in:
commit
7b08b81316
@ -4006,10 +4006,6 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: c08c82d8bfafe7b4bb4386ab2dd79d9c, type: 3}
|
m_Script: {fileID: 11500000, guid: c08c82d8bfafe7b4bb4386ab2dd79d9c, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
SettingData_114_Text: {fileID: 4900000, guid: daf159283ab4eaa4184a6824a7eace94,
|
|
||||||
type: 3}
|
|
||||||
SettingData_168_Text: {fileID: 4900000, guid: 7c31fb9ac50e1bb439de11b1fdd013bc,
|
|
||||||
type: 3}
|
|
||||||
--- !u!1 &918186758
|
--- !u!1 &918186758
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -7277,7 +7273,6 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1740661842}
|
- component: {fileID: 1740661842}
|
||||||
- component: {fileID: 1740661841}
|
- component: {fileID: 1740661841}
|
||||||
- component: {fileID: 1740661840}
|
|
||||||
- component: {fileID: 1740661839}
|
- component: {fileID: 1740661839}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Camera
|
m_Name: Camera
|
||||||
@ -7319,14 +7314,6 @@ MonoBehaviour:
|
|||||||
m_RequiresDepthTexture: 0
|
m_RequiresDepthTexture: 0
|
||||||
m_RequiresColorTexture: 0
|
m_RequiresColorTexture: 0
|
||||||
m_Version: 2
|
m_Version: 2
|
||||||
--- !u!81 &1740661840
|
|
||||||
AudioListener:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1740661838}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!20 &1740661841
|
--- !u!20 &1740661841
|
||||||
Camera:
|
Camera:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -1,46 +1,59 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using System.IO.Ports;
|
using System.IO.Ports;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
public class Serial : MonoBehaviour
|
public class Serial : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
|
||||||
|
const byte CMD_GET_SYNC_BOARD_VER = 0xa0;
|
||||||
|
const byte CMD_NEXT_READ = 0x72;
|
||||||
|
const byte CMD_GET_UNIT_BOARD_VER = 0xa8;
|
||||||
|
const byte CMD_MYSTERY1 = 0xa2;
|
||||||
|
const byte CMD_MYSTERY2 = 0x94;
|
||||||
|
const byte CMD_START_AUTO_SCAN = 0xc9;
|
||||||
|
const byte CMD_BEGIN_WRITE = 0x77;
|
||||||
|
const byte CMD_NEXT_WRITE = 0x20;
|
||||||
|
|
||||||
static SerialPort ComL = new SerialPort ("COM5", 115200);
|
static SerialPort ComL = new SerialPort ("COM5", 115200);
|
||||||
static SerialPort ComR = new SerialPort ("COM6", 115200);
|
static SerialPort ComR = new SerialPort ("COM6", 115200);
|
||||||
List<byte> inBytes;
|
|
||||||
List<byte> Bytes;
|
|
||||||
byte inByte;
|
byte inByte;
|
||||||
|
string SYNC_BOARD_VER = "190523";
|
||||||
|
string UNIT_BOARD_VER = "190514";
|
||||||
|
string read1 = " 0 0 1 2 3 4 5 15 15 15 15 15 15 11 11 11";
|
||||||
|
string read2 = " 11 11 11 128 103 103 115 138 127 103 105 111 126 113 95 100";
|
||||||
|
string read3 = " 101 115 98 86 76 67 68 48 117 0 82 154 0 6 35 4";
|
||||||
|
|
||||||
byte[] SettingData_160 = new byte[8];
|
byte[] SettingData_160 = new byte[8];
|
||||||
byte[] SettingData_114 = new byte[81];
|
|
||||||
byte[] SettingData_168 = new byte[45];
|
|
||||||
byte[] SettingData_162 = new byte[7];
|
byte[] SettingData_162 = new byte[7];
|
||||||
byte[] SettingData_148 = new byte[7];
|
byte[] SettingData_148 = new byte[7];
|
||||||
byte[] SettingData_201 = new byte[7];
|
byte[] SettingData_201 = new byte[7];
|
||||||
int TouchPackCounter = 0;
|
int TouchPackCounter = 0;
|
||||||
static byte[] TouchPackL = new byte[36];
|
static byte[] TouchPackL = new byte[36];
|
||||||
static byte[] TouchPackR = new byte[36];
|
static byte[] TouchPackR = new byte[36];
|
||||||
public TextAsset SettingData_114_Text;
|
|
||||||
public TextAsset SettingData_168_Text;
|
|
||||||
bool StartUp = false;
|
bool StartUp = false;
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
ComL.Open();
|
ComL.Open();
|
||||||
ComR.Open();
|
ComR.Open();
|
||||||
Debug.Log("Touch Serial Started");
|
Debug.Log("Touch Serial Initializing..");
|
||||||
SetSettingData_160();
|
SetSettingData_160();
|
||||||
SetSettingData_201();
|
SetSettingData_201();
|
||||||
SetSettingData_162();
|
SetSettingData_162();
|
||||||
SetSettingData_148();
|
SetSettingData_148();
|
||||||
SettingData_114 = ByteHelper.ConvertTextToByteArray(SettingData_114_Text);
|
// SettingData_168 = ByteHelper.ConvertTextToByteArray(SettingData_168_Text);
|
||||||
SettingData_168 = ByteHelper.ConvertTextToByteArray(SettingData_168_Text);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
ReadHead(ComL);
|
if(ComL.IsOpen)
|
||||||
ReadHead(ComR);
|
ReadHead(ComL, 0);
|
||||||
|
if (ComR.IsOpen)
|
||||||
|
ReadHead(ComR, 1);
|
||||||
//SendTouch(ComL, TouchPackL);
|
//SendTouch(ComL, TouchPackL);
|
||||||
//SendTouch(ComR, TouchPackR);
|
//SendTouch(ComR, TouchPackR);
|
||||||
if (Input.GetKeyDown(KeyCode.M))
|
if (Input.GetKeyDown(KeyCode.M))
|
||||||
@ -64,62 +77,103 @@ public class Serial : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReadHead(SerialPort Serial)
|
void ReadHead(SerialPort Serial, int side)
|
||||||
{
|
{
|
||||||
while (Serial.BytesToRead > 0)
|
if(Serial.BytesToRead > 0)
|
||||||
{
|
{
|
||||||
inByte = Convert.ToByte(Serial.ReadByte());
|
inByte = Convert.ToByte(Serial.ReadByte());
|
||||||
if (inByte == 144 || inByte == 148 || inByte == 154 || inByte == 160 || inByte == 162 || inByte == 168 || inByte == 201)
|
var data = Serial.ReadExisting();
|
||||||
{
|
SendResp(Serial, side, data);
|
||||||
SendResp(Serial);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
void SendResp(SerialPort Serial)
|
void SendResp(SerialPort Serial, int side, string data)
|
||||||
{
|
{
|
||||||
switch(inByte)
|
switch(inByte)
|
||||||
{
|
{
|
||||||
case 160:
|
case CMD_GET_SYNC_BOARD_VER:
|
||||||
|
//Response: cmd byte + sync board ver + checksum
|
||||||
StartUp = false;
|
StartUp = false;
|
||||||
Serial.Write(SettingData_160, 0, SettingData_160.Length);
|
List<byte> syncbytes = new List<byte>();
|
||||||
Debug.Log(SettingData_160.Length);
|
syncbytes.Add(inByte);
|
||||||
|
syncbytes.AddRange(ByteHelper.ConvertStringToByteArray(SYNC_BOARD_VER));
|
||||||
|
byte syncCheckSum = (byte)44;
|
||||||
|
syncbytes.Add(syncCheckSum);
|
||||||
|
Serial.Write(syncbytes.ToArray(), 0, syncbytes.Count);
|
||||||
|
Debug.Log($"GET SYNC BOARD VER {side}");
|
||||||
//Bytes.Clear();
|
//Bytes.Clear();
|
||||||
break;
|
break;
|
||||||
case 114:
|
case CMD_NEXT_READ:
|
||||||
|
//Response: corresponding read bytes + checksum
|
||||||
StartUp = false;
|
StartUp = false;
|
||||||
Debug.Log(114);
|
Debug.Log($"Side {side} NEXT READ {Convert.ToByte(data[2])}");
|
||||||
Serial.Write(SettingData_114, 0, 81);
|
switch (Convert.ToByte(data[2]))
|
||||||
|
{
|
||||||
|
case 0x30:
|
||||||
|
var bytes = ByteHelper.ConvertStringToByteArray(read1);
|
||||||
|
bytes.Add(ByteHelper.CalCheckSum(bytes.ToArray(), bytes.Count));
|
||||||
|
Debug.Log("Read 1");
|
||||||
|
Serial.Write(bytes.ToArray(), 0, bytes.Count);
|
||||||
|
break;
|
||||||
|
case 0x31:
|
||||||
|
var bytes2 = ByteHelper.ConvertStringToByteArray(read2);
|
||||||
|
bytes2.Add(ByteHelper.CalCheckSum(bytes2.ToArray(), bytes2.Count));
|
||||||
|
Debug.Log("Read 2");
|
||||||
|
Serial.Write(bytes2.ToArray(), 0, bytes2.Count);
|
||||||
|
break;
|
||||||
|
case 0x33:
|
||||||
|
var bytes3 = ByteHelper.ConvertStringToByteArray(read3);
|
||||||
|
bytes3.Add(ByteHelper.CalCheckSum(bytes3.ToArray(), bytes3.Count));
|
||||||
|
Debug.Log("Read 3");
|
||||||
|
Serial.Write(bytes3.ToArray(), 0, bytes3.Count);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Debug.Log("Extra Read");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// Serial.Write(SettingData_114, 0, 81);
|
||||||
//Bytes.Clear();
|
//Bytes.Clear();
|
||||||
break;
|
break;
|
||||||
case 168:
|
case CMD_GET_UNIT_BOARD_VER:
|
||||||
|
//Response: cmd byte + sync board ver bytes + 'L'/'R' based on side + unit board ver bytes x6 + checksum
|
||||||
StartUp = false;
|
StartUp = false;
|
||||||
Serial.Write(SettingData_168, 0, 45);
|
List<byte> unitBytes = new List<byte>();
|
||||||
Debug.Log(168);
|
byte sideByte = (side == 0 ? Convert.ToByte('R') : Convert.ToByte('L'));
|
||||||
|
byte unitCheckSum = (side == 0 ? (byte)118 : (byte)104);
|
||||||
|
unitBytes.Add(inByte);
|
||||||
|
unitBytes.AddRange(ByteHelper.ConvertStringToByteArray(SYNC_BOARD_VER));
|
||||||
|
unitBytes.Add(sideByte);
|
||||||
|
for (int i = 0; i < 6; i++)
|
||||||
|
unitBytes.AddRange(ByteHelper.ConvertStringToByteArray(UNIT_BOARD_VER));
|
||||||
|
unitBytes.Add(unitCheckSum);
|
||||||
|
Serial.Write(unitBytes.ToArray(), 0, unitBytes.Count);
|
||||||
|
Debug.Log($"GET UNIT BOARD VER {side}");
|
||||||
//Bytes.Clear();
|
//Bytes.Clear();
|
||||||
break;
|
break;
|
||||||
case 162:
|
case CMD_MYSTERY1:
|
||||||
StartUp = false;
|
StartUp = false;
|
||||||
Serial.Write(SettingData_162, 0, 3);
|
Serial.Write(SettingData_162, 0, 3);
|
||||||
Debug.Log(162);
|
Debug.Log($"MYSTERY 1 SIDE {side}");
|
||||||
Debug.Log(SettingData_162.Length);
|
|
||||||
Debug.Log("RX: "+SettingData_162[0]+"-"+
|
|
||||||
SettingData_162[1]+"-"+
|
|
||||||
SettingData_162[2]);
|
|
||||||
//Bytes.Clear();
|
//Bytes.Clear();
|
||||||
break;
|
break;
|
||||||
case 148:
|
case CMD_MYSTERY2:
|
||||||
StartUp = false;
|
StartUp = false;
|
||||||
Serial.Write(SettingData_148, 0, 3);
|
Serial.Write(SettingData_148, 0, 3);
|
||||||
Debug.Log(148);
|
Debug.Log($"MYSTERY 2 SIDE {side}");
|
||||||
//Bytes.Clear();
|
//Bytes.Clear();
|
||||||
break;
|
break;
|
||||||
case 201:
|
case CMD_START_AUTO_SCAN:
|
||||||
Serial.Write(SettingData_201.ToArray(), 0, 3);
|
Serial.Write(SettingData_201.ToArray(), 0, 3);
|
||||||
Debug.Log(201);
|
Debug.Log($"START AUTO SCAN SIDE {side}");
|
||||||
//Bytes.Clear();
|
//Bytes.Clear();
|
||||||
StartUp = true;
|
StartUp = true;
|
||||||
break;
|
break;
|
||||||
|
case CMD_BEGIN_WRITE:
|
||||||
|
// Debug.Log($"Begin Write For Side {side}");
|
||||||
|
break;
|
||||||
|
case CMD_NEXT_WRITE:
|
||||||
|
// Debug.Log($"Continue Write For Side {side}");
|
||||||
|
break;
|
||||||
case 154:
|
case 154:
|
||||||
StartUp = false;
|
StartUp = false;
|
||||||
Debug.Log("BAD");
|
Debug.Log("BAD");
|
||||||
@ -206,10 +260,17 @@ public static class ByteHelper
|
|||||||
_CheckSumByte ^= _PacketData[i];
|
_CheckSumByte ^= _PacketData[i];
|
||||||
return _CheckSumByte;
|
return _CheckSumByte;
|
||||||
}
|
}
|
||||||
|
public static List<byte> ConvertStringToByteArray(string data)
|
||||||
|
{
|
||||||
|
List<byte> tempList = new List<byte>(100);
|
||||||
|
for(int i = 0; i < data.Length; i++)
|
||||||
|
tempList.Add(Convert.ToByte(data[i]));
|
||||||
|
return tempList;
|
||||||
|
}
|
||||||
public static byte[] ConvertTextToByteArray(TextAsset TextObj)
|
public static byte[] ConvertTextToByteArray(TextAsset TextObj)
|
||||||
{
|
{
|
||||||
var splitedData = TextObj.text.Split(Convert.ToChar("\n"));
|
var splitedData = TextObj.text.Split(Convert.ToChar("\n"));
|
||||||
byte[] tempList = new byte[100];
|
byte[] tempList = new byte[splitedData.Length];
|
||||||
for (int i = 0; i < splitedData.Length; i++)
|
for (int i = 0; i < splitedData.Length; i++)
|
||||||
tempList[i] = Convert.ToByte(splitedData[i]);
|
tempList[i] = Convert.ToByte(splitedData[i]);
|
||||||
return tempList;
|
return tempList;
|
||||||
|
@ -1,81 +0,0 @@
|
|||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
48
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
48
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
50
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
51
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
52
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
53
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
49
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
49
|
|
||||||
32
|
|
||||||
32
|
|
||||||
32
|
|
||||||
49
|
|
||||||
49
|
|
||||||
13
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: daf159283ab4eaa4184a6824a7eace94
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,45 +0,0 @@
|
|||||||
168
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
50
|
|
||||||
51
|
|
||||||
82
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
49
|
|
||||||
52
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
49
|
|
||||||
52
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
49
|
|
||||||
52
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
49
|
|
||||||
52
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
49
|
|
||||||
52
|
|
||||||
49
|
|
||||||
57
|
|
||||||
48
|
|
||||||
53
|
|
||||||
49
|
|
||||||
52
|
|
||||||
118
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7c31fb9ac50e1bb439de11b1fdd013bc
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
# WACVR
|
# WACVR
|
||||||
A plan of WACCA VR emulator
|
A VR arcade emulator
|
||||||
|
|
||||||
## Current stage:
|
## Current stage:
|
||||||
- Successfully started the game itself
|
- Successfully started the game itself
|
||||||
@ -10,7 +10,7 @@ A plan of WACCA VR emulator
|
|||||||
## Current issue
|
## Current issue
|
||||||
- touch startup will fail. need to enter test mode to reconnect the touch panel
|
- touch startup will fail. need to enter test mode to reconnect the touch panel
|
||||||
|
|
||||||
## Quick guild
|
## Quick guide
|
||||||
- Port binding is same as my other repo MaiDXR
|
- Port binding is same as my other repo MaiDXR
|
||||||
- need to enter test mode to reconnect the touch panel
|
- need to enter test mode to reconnect the touch panel
|
||||||
- add "[touch] enable=0" to ini file
|
- add "[touch] enable=0" to ini file
|
||||||
|
Loading…
Reference in New Issue
Block a user