• VEXcode Robotics Logo VEX Robotics Logo
  • VEX API Home Button VEX API Home Button
  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white
Skip to main content
Ctrl+K

< Back to Platform Select

  • VEX EXP
  • C++
  • message_link
  • VEXcode Robotics Logo

Section Navigation

  • Blocks
  • Switch
  • Python
  • C++
    • Enums
    • accelerometer
    • aivision
    • analog_in
    • arm
    • brain
    • bumper
    • color
    • competition
    • controller
    • digital_in
    • digital_out
    • distance
    • drivetrain
    • electromagnet
    • encoder
    • event
    • gyro
    • inertial
    • led
    • light
    • limit
    • line
    • message_link
    • motor
    • motor29
    • motor_group
    • motor_victor
    • objectdetector
    • optical
    • pneumatic
    • pot
    • potV2
    • Print Console
    • pwm_out
    • rotation
    • serial_link
    • servo
    • signaltower
    • smartdrive
    • sonar
    • thread
    • triport
    • vision

Platform Navigation

  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white

message_link#

  • What is a Message Link?

  • Initializing the message_link Class

  • Class Methods

    • send()

    • receive()

    • received()

What is a Message Link?#

VEXlink enables an EXP Brain to communicate with another EXP Brain, allowing for point-to-point connections and the creation of communication meshes between multiple robots. It supports both wireless and wired communication, with wired connections recommending a modified smart cable to prevent power routing issues. For wireless communication, each robot needs a V5 Robot Radio connected to a Smart Port, and the VEXlink Radio can be used alongside a V5 Controller’s VEXnet radio, which should be connected to the highest numbered Smart Port to avoid conflicts.

The message_link class within VEXlink facilitates sending simple messages, such as “play” and “stop,” with minimal data to the connected robot.

Initializing the message_link Class#

A VEXlink is created by using the following 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.

Parameter

Description

port

A valid Smart Port that the VEXlink Radio is connected to.

name

The name of this link. It is recommended that this unique string is long enough that when hashed by vexos it will create a unique ID. A bad link name would be something generic such as “vexlink” as it may be used by another team.

linktype

The type of link, either linkType::manager or linkType::worker. This information is used to correctly configure the radio and also determines available bandwidth for transmission and reception. A manager robot has double the available bandwidth (1040 bytes/second) to send information to the worker robot (520 bytes/second).

wired

Whether or not it is a wired link. Set to true if wired.

// 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.

Class Methods#

send()#

This method is called in the following ways:

The send(message) method sends a message through the Message Link.

Parameters

Description

message

The message to send.

Returns: An integer representing the length of transmitted data.

// Send the message 'test' with no parameters.
link.send('test');

The send(message, value) method sends a message through the Message Link.

Parameters

Description

message

The message to send.

value

An float representing the ID of the message.

Returns: An integer representing the length of transmitted data.

The send(message, index, value) method sends a message through the Message Link.

Parameters

Description

message

The message to send.

index

An integer representing the port the receiving Message Link is connected to.

value

An float representing the ID of the message.

Returns: An integer representing the length of transmitted data.

receive()#

The receive(timeout) command receives a message from the Message Link.

Parameters

Description

timeout

The timeout duration for receiving the message in milliseconds before the function returns.

Returns: The received message.

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.

Parameters

Description

callback

The callback function to be called when a message is received.

Returns: An instance of the event class.

previous

line

next

motor

On this page
  • What is a Message Link?
  • Initializing the message_link Class
  • Class Methods
    • send()
    • receive()
    • received()
Innovation First, International

VEX and VEX Robotics are trademarks or service marks of Innovation First, Inc. Copyright ©2025. All Rights Reserved. VEX Robotics, Inc. is a subsidiary of Innovation First International, Inc. All other product names / marks of others are the property of their respective owners. Patents and / or Patents Pending - innovationfirst.com/patents
Site Privacy Policy / Site Terms of Use / Cookie Policy / Software Privacy Policy

Visit the VEX Robotics Facebook Page Visit the VEX Robotics Twitter Page Visit the VEX Robotics Instagram Page Visit the VEX Robotics YouTube Page
VEX API Feedback Form

We value your feedback! Use this form to share suggestions, compliments, or report errors with the VEX API. Your input helps us enhance the VEX API documentation.

If you are experiencing technical issues or require customer support, please visit support.vex.com.

  • Send Happy Feedback
  • Send Sad Feedback

Note: the current URL will be shared with your message

By including your email address, you agree that VEX may send you email emails if we have questions about your feedback.
Privacy Policy >
Choose Which VEX IQ Generation to View

VEX IQ (1st gen)

VEX IQ (2nd gen)