Rosserial Array Callback not Executing


I have an Arduino Mega 2560 and use rosserial to interact with ROS. I created a custom message that contains an array of waypoints, each waypoint containing 6 float32 values.

The problem is that even though I am just printing in the callback, most of the time it is not executed at all.

It always works when the array contains only one item. Once it has more than 5 items it almost never works. Upon starting the serial node it says that the subscriber buffer size is 512 bytes. But is that buffer really full when sending just 5 * 6 values? I tried changing the message from float32 to int16, but the result was the same.

What may cause this to happen?

void moveit_command_callback(const boris_ros::BorisMoveItWaypointsArray& msg) {
    nh.loginfo("Message received");

What may cause this to happen?

Insufficient information?

What are ROS and rosserial ?