pxt-calliope/docs/device/mes-events.md
Amerlander 918af4f3ac
Bump V3.0.22 (#110)
* change simulator svg

* change radio image

* Remove google fonts cdn

* change color of 'advanced' button

* font fix

* font fix 2

* display fix

* change fullsceen simulator bg

* Continuous servo

* handle continuous state

* adding shims

* update rendering for continuous servos

* fixing sim

* fix sig

* typo

* fix sim

* bump pxt

* bump pxt

* rerun travis

* Input blocks revision

- add Button and Pin event types
- merge onPinPressed & onPinReleased in new onPinEvent function
- create new onButtonEvent function

* update input blocks in docs and tests

* remove device_pin_release block

* Hide DAL.x behind Enum

* bring back deprecated blocks, but hide them

* shims and locales files

* fix input.input. typing

* remove buildpr

* bump V3

* update simulator aspect ratio

* add Loudness Block

* revoke loudness block

* Adds soundLevel

To be replaced by pxt-common-packages when DAL is updated.

* Remove P0 & P3 from AnalogPin

Co-authored-by: Juri <gitkraken@juriwolf.de>
2020-09-08 02:04:25 -07:00

5.5 KiB

MES events

Events and event values are generated in the Message Event Service (MES). Using MES events allows orderly interactions between the @boardname@ and external devices. These events are sent to and received from other wireless devices paired with the @boardname@ (phone, game pad, etc.).

The event source IDs represent a device feature category. The event values are actions for, or notifications about a device feature.

~hint

MES system sources

The MES events are defined in this source file of the microbit-dal:

Also, you can see how the message bus works in the DAL core files:

~

Raised events

Events are generated, or raised, for by the @boardname@ for a paired device. These are raised using the raise event function.

control.raiseEvent(
    control.eventSourceId(EventBusSource.MES_REMOTE_CONTROL_ID),
    control.eventValueId(EventBusValue.MES_REMOTE_CONTROL_EVT_VOLUMEUP)
);

Remote control

Events for using the @boardname@ as a remote control for audio play.

MES_REMOTE_CONTROL_ID

  • MES_REMOTE_CONTROL_EVT_PLAY: Play the current track
  • MES_REMOTE_CONTROL_EVT_PAUSE: Pause the current play in progress
  • MES_REMOTE_CONTROL_EVT_STOP: Stop playing and reset to the beginning of the current track
  • MES_REMOTE_CONTROL_EVT_NEXTTRACK: Skip to the next track
  • MES_REMOTE_CONTROL_EVT_PREVTRACK: Skip to the previous track
  • MES_REMOTE_CONTROL_EVT_FORWARD: Move forward in the current track
  • MES_REMOTE_CONTROL_EVT_REWIND: Move backward in the current track
  • MES_REMOTE_CONTROL_EVT_VOLUMEUP: Increase the play volume (audio)
  • MES_REMOTE_CONTROL_EVT_VOLUMEDOWN: Decrease the play volume (audio)

Camera

Control camera actions on a paired device.

MES_CAMERA_ID

  • MES_CAMERA_EVT_LAUNCH_PHOTO_MODE: Turn on or set the camera to photo mode.
  • MES_CAMERA_EVT_LAUNCH_VIDEO_MODE: Turn on or set the camera to video mode.
  • MES_CAMERA_EVT_TAKE_PHOTO: Capture the picture in the camera view.
  • MES_CAMERA_EVT_START_VIDEO_CAPTURE: Begin capturing video (start record)
  • MES_CAMERA_EVT_STOP_VIDEO_CAPTURE: End capturing video (stop record)
  • MES_CAMERA_EVT_STOP_PHOTO_MODE: Stop photo mode and return to the default mode
  • MES_CAMERA_EVT_STOP_VIDEO_MODE: Stop video mode and return to the default mode
  • MES_CAMERA_EVT_TOGGLE_FRONT_REAR: Switch from the front camera to rear camera or rear to front

Alerts

Trigger standard alert notifications on a device.

MES_ALERTS_ID

  • MES_ALERT_EVT_DISPLAY_TOAST
  • MES_ALERT_EVT_VIBRATE
  • MES_ALERT_EVT_PLAY_SOUND
  • MES_ALERT_EVT_PLAY_RINGTONE
  • MES_ALERT_EVT_FIND_MY_PHONE
  • MES_ALERT_EVT_ALARM1
  • MES_ALERT_EVT_ALARM2
  • MES_ALERT_EVT_ALARM3
  • MES_ALERT_EVT_ALARM4
  • MES_ALERT_EVT_ALARM5
  • MES_ALERT_EVT_ALARM6

Received events

Events are received by the @boardname@ from a paired device. You capture these in an on event function.

control.onEvent(EventBusSource.MES_DEVICE_INFO_ID, EventBusValue.MES_DEVICE_INCOMING_CALL, () => {

})

Carrier signal strength

Signal strength to the subscribed carrier service.

MES_SIGNAL_STRENGTH_ID

  • MES_SIGNAL_STRENGTH_EVT_NO_BAR: No service available or very low signal strength
  • MES_SIGNAL_STRENGTH_EVT_ONE_BAR: Low signal strength
  • MES_SIGNAL_STRENGTH_EVT_TWO_BAR: Medium signal strength
  • MES_SIGNAL_STRENGTH_EVT_THREE_BAR: High signal strength
  • MES_SIGNAL_STRENGTH_EVT_FOUR_BAR: Full signal strength

Device information

Information about the current status of the device

MES_DEVICE_INFO_ID

  • MES_DEVICE_ORIENTATION_LANDSCAPE: Display orientation is now in landscape
  • MES_DEVICE_ORIENTATION_PORTRAIT: Display orientation is now in portrait
  • MES_DEVICE_GESTURE_NONE: No gesture detected for device activation
  • MES_DEVICE_GESTURE_DEVICE_SHAKEN: The device was shaken
  • MES_DEVICE_DISPLAY_OFF: Device display is now turned off
  • MES_DEVICE_DISPLAY_ON: Device display is now turned on
  • MES_DEVICE_INCOMING_CALL: Currently receiving an incoming call
  • MES_DEVICE_INCOMING_MESSAGE: A message was received (SMS or other messaging app)

Game pad controller

Button events from a paired game pad.

MES_DPAD_CONTROLLER_ID

  • MES_DPAD_BUTTON_A_DOWN: Button A pressed
  • MES_DPAD_BUTTON_A_UP: Button A released
  • MES_DPAD_BUTTON_B_DOWN: Button B pressed
  • MES_DPAD_BUTTON_B_UP: Button B released
  • MES_DPAD_BUTTON_C_DOWN: Button C pressed
  • MES_DPAD_BUTTON_C_UP: Button C released
  • MES_DPAD_BUTTON_D_DOWN: Button D pressed
  • MES_DPAD_BUTTON_D_UP: Button D released
  • MES_DPAD_BUTTON_1_DOWN: Button 1 pressed
  • MES_DPAD_BUTTON_1_UP: Button 1 released
  • MES_DPAD_BUTTON_2_DOWN: Button 2 pressed
  • MES_DPAD_BUTTON_2_UP: Button 2 released
  • MES_DPAD_BUTTON_3_DOWN: Button 3 pressed
  • MES_DPAD_BUTTON_3_UP: Button 3 released
  • MES_DPAD_BUTTON_4_DOWN: Button 4 pressed
  • MES_DPAD_BUTTON_4_UP: Button 4 released

See also

raise event, on event, event value