//using System;

namespace RoboidControl {

    /// <summary>
    /// A temperature sensor
    /// </summary>
    public class TemperatureSensor : Thing {
        /// <summary>
        /// The measured temperature
        /// </summary>
        public float temperature = 0;

        /// <summary>
        /// Create a temperature sensor with the given ID
        /// </summary>
        /// <param name="participant">The participant for with the sensor is needed</param>
        /// <param name="networkId">The network ID of the sensor</param>
        /// <param name="thingId">The ID of the thing</param>
        public TemperatureSensor(Participant participant, byte networkId, byte thingId) : base(participant, networkId, thingId, (byte)Type.TemperatureSensor) {}

        /// <summary>
        /// Function to extract the temperature received in the binary message
        /// </summary>
        /// <param name="bytes">The byte array</param>
        public override void ProcessBinary(byte[] bytes) {
            byte ix = 0;
            this.temperature = LowLevelMessages.ReceiveFloat16(bytes, ref ix);
            //Console.WriteLine($"temperature {this.name} = {this.temperature} C");
        }
    }

}