Я пытаюсь преобразовать данные с моего устройства Arduino Bluetooth в Double. Поэтому я пишу эту функцию:
func convert(from characteristic: CBCharacteristic) -> Double {
guard let arduinoData = characteristic.value else { return -1 }
let byteArray = [UInt8](arduinoData)
// print(characteristicData as NSData)
return Double(byteArray[0])
}
Я получаю персонажа ascii из моего arduino. Так что этот код работает для чисел от 0 до 9. Но я хочу получить значение, как 300.207
Хотелось бы узнать, можно ли было прочитать 7 октетов подряд, чтобы поместить их в один дубль?
Я пытаюсь с помощью приведенного ниже кода прочитать первый октет и второй, но у меня есть эта ошибка: Поток 1: Неустранимая ошибка: Индекс вне диапазона
func convert(from characteristic: CBCharacteristic) -> Double {
guard let arduinoData = characteristic.value else { return -1 }
let byteArray = [UInt8](arduinoData)
return Double(byteArray[0]) + Double(byteArray[1])
}
Спасибо (я новичок)