diff --git a/examples/test.c b/examples/test.c index c0a36db..ef641a0 100644 --- a/examples/test.c +++ b/examples/test.c @@ -6,6 +6,8 @@ #include #include +#include "../src/util.h" + static void usage(int argc, char **argv) { fprintf(stderr, "usage: %s /dev/rfcommX\n", argv[0]); exit(1); @@ -20,14 +22,39 @@ static int answer_phone_version_message(skipstone_message_service *service, static int answer_music_message(skipstone_message_service *service, void *buf, uint16_t size, uint16_t id, void *context) { - skipstone_message *message = skipstone_message_new(); + skipstone_message *message; - skipstone_message_append_uint8(message, 0x10); - skipstone_message_append_string(message, "KMFDM", 5); - skipstone_message_append_string(message, "Nihil", 5); - skipstone_message_append_string(message, "Ultra", 5); + printf("Got message 0x%02x\n", ((uint8_t *)buf)[0]); - skipstone_message_service_queue(service, message, 32); + if (((uint8_t *)buf)[0] == 0x08) { + message = skipstone_message_new(); + skipstone_message_append_uint8(message, 0x10); + skipstone_message_append_string(message, "KMFDM", 5); + skipstone_message_append_string(message, "Nihil", 5); + skipstone_message_append_string(message, "Ultra", 5); + skipstone_message_append_uint32(message, htobe32(274)); + skipstone_message_append_uint16(message, htobe16(10)); + skipstone_message_append_uint16(message, htobe16(1)); + skipstone_message_service_queue(service, message, 32); + skipstone_message_destroy(message); + + message = skipstone_message_new(); + skipstone_message_append_uint8(message, 0x11); + skipstone_message_append_uint8(message, 1); + skipstone_message_append_uint32(message, htobe32(120)); + skipstone_message_append_uint32(message, htobe32(1)); + skipstone_message_append_uint8(message, 1); + skipstone_message_append_uint8(message, 1); + skipstone_message_service_queue(service, message, 32); + skipstone_message_destroy(message); + + message = skipstone_message_new(); + skipstone_message_append_uint8(message, 0x13); + skipstone_message_append_string(message, "DeaDBeeF", 8); + skipstone_message_append_string(message, "DeaDBeeF", 8); + skipstone_message_service_queue(service, message, 32); + skipstone_message_destroy(message); + } return 0; } diff --git a/examples/test.c-e b/examples/test.c-e index c0a36db..ef641a0 100644 --- a/examples/test.c-e +++ b/examples/test.c-e @@ -6,6 +6,8 @@ #include #include +#include "../src/util.h" + static void usage(int argc, char **argv) { fprintf(stderr, "usage: %s /dev/rfcommX\n", argv[0]); exit(1); @@ -20,14 +22,39 @@ static int answer_phone_version_message(skipstone_message_service *service, static int answer_music_message(skipstone_message_service *service, void *buf, uint16_t size, uint16_t id, void *context) { - skipstone_message *message = skipstone_message_new(); + skipstone_message *message; - skipstone_message_append_uint8(message, 0x10); - skipstone_message_append_string(message, "KMFDM", 5); - skipstone_message_append_string(message, "Nihil", 5); - skipstone_message_append_string(message, "Ultra", 5); + printf("Got message 0x%02x\n", ((uint8_t *)buf)[0]); - skipstone_message_service_queue(service, message, 32); + if (((uint8_t *)buf)[0] == 0x08) { + message = skipstone_message_new(); + skipstone_message_append_uint8(message, 0x10); + skipstone_message_append_string(message, "KMFDM", 5); + skipstone_message_append_string(message, "Nihil", 5); + skipstone_message_append_string(message, "Ultra", 5); + skipstone_message_append_uint32(message, htobe32(274)); + skipstone_message_append_uint16(message, htobe16(10)); + skipstone_message_append_uint16(message, htobe16(1)); + skipstone_message_service_queue(service, message, 32); + skipstone_message_destroy(message); + + message = skipstone_message_new(); + skipstone_message_append_uint8(message, 0x11); + skipstone_message_append_uint8(message, 1); + skipstone_message_append_uint32(message, htobe32(120)); + skipstone_message_append_uint32(message, htobe32(1)); + skipstone_message_append_uint8(message, 1); + skipstone_message_append_uint8(message, 1); + skipstone_message_service_queue(service, message, 32); + skipstone_message_destroy(message); + + message = skipstone_message_new(); + skipstone_message_append_uint8(message, 0x13); + skipstone_message_append_string(message, "DeaDBeeF", 8); + skipstone_message_append_string(message, "DeaDBeeF", 8); + skipstone_message_service_queue(service, message, 32); + skipstone_message_destroy(message); + } return 0; }