code.py
1 # SPDX-FileCopyrightText: 2019 Kattni Rembor for Adafruit Industries 2 # 3 # SPDX-License-Identifier: MIT 4 5 from adafruit_ble import BLERadio 6 from adafruit_ble.advertising.standard import ProvideServicesAdvertisement 7 from adafruit_ble.services.nordic import UARTService 8 9 from adafruit_bluefruit_connect.packet import Packet 10 from adafruit_bluefruit_connect.accelerometer_packet import AccelerometerPacket 11 from adafruit_bluefruit_connect.magnetometer_packet import MagnetometerPacket 12 from adafruit_bluefruit_connect.gyro_packet import GyroPacket 13 from adafruit_bluefruit_connect.quaternion_packet import QuaternionPacket 14 15 ble = BLERadio() 16 uart = UARTService() 17 advertisement = ProvideServicesAdvertisement(uart) 18 19 while True: 20 ble.start_advertising(advertisement) 21 while not ble.connected: 22 pass 23 24 # Now we're connected 25 26 while ble.connected: 27 if uart.in_waiting: 28 packet = Packet.from_stream(uart) 29 if isinstance(packet, AccelerometerPacket): 30 print("Acceleration:", packet.x, packet.y, packet.z) 31 if isinstance(packet, MagnetometerPacket): 32 print("Magnetometer:", packet.x, packet.y, packet.z) 33 if isinstance(packet, GyroPacket): 34 print("Gyro:", packet.x, packet.y, packet.z) 35 if isinstance(packet, QuaternionPacket): 36 print("Quaternion:", packet.x, packet.y, packet.z) 37 38 # If we got here, we lost the connection. Go up to the top and start 39 # advertising again and waiting for a connection.