pxlit-projects / entmob2016_8

MIT License
0 stars 0 forks source link

reading characteristicdata #11

Open StephaneOris opened 7 years ago

StephaneOris commented 7 years ago

De data uit de sensor is steeds null wanneer we deze willen uitlezen. We gebruiken StartUpdates(), dat zou ervoor moeten zorgen dat we om de seconde updates zouden krijgen. Dit zou de services moeten activeren:

characteristicConfig.Write(new byte[] { 0x00 });
            characteristicConfig.Write(new byte[] { 0x01 });
            characteristicConfig.Write(new byte[] { 0x02 });
            characteristicConfig.Write(new byte[] { 0x03 });
            characteristicConfig.Write(new byte[] { 0x04 });
            characteristicConfig.Write(new byte[] { 0x05 });
            characteristicConfig.Write(new byte[] { 0x06 });

Het koppelen van de listener aan de event:

if (characteristicData.CanUpdate)
            {
                characteristicData.ValueUpdated += CharacteristicData_ValueUpdated;                
            }
characteristicData.StartUpdates();

Dit is het event:

private void CharacteristicData_ValueUpdated(object sender, CharacteristicReadEventArgs e)
        {
            GetData(e);
        }

Dit zijn vervolgens de methodes om de data om te zetten

public void GetData(CharacteristicReadEventArgs e)
        {
            string data = Decode(e.Characteristic.Value);
            Debug.WriteLine("Update: " + e.Characteristic.Value);
        }

        private string Decode(byte[] value)
        {
            var sensorData = value;
            // Accelerometer sensorKXTJ9
            int x = sensorData[0];
            int y = sensorData[1];
            int z = sensorData[2];
            Debug.WriteLine("x: " + x + " y: " + y + " z:" + z);
            string data = "x: " + x + " y: " + y + " z:" + z;
            return data;
        }