Merge branch 'develop' of https://github.com/SemvdH/Proftaak-RH-B4 into develop

This commit is contained in:
Sem van der Hoeven
2020-10-07 15:09:16 +02:00
2 changed files with 77 additions and 17 deletions

View File

@@ -164,7 +164,7 @@ namespace RH_Engine
return JsonConvert.SerializeObject(Payload(payload));
}
public string bikeSpeed(string uuidPanel, string serialCode, double speed)
private string showOnPanel(string uuidPanel, string serialCode, string mText, int index)
{
dynamic payload = new
{
@@ -173,9 +173,9 @@ namespace RH_Engine
data = new
{
id = uuidPanel,
text = "Speed: " + speed.ToString(),
position = new int[] { 4, 24 },
size = 36.0,
text = mText,
position = new int[] { 4, 24 + index * 32 },
size = 32.0,
color = new int[] { 0, 0, 0, 1 },
font = "segoeui"
}
@@ -184,6 +184,43 @@ namespace RH_Engine
return JsonConvert.SerializeObject(Payload(payload));
}
public string showBikespeed(string uuidPanel, string serialCode, double speed)
{
//dynamic payload = new
//{
// id = "scene/panel/drawtext",
// serial = serialCode,
// data = new
// {
// id = uuidPanel,
// text = "Speed: " + speed + " m/s",
// position = new int[] { 4, 24 },
// size = 36.0,
// color = new int[] { 0, 0, 0, 1 },
// font = "segoeui"
// }
//};
//return JsonConvert.SerializeObject(Payload(payload));
return showOnPanel(uuidPanel, serialCode, "Speed: " + speed + " m/s", 0);
}
public string showHeartrate(string uuidPanel, string serialCode, int bpm)
{
return showOnPanel(uuidPanel, serialCode, "Heartrate: " + bpm + " bpm", 1);
}
public string showPower(string uuidPanel, string serialCode, double power)
{
return showOnPanel(uuidPanel, serialCode, "Inst. Power: " + power + " W", 2);
}
public string showResistance(string uuidPanel, string serialCode, double resistance)
{
return showOnPanel(uuidPanel, serialCode, "Resistance: " + resistance + " %", 3);
}
public string SwapPanelCommand(string uuid)
{
dynamic payload = new

View File

@@ -81,7 +81,11 @@ namespace RH_Engine
//Console.WriteLine("GOT MESSAGE WITH SERIAL: " + message + "\n\n\n");
string serial = JSONParser.GetSerial(message);
//Console.WriteLine("Got serial " + serial);
if (serialResponses.ContainsKey(serial)) serialResponses[serial].Invoke(message);
if (serialResponses.ContainsKey(serial))
{
serialResponses[serial].Invoke(message);
serialResponses.Remove(serial);
}
}
}
@@ -181,19 +185,9 @@ namespace RH_Engine
panelId = JSONParser.getPanelID(message);
WriteTextMessage(stream, mainCommand.ColorPanel(panelId));
WriteTextMessage(stream, mainCommand.ClearPanel(panelId));
SendMessageAndOnResponse(stream, mainCommand.MoveTo(panelId, "panelMove", new float[] { 0f, 0f, 0f }, "Z", 1, 5), "panelMove",
(message) =>
{
Console.WriteLine(message);
SendMessageAndOnResponse(stream, mainCommand.bikeSpeed(panelId, "bikeSpeed", 5.0), "bikeSpeed",
(message) =>
{
WriteTextMessage(stream, mainCommand.SwapPanel(panelId));
});
});
showPanel(stream, mainCommand, 5.3, 83, 52, 53);
//while (!(speedReplied && moveReplied)) { }
@@ -325,6 +319,35 @@ namespace RH_Engine
return res;
}
private static void showPanel(NetworkStream stream, Command mainCommand, double bikeSpeed, int bpm, int power, int resistance)
{
SendMessageAndOnResponse(stream, mainCommand.showBikespeed(panelId, "bikeSpeed", bikeSpeed), "bikeSpeed",
(message) =>
{
// TODO check if is drawn
});
SendMessageAndOnResponse(stream, mainCommand.showHeartrate(panelId, "bpm", bpm), "bpm",
(message) =>
{
// TODO check if is drawn
});
SendMessageAndOnResponse(stream, mainCommand.showPower(panelId, "power", power), "power",
(message) =>
{
// TODO check if is drawn
});
SendMessageAndOnResponse(stream, mainCommand.showResistance(panelId, "resistance", resistance), "resistance",
(message) =>
{
// TODO check if is drawn
});
// Check if every text is drawn!
WriteTextMessage(stream, mainCommand.SwapPanel(panelId));
}
private static void SetFollowSpeed(float speed, NetworkStream stream, Command mainCommand)
{
WriteTextMessage(stream, mainCommand.RouteFollow(routeId, bikeId, speed, new float[] { 0, -(float)Math.PI / 2f, 0 }, new float[] { 0, 0, 0 }));