Data is received from BalanceBot
This commit is contained in:
parent
c4ceaee3f6
commit
e558733a20
|
@ -1 +1 @@
|
||||||
Subproject commit 421750f1209e8c91aa594c1126a306e127c5a7a2
|
Subproject commit 533ddb404ffa5582e5ac9c395861806e2042e981
|
|
@ -584,6 +584,7 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 744781436}
|
- component: {fileID: 744781436}
|
||||||
- component: {fileID: 744781435}
|
- component: {fileID: 744781435}
|
||||||
|
- component: {fileID: 744781437}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: UDPManager
|
m_Name: UDPManager
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
@ -603,8 +604,10 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 0053eace8ae9ca34680b4223e559ebc6, type: 3}
|
m_Script: {fileID: 11500000, guid: 0053eace8ae9ca34680b4223e559ebc6, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_port: 8888
|
_port: 1234
|
||||||
listen: 1
|
_ipAddress: 239.1.2.3
|
||||||
|
_watchdog: 0
|
||||||
|
<Data>k__BackingField:
|
||||||
--- !u!4 &744781436
|
--- !u!4 &744781436
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -620,6 +623,20 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &744781437
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 744781434}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 65ec321cdebe52d449c641ae006932b9, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_udpManager: {fileID: 744781435}
|
||||||
|
<ReceivedData>k__BackingField:
|
||||||
--- !u!1 &752811092
|
--- !u!1 &752811092
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
using System;
|
||||||
|
using GameDev.UDP;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[RequireComponent(typeof(UDPManager))]
|
||||||
|
public class ReceiveData : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Connections")]
|
||||||
|
[SerializeField] private UDPManager _udpManager;
|
||||||
|
|
||||||
|
[Header("State")]
|
||||||
|
[SerializeField] private float _updateRate;
|
||||||
|
[SerializeField] private ulong _packages;
|
||||||
|
[field: SerializeField] public byte[] ReceivedData { get; set; }
|
||||||
|
|
||||||
|
[field: Header("ReceivedData")]
|
||||||
|
[field: SerializeField] private byte Watchdog { get; set; }
|
||||||
|
[field: SerializeField] private byte States { get; set; }
|
||||||
|
[field: SerializeField] private int M1SpeedCmd { get; set; }
|
||||||
|
[field: SerializeField] private int M2SpeedCmd { get; set; }
|
||||||
|
[field: SerializeField] private float AccelerometerPitch { get; set; }
|
||||||
|
[field: SerializeField] private float FilteredPitch { get; set; }
|
||||||
|
[field: SerializeField] private float PitchRate { get; set; }
|
||||||
|
[field: SerializeField] private float RemSpeedRef { get; set; }
|
||||||
|
[field: SerializeField] private float RemTurnSpeedRef { get; set; }
|
||||||
|
[field: SerializeField] private float ScContOut { get; set; }
|
||||||
|
[field: SerializeField] private float TcContOut { get; set; }
|
||||||
|
[field: SerializeField] private float OlContOut { get; set; }
|
||||||
|
[field: SerializeField] private float RefIL { get; set; }
|
||||||
|
[field: SerializeField] private float ActIL { get; set; }
|
||||||
|
[field: SerializeField] private float ErrorIL { get; set; }
|
||||||
|
[field: SerializeField] private float ILContOut { get; set; }
|
||||||
|
[field: SerializeField] private float IErrorIL { get; set; }
|
||||||
|
[field: SerializeField] private float ILAntiWindup { get; set; }
|
||||||
|
[field: SerializeField] private float SpeedCmd1 { get; set; }
|
||||||
|
[field: SerializeField] private float SpeedCmd2 { get; set; }
|
||||||
|
private int _newPackages;
|
||||||
|
private float _sampleTime;
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
_sampleTime = 1;
|
||||||
|
_udpManager.ReceivedNewUdpData += ProcessData;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
_udpManager.ReceivedNewUdpData -= ProcessData;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProcessData()
|
||||||
|
{
|
||||||
|
_packages++;
|
||||||
|
_newPackages++;
|
||||||
|
ReceivedData = _udpManager.Data;
|
||||||
|
var i = 0;
|
||||||
|
Watchdog = ReceivedData[i];
|
||||||
|
States = ReceivedData[i += 1];
|
||||||
|
M1SpeedCmd = BitConverter.ToInt16(ReceivedData, i += 1);
|
||||||
|
M2SpeedCmd = BitConverter.ToInt16(ReceivedData, i += 2);
|
||||||
|
AccelerometerPitch = BitConverter.ToSingle(ReceivedData, i += 2);
|
||||||
|
FilteredPitch = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
PitchRate = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
RemSpeedRef = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
RemTurnSpeedRef = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
ScContOut = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
TcContOut = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
OlContOut = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
RefIL = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
ActIL = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
ErrorIL = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
ILContOut = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
IErrorIL = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
ILAntiWindup = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
SpeedCmd1 = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
SpeedCmd2 = BitConverter.ToSingle(ReceivedData, i += 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
CalculateReceiveRate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CalculateReceiveRate()
|
||||||
|
{
|
||||||
|
if (_sampleTime < 0)
|
||||||
|
{
|
||||||
|
_updateRate = _newPackages;
|
||||||
|
_newPackages = 0;
|
||||||
|
_sampleTime = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_sampleTime -= Time.fixedDeltaTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 65ec321cdebe52d449c641ae006932b9
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
Reference in New Issue