UNPKG

pxt-common-packages

Version:
43 lines (40 loc) 1.33 kB
namespace radio { const BROADCAST_GENERAL_ID = 2000; /** * Gets the message code */ //% blockHidden=1 shim=ENUM_GET //% blockId=radioMessageCode block="$msg" enumInitialMembers="message1" //% enumName=RadioMessage enumMemberName=msg enumPromptHint="e.g. Start, Stop, Jump..." //% enumIsHash=1 export function __message(msg: number): number { return msg; } /** * Broadcasts a message over radio * @param msg */ //% blockId=radioBroadcastMessage block="radio send $msg" //% msg.shadow=radioMessageCode draggableParameters //% weight=200 //% blockGap=8 //% help=radio/send-message //% group="Broadcast" export function sendMessage(msg: number): void { // 0 is MICROBIT_EVT_ANY, shifting by 1 radio.raiseEvent(BROADCAST_GENERAL_ID, msg + 1); } /** * Registers code to run for a particular message * @param msg * @param handler */ //% blockId=radioOnMessageReceived block="on radio $msg received" //% msg.shadow=radioMessageCode draggableParameters //% weight=199 //% help=radio/on-received-message //% group="Broadcast" export function onReceivedMessage(msg: number, handler: () => void) { control.onEvent(BROADCAST_GENERAL_ID, msg + 1, handler); } }