diff --git a/Doxyfile b/Doxyfile
index c6b3d78f..969d9b59 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME = "MetaWear C++ API"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.4.12
+PROJECT_NUMBER = 0.4.15
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/README.md b/README.md
index b58b04ad..de68c327 100644
--- a/README.md
+++ b/README.md
@@ -38,8 +38,8 @@ dist/
└── lib
└── x64
├── libmetawear.so -> libmetawear.so.0
- ├── libmetawear.so.0 -> libmetawear.so.0.4.12
- └── libmetawear.so.0.4.12
+ ├── libmetawear.so.0 -> libmetawear.so.0.4.15
+ └── libmetawear.so.0.4.15
```
diff --git a/project_version.mk b/project_version.mk
index 928fc0d0..3aadf204 100644
--- a/project_version.mk
+++ b/project_version.mk
@@ -1,4 +1,4 @@
-VERSION=0.4.11
+VERSION=0.4.15
VERSION_MAJOR=0
VERSION_MINOR=4
-VERSION_STEP=11
+VERSION_STEP=15
diff --git a/wrapper/csharp/Functions.cs b/wrapper/csharp/Functions.cs
index 69fa1bc0..bf0cc1c0 100644
--- a/wrapper/csharp/Functions.cs
+++ b/wrapper/csharp/Functions.cs
@@ -366,7 +366,7 @@ public sealed class Functions {
/// Pointer to the board to send the command to
/// Byte representation of the UUID in little endian ordering
[DllImport(METAWEAR_DLL, CallingConvention = CallingConvention.Cdecl)]
- public static extern void mbl_mw_ibeacon_set_uuid(IntPtr board, byte ad_uuid);
+ public static extern void mbl_mw_ibeacon_set_uuid(IntPtr board, byte[] ad_uuid);
///
/// Enables iBeacon mode. You will need to disconnect from the board to advertise as an iBeacon
diff --git a/wrapper/csharp/Peripheral.cs b/wrapper/csharp/Peripheral.cs
index 7bfd4032..c2c10fa4 100644
--- a/wrapper/csharp/Peripheral.cs
+++ b/wrapper/csharp/Peripheral.cs
@@ -1,6 +1,20 @@
+using System;
using System.Runtime.InteropServices;
namespace MbientLab.MetaWear.Peripheral {
+ public class IBeacon {
+ public static byte[] GuidToByteArray(Guid guid) {
+ byte[] guidBytes = guid.ToByteArray();
+
+ // Implementation taken from SO: http://stackoverflow.com/a/16722909
+ Array.Reverse(guidBytes, 0, 4);
+ Array.Reverse(guidBytes, 4, 2);
+ Array.Reverse(guidBytes, 6, 4);
+ Array.Reverse(guidBytes);
+ return guidBytes;
+ }
+ }
+
public class Led {
public const byte REPEAT_INDEFINITELY = 0xff;
@@ -41,4 +55,4 @@ public enum Direction {
AWAY
}
}
-}
\ No newline at end of file
+}