2019-12-02 05:58:26 +01:00
|
|
|
# on Received Value
|
|
|
|
|
|
|
|
Run part of a program when the @boardname@ receives a name-value-pair over ``radio``.
|
|
|
|
|
|
|
|
```sig
|
|
|
|
radio.onReceivedValue(function (name, value) {})
|
|
|
|
```
|
|
|
|
|
|
|
|
## Parameters
|
|
|
|
|
|
|
|
* **name**: a [string](/types/string) that is a name for the value received.
|
|
|
|
* **value**: a [number](/types/number) that is the value received.
|
|
|
|
|
|
|
|
## ~ hint
|
|
|
|
|
|
|
|
Watch this video to see how the radio hardware works on the @boardname@:
|
|
|
|
|
|
|
|
https://www.youtube.com/watch?v=Re3H2ISfQE8
|
|
|
|
|
|
|
|
## ~
|
|
|
|
|
|
|
|
## Example
|
|
|
|
|
|
|
|
This program keeps sending numbers that say how fast the @boardname@ is
|
|
|
|
slowing down or speeding up. When it receives numbers for the same
|
|
|
|
thing from nearby @boardname@s, show the numbers as a
|
|
|
|
[bar graph](/reference/led/plot-bar-graph).
|
|
|
|
|
|
|
|
```blocks
|
2022-08-10 18:36:19 +02:00
|
|
|
radio.setGroup(1)
|
2019-12-02 05:58:26 +01:00
|
|
|
basic.forever(() => {
|
|
|
|
radio.sendValue("accel-x", input.acceleration(Dimension.X))
|
|
|
|
})
|
|
|
|
radio.onReceivedValue(function (name, value) {
|
|
|
|
if (name == "accel-x") {
|
|
|
|
led.plotBarGraph(value, 1023);
|
|
|
|
}
|
|
|
|
})
|
|
|
|
```
|
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
|
|
|
The ``||radio:on received value||`` event can only be created once, due to the hardware restrictions.
|
|
|
|
|
|
|
|
The radio set group might need to be set, synchronized , before the radio events will function.
|
|
|
|
|
|
|
|
## See also
|
|
|
|
|
|
|
|
[on received number](/reference/radio/on-received-number),
|
|
|
|
[received packet](/reference/radio/received-packet),
|
|
|
|
[send number](/reference/radio/send-number),
|
|
|
|
[send string](/reference/radio/send-string),
|
|
|
|
[send value](/reference/radio/send-value),
|
|
|
|
[set group](/reference/radio/set-group)
|
|
|
|
|
|
|
|
```package
|
|
|
|
radio
|
|
|
|
```
|