| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using System;
- using System.Collections.Generic;
- using System.IO.Ports;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Threading;
- namespace FietsSimulator
- {
- class Program
- {
- static void Main(string[] args)
- {
- <<<<<<< .merge_file_a07428
- new FietsSimulator("COM6");
- =======
- string[] ports = SerialPort.GetPortNames();
- Console.WriteLine("Availabe Comports: \n" + String.Join(" \n", ports));
- Console.WriteLine("Enter Comport:");
- string port = Console.ReadLine();
- new FietsSimulator(port);
- Console.WriteLine("Started Simulator");
- >>>>>>> .merge_file_a04204
- while (true)
- {
- Thread.Sleep(10);
- }
- }
- }
- <<<<<<< .merge_file_a07428
- =======
- class FietsSimulator
- {
- private SerialPort comport;
- private Mode curmode;
- private int curvalue;
- private int _power;
- public int Power
- {
- get { return _power; }
- set
- {
- if (value >= 25 && value <= 400)
- _power = value;
- if (value < 25)
- _power = 25;
- if (value > 400)
- _power = 400;
- }
- }
- private enum Mode
- {
- NONE,
- CONSOLE,
- DISTANCE,
- TIME
- }
- public FietsSimulator(String addr)
- {
- this.comport = new SerialPort(addr, 9600);
- comport.DataReceived += new SerialDataReceivedEventHandler(ReceiveData);
- comport.Open();
- }
- private void ReceiveData(object sender, SerialDataReceivedEventArgs e)
- {
- string message = comport.ReadLine().Trim();
- Console.WriteLine(message);
- if (message == "RS")
- {
- curmode = Mode.NONE;
- curvalue = 0;
- Power = 25;
- SendData("ACK");
- }
- else if (message == "CU")
- {
- curmode = Mode.CONSOLE;
- SendData("ACK");
- }
- else if (message.Contains("PW"))
- {
- if (curmode != Mode.NONE && message.Split().Length == 2)
- {
- this.Power = Int32.Parse(message.Split(' ')[1]);
- }
- else
- {
- SendData("ERROR");
- }
- }
- else if (message == "ST")
- {
- SendData("0\t100\t10\t20\t" + Power.ToString() + "\t600\t0504\t200\r");
- // pulse rpm speed * 10 distance requested_power energy mm:ss actual_power
- }
- else
- {
- SendData("ERROR");
- }
- }
- private void SendData(string message)
- {
- this.comport.WriteLine(message);
- }
- }
- >>>>>>> .merge_file_a04204
- }
|