Viesti#
Johdanto#
Kaksi VEX AIM -koodausrobottia voidaan linkittää toisiinsa, jotta ne voivat kommunikoida projektin aikana. Viestilohkojen avulla toinen robotti voi lähettää viestin toiselle robotille. Viesti voi sisältää pelkän tekstin tai tekstin ja numeron.
Vastaanotetut viestit tallennetaan FIFO-jonoon (first-in, first-out). Tämä tarkoittaa, että ensimmäisenä vastaanotettu viesti luetaan ensimmäisenä.
Käytä get latest message-lohkoa seuraavan vastaanotetun viestin tallentamiseen. Käytä sitten latest message-raporttilohkoa tallennetun tekstin lukemiseen. Jos viesti sisältää myös numeron, käytä get latest message with data-lohkoa molempien arvojen tallentamiseen ja käytä sitten latest message- ja latest data-lohkoja niiden lukemiseen.
Huomautus: Jotta viestejä voidaan lähettää ja vastaanottaa, molempien robottien on oltava linkitettyinä ja molempien robottien on oltava käynnissä projekteja, jotka käyttävät viestilohkoja.
Alla on luettelo kaikista lohkoista:
Arvot — Lue viestin tiedot tai tarkista viestin ja yhteyden tila.
viimeisin viesti — Ilmoittaa viimeksi tallennetun tekstiviestin.
viimeisimmät tiedot — Ilmoittaa viimeksi tallennetun numeron.
onko viesti saatavilla? — Ilmoittaa, onko viesti luettavissa.
onko yhdistetty? — Ilmoittaa, onko robotti yhdistetty toiseen robottiin.
linkitetyn robotin nimi — Ilmoittaa linkitetyn robotin nimen.
Toiminnot — Lähetä tai tallenna vastaanotetut viestit.
lähetä viesti — Lähettää tekstiviestin linkitetylle robotille.
lähetä viesti tiedoilla — Lähettää tekstiviestin ja numeron linkitetylle robotille.
hae viimeisin viesti — Tallentaa seuraavan vastaanotetun tekstiviestin.
hae viimeisin viesti datan kera — Tallentaa seuraavan vastaanotetun tekstiviestin ja numeron.
Arvot#
viimeisin viesti#
Viimeisimmän viestin raportointilohko raportoi viimeksi tallennetun tekstiviestin. Tämä lohko ei hae uutta viestiä itsessään. Käytä ensin hae viimeisin viesti tai hae viimeisin viesti tiedoineen ja käytä sitten viimeisintä viestiä tallennetun tekstin näyttämiseen tai käytä sitä toisessa lohkossa.
(viimeisin viesti)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
Robotti 1
kun näyttö [painettu v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tulosta [Robot 1] näytöllä ▶
lähetä viesti [Hello, Robot 2!]
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Display the message Robot 1 sends.]
tulosta [Robot 2] näytöllä ▶
siirrä kursori seuraavalle riville näytöllä
odota kunnes <onko viesti saatavilla?>
hae viimeisin viesti
tulosta (viimeisin viesti) näytöllä ▶
uusimmat tiedot#
Viimeisimmän tiedon raportointilohko raportoi viimeksi tallennetun numeron viestistä, joka sisälsi dataa. Tämä lohko ei saa uutta numeroa itsessään. Käytä ensin hae viimeisin viesti tiedoilla ja käytä sitten viimeisimpiä tietoja toisessa lohkossa, kuten ajomatkassa, käännössuunnassa tai nopeusarvossa.
(viimeisin data)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
Robotti 1
kun käynnistetään
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
tulosta [Robot 1] näytöllä ▶
ikuisesti
lähetä viesti [heading] datalla (suuntakulma asteina)
Loppu
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
tulosta [Robot 2] näytöllä ▶
ikuisesti
jos <onko viesti saatavilla?> niin
hae viimeisin viesti datalla
käänny suuntakulmaan (viimeisin data) astetta ▶
Loppu
Loppu
onko viesti saatavilla?#
Boolen lohko onko viesti saatavilla? raportoi, odottaako viesti jonossa. Käytä tätä lohkoa ennen get latest message- tai get latest message with data -lauseketta, jotta vastaanottava robotti yrittää tallentaa viestin vasta sen saapumisen jälkeen.
Tosi — Viesti on luettavissa.
Epätosi — Ei ole luettavia viestejä.
<onko viesti saatavilla?>
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
Robotti 1
kun näyttö [painettu v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tulosta [Robot 1] näytöllä ▶
lähetä viesti [message]
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
tulosta [Robot 2] näytöllä ▶
siirrä kursori seuraavalle riville näytöllä
odota kunnes <onko viesti saatavilla?>
tulosta [Received!] näytöllä ▶
on kytketty?#
Boolen onko yhdistetty?-lohko raportoi, onko robotti linkitetty toiseen robottiin. Käytä tätä lohkoa ennen viestien lähettämistä tai odottamista, jos projektin on tarkistettava, että robottien välinen yhteys on valmis.
Tosi — Robotti on linkitetty toiseen robottiin.
Väärin — Robotti ei ole linkitetty toiseen robottiin.
<yhdistetty?>
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Turn off one of the linked robots to see the message change.]
ikuisesti
tyhjennä näyttö
tulosta <yhdistetty?> näytöllä ▶
Loppu
linkitetyn robotin nimi#
Linkitetyn robotin nimen raportointilohko raportoi linkitetyn robotin nimen. Käytä tätä lohkoa näyttääksesi, mikä robotti on yhdistettynä ennen viestien lähettämistä tai vastaanottamista. Jos robottia ei ole yhdistetty, tämä lohko raportoi Ei mitään.
(linkitetyn robotin nimi)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Display the name of the robot that is linked.]
tulosta (linkitetyn robotin nimi) näytöllä ▶
Toiminnot#
lähetä viesti#
Lähetä viesti -pinolohko lähettää tekstiä linkitetylle robotille. Käytä tätä lohkoa yhdellä robotilla, kun toisen robotin on vastaanotettava komento, signaali tai lyhyt tieto. Tarkista vastaanottavalla robotilla funktiolla onko viesti saatavilla?, onko viesti saapunut, ja käytä sitten funktiota hae viimeisin viesti ennen kuin luet sen funktiolla viimeisin viesti.
lähetä viesti [message]
Parametri |
Kuvaus |
|---|---|
viesti |
Linkitetylle robotille lähetettävä teksti. |
Esimerkki
Robotti 1
kun näyttö [painettu v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tulosta [Robot 1] näytöllä ▶
lähetä viesti [Hello, Robot 2!]
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Display the message Robot 1 sends.]
tulosta [Robot 2] näytöllä ▶
siirrä kursori seuraavalle riville näytöllä
odota kunnes <onko viesti saatavilla?>
hae viimeisin viesti
tulosta (viimeisin viesti) näytöllä ▶
lähetä viesti datan kera#
Lähetä viesti tiedoilla -pinolohko lähettää tekstin ja numeron linkitetylle robotille. Käytä tätä lohkoa, kun viesti tarvitsee otsikon ja numeron, kuten lähetetään suunta robotin nykyisellä suunta-arvolla. Tarkista vastaanottavalla robotilla funktiolla is message available?, että viesti on saapunut, ja käytä sitten funktiota hae viimeisin viesti tiedoilla ennen kuin luet tekstin viimeisimmän viestin avulla ja numeron viimeisimmän tiedon avulla.
lähetä viesti [message] datalla [0]
Parametri |
Kuvaus |
|---|---|
viesti |
Linkitetylle robotille lähetettävä teksti. |
data |
Viestin mukana lähetettävä numero. |
Esimerkki
Robotti 1
kun käynnistetään
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
tulosta [Robot 1] näytöllä ▶
ikuisesti
lähetä viesti [heading] datalla (suuntakulma asteina)
Loppu
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
tulosta [Robot 2] näytöllä ▶
ikuisesti
jos <onko viesti saatavilla?> niin
hae viimeisin viesti datalla
käänny suuntakulmaan (viimeisin data) astetta ▶
Loppu
Loppu
hae uusin viesti#
Hae viimeisin viesti -pinolohko ottaa seuraavan vastaanotetun tekstiviestin viestijonosta ja tallentaa sen, jotta projekti voi käyttää sitä. Käytä tätä lohkoa sen jälkeen, kun is message available? raportoi arvon Tosi ja ennen latest message -ominaisuuden käyttöä. Tämä auttaa vastaanottavaa robottia tallentamaan viestin ennen kuin se yrittää näyttää, vertailla tai käyttää sitä toisessa lohkossa.
Käytä send message -komentoa toisessa robotissa lähettääksesi tekstiviestin.
hae viimeisin viesti
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
Robotti 1
kun näyttö [painettu v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tulosta [Robot 1] näytöllä ▶
lähetä viesti [Hello, Robot 2!]
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Display the message Robot 1 sends.]
tulosta [Robot 2] näytöllä ▶
siirrä kursori seuraavalle riville näytöllä
odota kunnes <onko viesti saatavilla?>
hae viimeisin viesti
tulosta (viimeisin viesti) näytöllä ▶
hae uusin viesti datan kera#
Hae viimeisin viesti tiedoineen -pinolohko ottaa seuraavan vastaanotetun viestin viestijonosta ja tallentaa sen molemmat osat: tekstiviestin ja sen mukana lähetetyn numeron. Käytä tätä lohkoa sen jälkeen, kun is message available? raportoi arvon Tosi ja ennen viimeisin viesti- tai viimeisin data-ominaisuuden käyttöä. Tämä auttaa vastaanottavaa robottia tallentamaan molemmat arvot ennen niiden käyttöä, kuten kääntymistä toisen robotin lähettämään suuntaan.
Käytä toisen robotin send message with data -komentoa lähettääksesi tekstiviestin ja numeron yhdessä.
hae viimeisin viesti datalla
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
Robotti 1
kun käynnistetään
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
tulosta [Robot 1] näytöllä ▶
ikuisesti
lähetä viesti [heading] datalla (suuntakulma asteina)
Loppu
Robotti 2
kun käynnistetään
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
tulosta [Robot 2] näytöllä ▶
ikuisesti
jos <onko viesti saatavilla?> niin
hae viimeisin viesti datalla
käänny suuntakulmaan (viimeisin data) astetta ▶
Loppu
Loppu