server can set resistance
This commit is contained in:
@@ -16,6 +16,7 @@ namespace Client
|
|||||||
private int totalBufferReceived = 0;
|
private int totalBufferReceived = 0;
|
||||||
private EngineConnection engineConnection;
|
private EngineConnection engineConnection;
|
||||||
private bool sessionRunning = false;
|
private bool sessionRunning = false;
|
||||||
|
private IHandler handler = null;
|
||||||
|
|
||||||
|
|
||||||
public Client() : this("localhost", 5555)
|
public Client() : this("localhost", 5555)
|
||||||
@@ -102,6 +103,16 @@ namespace Client
|
|||||||
byte[] stopSession = DataParser.getStopSessionJson();
|
byte[] stopSession = DataParser.getStopSessionJson();
|
||||||
stream.BeginWrite(stopSession, 0, stopSession.Length, new AsyncCallback(OnWrite), null);
|
stream.BeginWrite(stopSession, 0, stopSession.Length, new AsyncCallback(OnWrite), null);
|
||||||
break;
|
break;
|
||||||
|
case DataParser.SET_RESISTANCE:
|
||||||
|
if (this.handler == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("handler is null");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.handler.setResistance(DataParser.getResistanceFromJson(payloadbytes));
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Console.WriteLine($"Received json with identifier {identifier}:\n{Encoding.ASCII.GetString(payloadbytes)}");
|
Console.WriteLine($"Received json with identifier {identifier}:\n{Encoding.ASCII.GetString(payloadbytes)}");
|
||||||
break;
|
break;
|
||||||
@@ -174,5 +185,10 @@ namespace Client
|
|||||||
initEngine();
|
initEngine();
|
||||||
this.stream.BeginWrite(message, 0, message.Length, new AsyncCallback(OnWrite), null);
|
this.stream.BeginWrite(message, 0, message.Length, new AsyncCallback(OnWrite), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setHandler(IHandler handler)
|
||||||
|
{
|
||||||
|
this.handler = handler;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using Hardware;
|
using Hardware;
|
||||||
using Hardware.Simulators;
|
using Hardware.Simulators;
|
||||||
using RH_Engine;
|
|
||||||
|
|
||||||
namespace Client
|
namespace Client
|
||||||
{
|
{
|
||||||
@@ -20,13 +19,18 @@ namespace Client
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
//BLEHandler bLEHandler = new BLEHandler(client);
|
BLEHandler bLEHandler = new BLEHandler(client);
|
||||||
|
|
||||||
//bLEHandler.Connect();
|
bLEHandler.Connect();
|
||||||
|
|
||||||
BikeSimulator bikeSimulator = new BikeSimulator(client);
|
client.setHandler(bLEHandler);
|
||||||
|
|
||||||
bikeSimulator.StartSimulation();
|
|
||||||
|
//BikeSimulator bikeSimulator = new BikeSimulator(client);
|
||||||
|
|
||||||
|
//bikeSimulator.StartSimulation();
|
||||||
|
|
||||||
|
//client.setHandler(bikeSimulator);
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,11 +25,13 @@ namespace Hardware
|
|||||||
public BLEHandler(IDataReceiver dataReceiver)
|
public BLEHandler(IDataReceiver dataReceiver)
|
||||||
{
|
{
|
||||||
this.dataReceivers = new List<IDataReceiver> { dataReceiver };
|
this.dataReceivers = new List<IDataReceiver> { dataReceiver };
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public BLEHandler(List<IDataReceiver> dataReceivers)
|
public BLEHandler(List<IDataReceiver> dataReceivers)
|
||||||
{
|
{
|
||||||
this.dataReceivers = dataReceivers;
|
this.dataReceivers = dataReceivers;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addDataReceiver(IDataReceiver dataReceiver)
|
public void addDataReceiver(IDataReceiver dataReceiver)
|
||||||
@@ -43,6 +45,7 @@ namespace Hardware
|
|||||||
public void Connect()
|
public void Connect()
|
||||||
{
|
{
|
||||||
BLE bleBike = new BLE();
|
BLE bleBike = new BLE();
|
||||||
|
|
||||||
Thread.Sleep(1000); // We need some time to list available devices
|
Thread.Sleep(1000); // We need some time to list available devices
|
||||||
|
|
||||||
// List available devices
|
// List available devices
|
||||||
@@ -170,6 +173,11 @@ namespace Hardware
|
|||||||
/// <param name="percentage">The precentage of resistance to set</param>
|
/// <param name="percentage">The precentage of resistance to set</param>
|
||||||
public void setResistance(float percentage)
|
public void setResistance(float percentage)
|
||||||
{
|
{
|
||||||
|
if (!this.Running)
|
||||||
|
{
|
||||||
|
Console.WriteLine("BLE is not running");
|
||||||
|
return;
|
||||||
|
}
|
||||||
byte[] antMessage = new byte[13];
|
byte[] antMessage = new byte[13];
|
||||||
antMessage[0] = 0x4A;
|
antMessage[0] = 0x4A;
|
||||||
antMessage[1] = 0x09;
|
antMessage[1] = 0x09;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ using System.Text;
|
|||||||
|
|
||||||
namespace ProftaakRH
|
namespace ProftaakRH
|
||||||
{
|
{
|
||||||
interface IHandler
|
public interface IHandler
|
||||||
{
|
{
|
||||||
void setResistance(float percentage);
|
void setResistance(float percentage);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ namespace ProftaakRH
|
|||||||
IDataReceiver dataReceiver = new DataConverter();
|
IDataReceiver dataReceiver = new DataConverter();
|
||||||
BLEHandler bLEHandler = new BLEHandler(dataReceiver);
|
BLEHandler bLEHandler = new BLEHandler(dataReceiver);
|
||||||
BikeSimulator bikeSimulator = new BikeSimulator(dataReceiver);
|
BikeSimulator bikeSimulator = new BikeSimulator(dataReceiver);
|
||||||
bikeSimulator.setResistance(bikeSimulator.GenerateResistance(1f));
|
bikeSimulator.setResistance(1);
|
||||||
bikeSimulator.StartSimulation();
|
bikeSimulator.StartSimulation();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -103,21 +103,17 @@ namespace Server
|
|||||||
{
|
{
|
||||||
Console.WriteLine("Log in");
|
Console.WriteLine("Log in");
|
||||||
this.username = username;
|
this.username = username;
|
||||||
byte[] response = DataParser.getLoginResponse("OK");
|
sendMessage(DataParser.getLoginResponse("OK"));
|
||||||
stream.BeginWrite(response, 0, response.Length, new AsyncCallback(OnWrite), null);
|
sendMessage(DataParser.getStartSessionJson());
|
||||||
byte[] startSession = DataParser.getStartSessionJson();
|
|
||||||
stream.BeginWrite(startSession, 0, startSession.Length, new AsyncCallback(OnWrite), null);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
byte[] response = DataParser.getLoginResponse("wrong username or password");
|
sendMessage(DataParser.getLoginResponse("wrong username or password"));
|
||||||
stream.BeginWrite(response, 0, response.Length, new AsyncCallback(OnWrite), null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
byte[] response = DataParser.getLoginResponse("invalid json");
|
sendMessage(DataParser.getLoginResponse("invalid json"));
|
||||||
stream.BeginWrite(response, 0, response.Length, new AsyncCallback(OnWrite), null);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DataParser.START_SESSION:
|
case DataParser.START_SESSION:
|
||||||
@@ -142,6 +138,7 @@ namespace Server
|
|||||||
else if (payloadbytes.Length == 2)
|
else if (payloadbytes.Length == 2)
|
||||||
{
|
{
|
||||||
saveData?.WriteDataRAWBPM(payloadbytes);
|
saveData?.WriteDataRAWBPM(payloadbytes);
|
||||||
|
sendMessage(DataParser.getSetResistanceJson(50));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -152,6 +149,11 @@ namespace Server
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendMessage(byte[] message)
|
||||||
|
{
|
||||||
|
stream.BeginWrite(message, 0, message.Length, new AsyncCallback(OnWrite), null);
|
||||||
|
}
|
||||||
|
|
||||||
private bool verifyLogin(string username, string password)
|
private bool verifyLogin(string username, string password)
|
||||||
{
|
{
|
||||||
return username == password;
|
return username == password;
|
||||||
|
|||||||
Reference in New Issue
Block a user