none
Windows Store Application Development RRS feed

  • Question

  • Hi Everyone,

    I am developing windows store application to operate my Bluetooth device for windows tablet using Bluetooth connectivity,

    This application will communicate with my Bluetooth device, i well send Hexadecimal commands from application to device and i will read response from the Bluetooth device.

    writing data to device is working fine but reading response, reading bio metric data from Bluetooth device is giving inconsistent error

    please help me to over come this issue.

    Thanks in advance.

    This is my code to read

     public int iReadResponse(ref byte[] byteArray, int Limit,int DelayInSeconds)
            {
                DataReader reader = null; 
               try

                {
               

                    reader = new DataReader(FPSsocket.InputStream);
                    reader.InputStreamOptions = InputStreamOptions.Partial;
                    Task.Delay(DelayInSeconds).Wait();
                    uint bytesAvailable = 0;
                    int count = 0;
                    
                    
                        while (true)
                        {
                          
                            var bytesAvailable1 = reader.LoadAsync((uint)Limit);
                            Task.Delay(200).Wait(); //5000

                            if (reader.UnconsumedBufferLength > 0)
                            {
                                bytesAvailable = reader.UnconsumedBufferLength;

                            }

                            if (bytesAvailable != 0)
                            {
                                byteArray = new byte[bytesAvailable];
                                reader.ReadBytes(byteArray);
                                Debug.WriteLine("received data is " + BitConverter.ToString(byteArray,0,byteArray.Length));
                              
                              


                                return byteArray.Length;
                            }
                            else
                            {
                              
                                count++;
                                Debug.WriteLine("waiting for data receive " + count);
                              }
                            if (count > 25)
                            {
                                return NO_RESPONSE;
                            }
                        }
                    }
                    catch(System.ObjectDisposedException)
                     {
                         Debug.WriteLine("Object Disposed Exception occured, reconnect the device");
                         return FAILURE;
                     }
                    catch(Exception ex)
                    {
                       // reader.DetachStream();
                        Debug.WriteLine("exception occured in Fps Read" + ex.Message);
                        return FAILURE;
                    }
                finally
               {
                   reader.DetachStream();
                   reader.Dispose();
               }
            }

    Thursday, January 7, 2016 9:35 AM