PX4 Firmware
PX4 Autopilot Software http://px4.io
drv_orb_dev.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in
13  * the documentation and/or other materials provided with the
14  * distribution.
15  * 3. Neither the name PX4 nor the names of its contributors may be
16  * used to endorse or promote products derived from this software
17  * without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
26  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  *
32  ****************************************************************************/
33 
34 #ifndef _DRV_UORB_H
35 #define _DRV_UORB_H
36 
37 /**
38  * @file drv_orb_dev.h
39  *
40  * uORB published object driver.
41  */
42 
43 #include <px4_platform_common/defines.h>
44 #include <sys/types.h>
45 #include <sys/ioctl.h>
46 #include <stdint.h>
47 
48 #define _ORBIOCBASE (0x2600)
49 #define _ORBIOC(_n) (_PX4_IOC(_ORBIOCBASE, _n))
50 
51 /*
52  * IOCTLs for individual topics.
53  */
54 
55 /** Fetch the time at which the topic was last updated into *(uint64_t *)arg */
56 #define ORBIOCLASTUPDATE _ORBIOC(10)
57 
58 /** Check whether the topic has been updated since it was last read, sets *(bool *)arg */
59 #define ORBIOCUPDATED _ORBIOC(11)
60 
61 /** Set the minimum interval at which the topic can be seen to be updated for this subscription */
62 #define ORBIOCSETINTERVAL _ORBIOC(12)
63 
64 /** Get the global advertiser handle for the topic */
65 #define ORBIOCGADVERTISER _ORBIOC(13)
66 
67 /** Get the priority for the topic */
68 #define ORBIOCGPRIORITY _ORBIOC(14)
69 
70 /** Set the queue size of the topic */
71 #define ORBIOCSETQUEUESIZE _ORBIOC(15)
72 
73 /** Get the minimum interval at which the topic can be seen to be updated for this subscription */
74 #define ORBIOCGETINTERVAL _ORBIOC(16)
75 
76 /** Check whether the topic is advertised, sets *(unsigned long *)arg to 1 if advertised, 0 otherwise */
77 #define ORBIOCISADVERTISED _ORBIOC(17)
78 
79 #endif /* _DRV_UORB_H */