source: flair-src/branches/mavlink/tools/Controller/Mavlink/src/mavlink_generated_messages/mavlink_get_info.h @ 46

Last change on this file since 46 was 46, checked in by Thomas Fuhrmann, 5 years ago

Add the mavlink branch

File size: 1.1 KB
RevLine 
[46]1#ifndef  _MAVLINK_GET_INFO_H_
2#define  _MAVLINK_GET_INFO_H_
3
4#ifdef MAVLINK_USE_MESSAGE_INFO
5#define MAVLINK_HAVE_GET_MESSAGE_INFO
6/*
7  return the message_info struct for a message
8*/
9MAVLINK_HELPER const mavlink_message_info_t *mavlink_get_message_info(const mavlink_message_t *msg)
10{
11        static const mavlink_message_info_t mavlink_message_info[] = MAVLINK_MESSAGE_INFO;
12        /*
13          use a bisection search to find the right entry. A perfect hash may be better
14          Note that this assumes the table is sorted with primary key msgid
15        */
16        uint32_t msgid = msg->msgid;
17        uint32_t low=0, high=sizeof(mavlink_message_info)/sizeof(mavlink_message_info[0]);
18        while (low < high) {
19            uint32_t mid = (low+1+high)/2;
20            if (msgid < mavlink_message_info[mid].msgid) {
21                high = mid-1;
22                continue;
23            }
24            if (msgid > mavlink_message_info[mid].msgid) {
25                low = mid;
26                continue;
27            }
28            low = mid;
29            break;
30        }
31        return &mavlink_message_info[low];
32}
33#endif // MAVLINK_USE_MESSAGE_INFO
34
35#endif // _MAVLINK_GET_INFO_H_
36
Note: See TracBrowser for help on using the repository browser.