Need a sanity check for message constructed using the MAVLink api (1.0)

I wish to use a BeagleBone Black to send MAVLink messages to a PixHawk via. the telem2 port. I am using a basic USB based FTDI serial converter that has its jumpers set to provide 5V signal levels. I have the RX, TX, and GND lines of the PixHawk telem2 board connected to the corresponding pins on the FTDI device.

My software is a very basic program written in C that opens up /dev/ttyUSB0 and spits out a bag of bits generated using the MAVLink API that is encapsulated in a group of header files.

I have written a function, do_set_mode():

// ------------------------------------------------------------------------------
// Set mav mode
// NOTE: Board mode must be from ENUM_MAV_MODE list
// ------------------------------------------------------------------------------
int
do_set_mode( int mode )
{
// Prepare command for off-board mode
mavlink_command_long_t com = { 0 };
//TRWDEBUG: Need to figure out where to get system_id, autopilot_id, and companion_id
// for now just define an int and manually set.
int system_id = 2;
int autopilot_id = 1;
int companion_id = 0;
//END TRWDEBUG
com.target_system = system_id;
com.target_component = autopilot_id;
com.command = MAV_CMD_DO_SET_MODE;
com.confirmation = true;
com.param1 = mode;
com.param2 = 0; // Autopilot specific. Setting to zero for now
com.param3 = 0; // Autopilot specific. Setting to zero for now

// Encode
mavlink_message_t message;
mavlink_msg_command_long_encode(system_id, companion_id, &message, &com);

// Send the message
int len = write_message(message);

// Done!
return len;

}

I am calling the above function thusly:
do_set_mode(MAV_MODE_FLAG_STABILIZE_ENABLED);

I am hooking up the PixHawk to my development system via the micro-USB connector and connecting using mavproxy to monitor any state change activity. When I run the above code on the BBB I print the following info to the console showing the bag-o-bits that is (should be?) going out the serial port.

root@beaglebone:~# ./BBB_MAVLink
MAVLink proof of concept…
Opening /dev/ttyUSB0
Writing the following 41 characters to the serial port:
0xFE 0x21 0x00 0x02 0x00 0x4C 0x00 0x00 0x80 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xB0 0x00 0x02 0x01 0x01 0x77 0xB1
Initiating write:
Write complete

Unfortunately, I am not seeing any indication from mavproxy of any change of state. I am wondering if any of you more experienced with the MAVLink protocol can verify that this does, in fact, look like a sane and valid set mode command.