pxt-calliope/docs/reference/radio/receive-string.md

98 lines
2.1 KiB
Markdown
Raw Normal View History

# receive String
2016-05-25 03:23:33 +02:00
Find the next string sent by radio from another @boardname@.
2016-05-25 03:23:33 +02:00
```sig
radio.receiveString()
```
## ~ hint
**Deprecated**
This API has been deprecated! Use [on received string](/reference/radio/on-received-string) instead.
## ~
2016-05-25 03:23:33 +02:00
## Returns
2016-05-25 03:23:33 +02:00
* the first [string](/types/string) that was sent. If no
2016-07-18 23:04:15 +02:00
string was sent, then this function returns an empty (blank) string.
2016-05-25 03:23:33 +02:00
## Example: Simple receiver
2016-05-25 03:23:33 +02:00
2016-11-02 01:44:37 +01:00
Show the string sent by another @boardname@.
2016-05-25 03:23:33 +02:00
```blocks
radio.onDataReceived(() => {
basic.showString(radio.receiveString());
});
```
## Example: Two-way radio
2016-11-02 01:44:37 +01:00
If you load this program onto two or more @boardname@s, you can send a code word from one of them to the others by pressing button `A`.
The other @boardname@s will receive the code word and then show it.
```blocks
2020-02-20 17:00:11 +01:00
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendString("Codeword: TRIMARAN")
basic.showString("SENT");
})
radio.onDataReceived(() => {
basic.showString(radio.receiveString());
});
```
## ~hint
A radio that can both transmit and receive is called a _transceiver_.
## ~
## Example: Mood radio
This is a simple program to send whether you are happy or sad over ```radio```.
Use the `A` or `B` button to select an emotion.
This program will also receive your friend's mood.
2016-05-25 03:23:33 +02:00
```blocks
let data: string = "";
2020-02-20 17:00:11 +01:00
input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
2016-05-25 03:23:33 +02:00
radio.sendString("H");
});
2020-02-20 17:00:11 +01:00
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
2016-05-25 03:23:33 +02:00
radio.sendString("S");
});
radio.onDataReceived(() => {
data = radio.receiveString();
if ("H" == data) {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`);
} else if ("S" == data) {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`);
} else {
basic.showString("?");
}
});
```
## See also
2016-05-25 03:23:33 +02:00
[send string](/reference/radio/send-string), [on data received](/reference/radio/on-data-received)
```package
radio
```