Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API TxIR mbed nRF51822
Fork of ir-puck by
Diff: main.cpp
- Revision:
- 1:e92c3b50191d
- Parent:
- 0:c94311378ec1
- Child:
- 4:24d9873936e6
diff -r c94311378ec1 -r e92c3b50191d main.cpp
--- a/main.cpp Wed Jul 02 10:48:58 2014 +0000
+++ b/main.cpp Wed Jul 09 14:47:41 2014 +0000
@@ -25,6 +25,7 @@
extern GattService ir_service;
extern GattCharacteristic header, one, zero, ptrail, predata, code;
+int received_ir_transmission = 0;
void onDataWritten(uint16_t handle)
{
py.printf("Data written! %i\n", handle);
@@ -34,12 +35,15 @@
if (characteristic->getHandle() == handle) {
uint16_t max_length = characteristic->getMaxLength();
ble.readCharacteristicValue(handle, characteristic->getValuePtr(), &max_length);
+ for (int i=0; i<max_length; i++) {
+ py.printf("Got value: %d\n", characteristic->getValuePtr()[i]);
+ }
break;
}
}
-
+
if (code.getHandle() == handle) {
- fireIRCode(header.getValuePtr(), one.getValuePtr(), zero.getValuePtr(), ptrail.getValuePtr(), predata.getValuePtr(), code.getValuePtr());
+ received_ir_transmission = 1;
}
}
@@ -52,7 +56,7 @@
void connectionCallback(void)
{
- py.printf("Connected!\n");
+ py.printf("Connected!\n");
}
void onDataSent(uint16_t data)
@@ -60,7 +64,10 @@
py.printf("onDataSent!\n");
}
-int main() {
+int main()
+{
+ py.printf("Start of main\n");
+
ble.init();
ble.onConnection(connectionCallback);
ble.onDisconnection(disconnectionCallback);
@@ -69,24 +76,24 @@
ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED);
ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */
-
-
+
ble.accumulateAdvertisingPayload(GapAdvertisingData::MANUFACTURER_SPECIFIC_DATA,
- beaconPayload, sizeof(beaconPayload));
-
+ beaconPayload, sizeof(beaconPayload));
+
ble.startAdvertising();
ble.addService(ir_service);
-
+
myled = 1;
-
- py.printf("Starting up.\n");
-
-
+
+ py.printf("Listening..\n");
while (true) {
ble.waitForEvent();
+ if (received_ir_transmission == 1) {
+ fireIRCode(header.getValuePtr(), one.getValuePtr(), zero.getValuePtr(), ptrail.getValuePtr(), predata.getValuePtr(), code.getValuePtr());
+ received_ir_transmission = 0;
+ }
myled = !myled;
}
-
}
\ No newline at end of file
