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