enlace del mensaje#
¿Qué es un enlace de mensaje?#
VEXlink permite la comunicación entre dos cerebros EXP, lo que permite conexiones punto a punto y la creación de redes de comunicación entre varios robots. Admite comunicación inalámbrica y por cable; en estas últimas, se recomienda un cable inteligente modificado para evitar problemas de enrutamiento de energía. Para la comunicación inalámbrica, cada robot necesita una radio robótica V5 conectada a un puerto inteligente. La radio VEXlink puede usarse junto con la radio VEXnet de un controlador V5, que debe conectarse al puerto inteligente con el número más alto para evitar conflictos.
La clase message_link dentro de VEXlink facilita el envío de mensajes simples, como “reproducir” y “detener”, con datos mínimos al robot conectado.
Inicializando la clase message_link#
Un VEXlink se crea utilizando el siguiente constructor:
The message_link
constructor creates a message_link object in the specified Port, with the specified ID and linktype, and sets the wired flag to the specified value.
Parámetro |
Descripción |
---|---|
|
Un Puerto inteligente válido al que está conectada la radio VEXlink. |
|
El nombre de este enlace. Se recomienda que esta cadena única sea lo suficientemente larga como para que, al ser procesada por vexos, genere un ID único. Un nombre de enlace incorrecto sería algo genérico como “vexlink”, ya que podría ser utilizado por otro equipo. |
|
The type of link, either |
|
Whether or not it is a wired link. Set to |
// Construct a VEXlink "link" with the message_link class.
message_link link = message_link(PORT1, "link", linkType::manager);
This link
object will be used in all subsequent examples throughout this API documentation when referring to message_link class methods.
Métodos de clase#
send()#
Este método se llama de las siguientes maneras:
The send(message)
method sends a message through the Message Link.
Parámetros |
Descripción |
---|---|
mensaje |
El mensaje a enviar. |
Devuelve: Un entero que representa la longitud de los datos transmitidos.
// Send the message 'test' with no parameters.
link.send('test');
The send(message, value)
method sends a message through the Message Link.
Parámetros |
Descripción |
---|---|
mensaje |
El mensaje a enviar. |
valor |
Un flotante que representa el ID del mensaje. |
Devuelve: Un entero que representa la longitud de los datos transmitidos.
The send(message, index, value)
method sends a message through the Message Link.
Parámetros |
Descripción |
---|---|
mensaje |
El mensaje a enviar. |
índice |
Un número entero que representa el puerto al que está conectado el enlace del mensaje receptor. |
valor |
Un flotante que representa el ID del mensaje. |
Devuelve: Un entero que representa la longitud de los datos transmitidos.
receive()#
The receive(timeout)
command receives a message from the Message Link.
Parámetros |
Descripción |
---|---|
se acabó el tiempo |
La duración del tiempo de espera para recibir el mensaje en milisegundos antes de que la función regrese. |
Devuelve: El mensaje recibido.
received()#
The received(callback)
command registers a callback function for when a message is received. If the message is omitted then the callback function will be called for all messages.
Parámetros |
Descripción |
---|---|
llamar de vuelta |
La función de devolución de llamada que se llamará cuando se reciba un mensaje. |
Devuelve: Una instancia de la clase de evento.