Ejemplo n.º 1
0
        public static RelayController ConnectSerial(string port)
        {
            IEmissionProcessor processor = new ApiFrameEmissionProcessor();
            IRelay             relay     = new SerialRelay(port, processor);

            return(new RelayController(relay, processor, new TransmissionObjectFactory(new BasicCompressor())));
        }
Ejemplo n.º 2
0
        public void SendData()
        {
            string text = "";
            int    expected_byte_count = CONSTANTS.MAX_FRAME_DATA;

            for (int i = 0; i < expected_byte_count; i++)
            {
                text += "x";
            }
            byte[]             data_bytes = Encoding.UTF8.GetBytes(text);
            IEmissionProcessor receiver   = new ApiFrameEmissionProcessor();
            IRelay             relay      = new SerialRelay("COM4", receiver);

            using (RelayController ctrl_send = new RelayController(relay, receiver, transmissionFactory))
            {
                ulong  long_address  = 0x0013A20041B764AD;
                ushort short_address = ctrl_send.Discover(long_address);
                for (int i = 0; i < 1000; i++)
                {
                    // send ACTUAL data
                    try
                    {
                        ctrl_send.SendRawBytes(short_address, data_bytes);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine($"Failed at iteration {i} after {CONSTANTS.MAX_FRAME_DATA * i} bytes");
                        break;
                    }
                }
            }
        }
Ejemplo n.º 3
0
 private void Send()
 {
     try
     {
         byte[]             data_bytes = Encoding.UTF8.GetBytes(this.DataOut + "\r\n");
         IEmissionProcessor receiver   = new ApiFrameEmissionProcessor();
         ulong long_address            = 0x0013A20041B764AD;
         // TODO 06/28/21: determine how to discover via micropython
         //ushort short_address = this.relayController.Discover(long_address);
         this.relayController.Transmit(long_address, data_bytes);
     }
     catch (Exception e)
     {
         Debug.WriteLine($"Error while transmitting data via bluetooth ({e.Message})");
     }
 }