From 47f9362e5ffa35e54afe2b8561a5067a377f2609 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Tue, 10 May 2016 10:14:51 -0700 Subject: [PATCH] read radio values --- libs/microbit-radio/radio.cpp | 25 ++++++++++++++++++++----- sim/libmbit.ts | 4 ++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/libs/microbit-radio/radio.cpp b/libs/microbit-radio/radio.cpp index 6e1f1d73..036d85d4 100644 --- a/libs/microbit-radio/radio.cpp +++ b/libs/microbit-radio/radio.cpp @@ -82,15 +82,30 @@ namespace radio { void readValueToSerial() { if (radioEnable() != MICROBIT_OK) return; PacketBuffer p = uBit.radio.datagram.recv(); - uint8_t* bytes = packet.getBytes(); - int type; - memcpy(&type, bytes + 28, 4); - if (type != RADIO_VALUE_PACKET_TYPE) return; + int length = p.length(); + uBit.serial.send("length:"); + uBit.serial.send(length); + uBit.serial.send("\r\n"); + if (length < 32) { + return; + } + + uint8_t* bytes = p.getBytes(); + uint32_t* buf32 = (uint32_t*)bytes; + //uint32_t type = buf32[7]; + //if (type != RADIO_VALUE_PACKET_TYPE) + //{ + // uBit.serial.send("type: "); + // uBit.serial.send(type); + // uBit.serial.send("\r\n"); + // return; + //} int value; int serial; int time; - char name[12+1]; name[12] = 0; + char name[12+1]; name[12] = 0; // memset(name, 0, 13 * sizeof(char)); + memcpy(&value, bytes, 4); memcpy(&serial, bytes + 4, 4); memcpy(&time, bytes + 8, 4); diff --git a/sim/libmbit.ts b/sim/libmbit.ts index 51aa6751..fbe0557f 100644 --- a/sim/libmbit.ts +++ b/sim/libmbit.ts @@ -452,8 +452,8 @@ namespace pxsim.radio { export function sendNumbers(value0: number, value1: number, value2: number, value3: number): void { board().radio.datagram.send([value0, value1, value2, value3]); } - - export function sendValue(name:string, value: number) { + + export function streamValue(name: string, value: number) { board().radio.datagram.send([value]); }