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

93 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2016-05-25 03:23:33 +02:00
# Receive String
> Note: This API has been deprecated! Use [on data packet received](/reference/radio/on-data-packet-received) instead.
2016-11-02 01:44:37 +01:00
Find the next string sent by `radio` from another @boardname@.
2016-05-25 03:23:33 +02:00
```sig
radio.receiveString()
```
2016-06-10 00:30:47 +02:00
### Returns
2016-05-25 03:23:33 +02:00
2016-07-18 23:04:15 +02:00
* the first [string](/reference/types/string) that was sent. If no
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
input.onButtonPressed(Button.A, () => {
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 = "";
input.onButtonPressed(Button.A, () => {
radio.sendString("H");
});
input.onButtonPressed(Button.B, () => {
radio.sendString("S");
});
radio.onDataReceived(() => {
data = radio.receiveString();
if ("H" == data) {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`);
} else if ("S" == data) {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`);
} else {
basic.showString("?");
}
});
```
### See also
[send string](/reference/radio/send-string), [on data received](/reference/radio/on-data-received)
```package
radio
```