well, i changed it to this
msg.data[0] = ((distance_moved <<
| ((unsigned int)distance_moved >>
) ;
msg.data[1] = ((voltage <<
| ((unsigned int)voltage >>
) ;
msg.data[2] = ((current <<
| ((unsigned int)current >>
) ;
to get it to send the high byte first. Is there a better way to fix it, and why does it store int's like that?