...
Code Block |
---|
#include <iostream> #include <string.h> #include <vector> #include <math.h> using namespace std; // our structure for sending data struct MY_DATA { unsigned char packet_id; int latitude; int longitude; unsigned short heading; }; int main() { // fill a struct with data MY_DATA data_to_send; data_to_send.packet_id = 0x01; data_to_send.latitude = (int) (42.358456 * pow(10,7)); data_to_send.longitude = (int) (-71.087589 * pow(10,7)); data_to_send.heading = 185; // construct our array/vector and fill it with data vector<unsigned char> packet (sizeof(data_to_send), 0); memcpy(&packet[0], &data_to_send.packet_id, sizeof(data_to_send)); // to get our data out, do the reverse MY_DATA data_received; memcpy(&data_received.packet_id, &packet[0], sizeof(data_to_send)); // print out the data cout << "packet id: 0x" << hex << (int) data_received.packet_id << dec << endl; cout << "lat: " << data_received.latitude / pow(10,7) << endl; cout << "lon: " << data_received.longitude / pow(10,7) << endl; cout << "heading: " << data_received.heading << endl; return 0; } |
Posting to MOOS
See (https://wikis-mit-edu.ezproxyberklee.flo.org/confluence/display/hovergroup/Binary + acomms + data + in + MOOS\) for information on getting your serialized data into or out of a MOOS message.