Firmware
px4muorb.idl
1 //=======================================================================
2 // Copyright (c) 2016, Mark Charlebois. All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are
6 // met:
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following
11 // disclaimer in the documentation and/or other materials provided
12 // with the distribution.
13 // * Neither the name of The Linux Foundation nor the names of its
14 // contributors may be used to endorse or promote products derived
15 // from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 // IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 //=========================================================================
29 
30 #include "AEEStdDef.idl"
31 
32 interface px4muorb{
33 
37  AEEResult orb_initialize();
38 
45  AEEResult set_absolute_time_offset( in long time_diff_us );
46 
51  AEEResult get_absolute_time(rout unsigned long long time_us);
52 
59  AEEResult param_update_to_shmem( in unsigned long param, in sequence<octet> value);
60 
65  AEEResult param_update_index_from_shmem( rout sequence<octet> data);
66 
73  AEEResult param_update_value_from_shmem( in unsigned long param, rout sequence<octet> value);
74 
79  AEEResult topic_advertised(in string topic_name);
80 
85  AEEResult topic_unadvertised(in string topic_name);
86 
94  AEEResult add_subscriber( in string topic_name );
95 
103  AEEResult remove_subscriber( in string topic_name );
104 
115  AEEResult send_topic_data( in string topic_name, in sequence<octet> data );
116 
130  AEEResult is_subscriber_present( in string topic_name, rout long status );
131 
152  AEEResult receive_msg( rout long msg_type, rout string topic_name, rout sequence<octet> data, rout long bytes_returned );
153 
163  AEEResult unblock_recieve_msg();
164 
183  AEEResult receive_bulk_data( rout sequence<octet> data, rout long bytes_returned, rout long topic_count );
184 };
AEEResult receive_bulk_data(rout sequence< octet > data, rout long bytes_returned, rout long topic_count)
This interface will perform a bulk read from the adsp and return the data buffer. ...
AEEResult topic_advertised(in string topic_name)
Interface called from krait to inform of a published topic.
AEEResult get_absolute_time(rout unsigned long long time_us)
Interface to request hrt_absolute_time on the DSP.
AEEResult param_update_index_from_shmem(rout sequence< octet > data)
Interface to update index for krait.
AEEResult param_update_value_from_shmem(in unsigned long param, rout sequence< octet > value)
Interface to get param value for krait.
AEEResult is_subscriber_present(in string topic_name, rout long status)
Inteface to check if there are subscribers on the remote adsp client This inteface is required as the...
AEEResult send_topic_data(in string topic_name, in sequence< octet > data)
Interface called from krait for topic data.
AEEResult set_absolute_time_offset(in long time_diff_us)
Interface to set an offset to hrt_absolute_time on the DSP.
AEEResult param_update_to_shmem(in unsigned long param, in sequence< octet > value)
Interface to update param for krait.
AEEResult topic_unadvertised(in string topic_name)
Interface called from krait to inform of a published topic.
AEEResult remove_subscriber(in string topic_name)
Interface to remove a subscriber for the identified topic.
Definition: px4muorb_KraitRpcWrapper.hpp:37
AEEResult unblock_recieve_msg()
Since the receive_msg is a blocking call, the client will not be able to peform a clean shutdown...
AEEResult orb_initialize()
interface method to start the uorb service and initialize the muorb
AEEResult receive_msg(rout long msg_type, rout string topic_name, rout sequence< octet > data, rout long bytes_returned)
Interface to receive data from adsp.
AEEResult add_subscriber(in string topic_name)
Interface to add a subscriber to the identified topic.