Microbug / MicroBitDAL_SB2_TEST

Fork of MicroBitDALImageRewrite by Joe Finney

Committer:
finneyj
Date:
Fri May 15 22:23:17 2015 +0000
Revision:
4:f998ee705a20
Parent:
1:3e0360107f98
Child:
5:8bf639bbedb5
SB2 support and minor bugfixes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
finneyj 0:47d8ba08580f 1 #include "inc/MicroBit.h"
finneyj 4:f998ee705a20 2 #include "URIBeaconConfigService.h"
finneyj 0:47d8ba08580f 3
finneyj 4:f998ee705a20 4 extern void dfuCallbackFn();
finneyj 0:47d8ba08580f 5
finneyj 4:f998ee705a20 6 char MICROBIT_BLE_DEVICE_NAME[] = "BBC MicroBit Prototype";
finneyj 4:f998ee705a20 7 char MICROBIT_BLE_MANUFACTURER[] = "The Cast of W1A";
finneyj 4:f998ee705a20 8 char MICROBIT_BLE_MODEL[] = "Microbit SB2";
finneyj 4:f998ee705a20 9 char MICROBIT_BLE_SERIAL[] = "SN1";
finneyj 4:f998ee705a20 10 char MICROBIT_BLE_HARDWARE_VERSION[] = "0.2";
finneyj 4:f998ee705a20 11 char MICROBIT_BLE_FIRMWARE_VERSION[] = "1.1";
finneyj 4:f998ee705a20 12 char MICROBIT_BLE_SOFTWARE_VERSION[] = "1.0";
finneyj 0:47d8ba08580f 13
finneyj 0:47d8ba08580f 14 /**
finneyj 0:47d8ba08580f 15 * Constructor.
finneyj 0:47d8ba08580f 16 * Create a representation of a MicroBit device.
finneyj 0:47d8ba08580f 17 * @param messageBus callback function to receive MicroBitMessageBus events.
finneyj 0:47d8ba08580f 18 */
finneyj 4:f998ee705a20 19 MicroBit::MicroBit() //:display(MICROBIT_ID_DISPLAY, 5, 5)
finneyj 4:f998ee705a20 20 //leftButton(MICROBIT_ID_LEFT_BUTTON,MICROBIT_PIN_LEFT_BUTTON)
finneyj 4:f998ee705a20 21 //i2c(MICROBIT_PIN_SDA, MICROBIT_PIN_SCL)
finneyj 0:47d8ba08580f 22 {
finneyj 4:f998ee705a20 23 display = new MicroBitDisplay(MICROBIT_ID_DISPLAY, 5, 5);
finneyj 4:f998ee705a20 24
finneyj 4:f998ee705a20 25 // Set up BLE stack.
finneyj 4:f998ee705a20 26
finneyj 4:f998ee705a20 27 ble = new BLEDevice();
finneyj 4:f998ee705a20 28 ble->init();
finneyj 4:f998ee705a20 29
finneyj 4:f998ee705a20 30 /* Setup auxiliary services. */
finneyj 4:f998ee705a20 31 ble_firmware_update_service = new DFUService(*ble);
finneyj 4:f998ee705a20 32 ble_device_information_service = new DeviceInformationService(*ble, MICROBIT_BLE_MANUFACTURER, MICROBIT_BLE_MODEL, MICROBIT_BLE_SERIAL, MICROBIT_BLE_HARDWARE_VERSION, MICROBIT_BLE_FIRMWARE_VERSION, MICROBIT_BLE_SOFTWARE_VERSION);
finneyj 4:f998ee705a20 33
finneyj 4:f998ee705a20 34 /* Setup advertising. */
finneyj 4:f998ee705a20 35 ble->accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE);
finneyj 4:f998ee705a20 36 ble->accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)MICROBIT_BLE_DEVICE_NAME, sizeof(MICROBIT_BLE_DEVICE_NAME));
finneyj 4:f998ee705a20 37 //ble.setDeviceName(reinterpret_cast<uint8_t *>(&MICROBIT_BLE_DEVICE_NAME));
finneyj 4:f998ee705a20 38 ble->setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
finneyj 4:f998ee705a20 39
finneyj 4:f998ee705a20 40 ble->setAdvertisingInterval(Gap::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(1000));
finneyj 4:f998ee705a20 41
finneyj 4:f998ee705a20 42 ble->startAdvertising();
finneyj 0:47d8ba08580f 43 }