better bus support
This commit is contained in:
		@@ -16,15 +16,19 @@ enum EventCreationMode {
 | 
			
		||||
    CreateAndFire
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum RuntimeContants {
 | 
			
		||||
enum EventBusSource {
 | 
			
		||||
    //% enumVal=MICROBIT_ID_BUTTON_A
 | 
			
		||||
    MICROBIT_ID_BUTTON_A,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_BUTTON_B
 | 
			
		||||
    MICROBIT_ID_BUTTON_B,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_BUTTON_AB
 | 
			
		||||
    MICROBIT_ID_BUTTON_AB,
 | 
			
		||||
    //% enumVal=MICROBIT_BUTTON_EVT_CLICK
 | 
			
		||||
    MICROBIT_BUTTON_EVT_CLICK,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_RADIO
 | 
			
		||||
    MICROBIT_ID_RADIO,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_GESTURE
 | 
			
		||||
    MICROBIT_ID_GESTURE,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_ACCELEROMETER
 | 
			
		||||
    MICROBIT_ID_ACCELEROMETER,    
 | 
			
		||||
    //% enumVal=MICROBIT_ID_IO_P0
 | 
			
		||||
    MICROBIT_ID_IO_P0,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_IO_P1
 | 
			
		||||
@@ -63,18 +67,25 @@ enum RuntimeContants {
 | 
			
		||||
    MICROBIT_ID_IO_P19,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_IO_P20
 | 
			
		||||
    MICROBIT_ID_IO_P20,
 | 
			
		||||
    //% enumVal=MES_DEVICE_INFO_ID
 | 
			
		||||
    MES_DEVICE_INFO_ID,
 | 
			
		||||
    //% enumVal=MES_SIGNAL_STRENGTH_ID
 | 
			
		||||
    MES_SIGNAL_STRENGTH_ID,
 | 
			
		||||
    //% enumVal=MES_DPAD_CONTROLLER_ID
 | 
			
		||||
    MES_DPAD_CONTROLLER_ID,
 | 
			
		||||
    //% enumVal=MES_BROADCAST_GENERAL_ID
 | 
			
		||||
    MES_BROADCAST_GENERAL_ID,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_RADIO
 | 
			
		||||
    MICROBIT_ID_RADIO,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum EventBusValue {
 | 
			
		||||
    //% enumVal=MICROBIT_EVT_ANY
 | 
			
		||||
    MICROBIT_EVT_ANY,
 | 
			
		||||
    //% enumVal=MICROBIT_BUTTON_EVT_CLICK
 | 
			
		||||
    MICROBIT_BUTTON_EVT_CLICK,
 | 
			
		||||
    //% enumVal=MICROBIT_RADIO_EVT_DATAGRAM
 | 
			
		||||
    MICROBIT_RADIO_EVT_DATAGRAM,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_GESTURE
 | 
			
		||||
    MICROBIT_ID_GESTURE,
 | 
			
		||||
    //% enumVal=MICROBIT_ACCELEROMETER_EVT_DATA_UPDATE
 | 
			
		||||
    MICROBIT_ACCELEROMETER_EVT_DATA_UPDATE,
 | 
			
		||||
    //% enumVal=MICROBIT_ID_ACCELEROMETER
 | 
			
		||||
    MICROBIT_ID_ACCELEROMETER,    
 | 
			
		||||
    //% enumVal=MES_ALERT_EVT_ALARM1
 | 
			
		||||
    MES_ALERT_EVT_ALARM1,
 | 
			
		||||
    //% enumVal=MES_ALERT_EVT_ALARM2
 | 
			
		||||
@@ -185,9 +196,16 @@ namespace control {
 | 
			
		||||
     * Schedules code that run in the background.
 | 
			
		||||
     */
 | 
			
		||||
    //% help=control/in-background shim=micro_bit::runInBackground
 | 
			
		||||
    //% blockId="control_in_background" block="run in background"
 | 
			
		||||
    //% blockId="control_in_background" block="run in background" blockGap=8
 | 
			
		||||
    export function inBackground(body: Action): void { }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Resets the BBC micro:bit.
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=30 shim=uBit.reset async help=control/reset
 | 
			
		||||
    //% blockId="control_reset" block="reset"
 | 
			
		||||
    export function reset(): void { }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Raises an event in the event bus.
 | 
			
		||||
     @param src ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.
 | 
			
		||||
@@ -195,28 +213,28 @@ namespace control {
 | 
			
		||||
     @param mode optional definition of how the event should be processed after construction (default is CREATE_AND_QUEUE).
 | 
			
		||||
    */
 | 
			
		||||
    // shim=micro_bit::busRaiseEvent
 | 
			
		||||
    //% weight=21 blockGap=8 blockId="control_raise_event" block="raise event|from source %src=control_constant|with value %value=control_constant" blockExternalInputs=1
 | 
			
		||||
    //% weight=21 blockGap=12 blockId="control_raise_event" block="raise event|from source %src=control_event_source|with value %value=control_event_value" blockExternalInputs=1
 | 
			
		||||
    export function raiseEvent(src: number, value: number, mode: EventCreationMode = EventCreationMode.CreateAndQueue): void { }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Raises an event in the event bus.
 | 
			
		||||
     */
 | 
			
		||||
    // shim=micro_bit::onBusEvent
 | 
			
		||||
    //% weight=20 blockGap=8 blockId="control_on_event" block="on event|from %src=control_constant|value %value=control_constant"
 | 
			
		||||
    //% weight=20 blockGap=8 blockId="control_on_event" block="on event|from %src=control_event_source|with value %value=control_event_value" blockExternalInputs=1
 | 
			
		||||
    export function onEvent(src: number, value: number, handler: Action): void { }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the value of a C++ runtime constant
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=19 shimw=TD_ID weight=19 blockId="control_constant" block="%id"
 | 
			
		||||
    export function constant(id: RuntimeContants) : number {
 | 
			
		||||
    //% weight=19 shimw=TD_ID weight=19 blockId="control_event_source" block="%id"
 | 
			
		||||
    export function eventSource(id: EventBusSource) : number {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Resets the BBC micro:bit.
 | 
			
		||||
     * Returns the value of a C++ runtime constant
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=1 shim=uBit.reset async help=control/reset
 | 
			
		||||
    //% blockId="control_reset" block="reset"
 | 
			
		||||
    export function reset(): void { }
 | 
			
		||||
    //% weight=19 shimw=TD_ID weight=19 blockId="control_event_value" block="%id"
 | 
			
		||||
    export function eventValue(id: EventBusValue) : number {
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user