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.