CC13xx Driver Library
rf_data_entry.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Filename: rf_data_entry.h
3 * Revised: 2015-08-04 11:44:20 +0200 (Tue, 04 Aug 2015)
4 * Revision: 44329
5 *
6 * Description: Definition of API for data exchange
7 *
8 * Copyright (c) 2015, Texas Instruments Incorporated
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions are met:
13 *
14 * 1) Redistributions of source code must retain the above copyright notice,
15 * this list of conditions and the following disclaimer.
16 *
17 * 2) Redistributions in binary form must reproduce the above copyright notice,
18 * this list of conditions and the following disclaimer in the documentation
19 * and/or other materials provided with the distribution.
20 *
21 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may
22 * be used to endorse or promote products derived from this software without
23 * specific prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 *
37 ******************************************************************************/
38 
39 #ifndef __DATA_ENTRY_H
40 #define __DATA_ENTRY_H
41 
42 #ifndef __RFC_STRUCT
43 #ifdef __GNUC__
44 #define __RFC_STRUCT __attribute__ ((aligned (4)))
45 #else
46 #define __RFC_STRUCT
47 #endif
48 #endif
49 
52 
55 
56 #include <stdint.h>
57 #include <driverlib/rf_mailbox.h>
58 
64 
68  uint8_t* pNextEntry;
69  uint8_t status;
70  struct {
71  uint8_t type:2;
72  uint8_t lenSz:2;
77  uint8_t irqIntv:4;
82  } config;
84  uint16_t length;
85 };
87 
89 
93 
95  uint8_t* pNextEntry;
96  uint8_t status;
97  struct {
98  uint8_t type:2;
99  uint8_t lenSz:2;
104  uint8_t irqIntv:4;
109  } config;
111  uint16_t length;
112  uint8_t data;
114 };
115 
117 
121 
123  uint8_t* pNextEntry;
124  uint8_t status;
125  struct {
126  uint8_t type:2;
127  uint8_t lenSz:2;
132  uint8_t irqIntv:4;
137  } config;
139  uint16_t length;
140  uint16_t numElements;
142  uint16_t nextIndex;
143  uint8_t rxData;
144 };
145 
147 
151 
153  uint8_t* pNextEntry;
154  uint8_t status;
155  struct {
156  uint8_t type:2;
157  uint8_t lenSz:2;
162  uint8_t irqIntv:4;
167  } config;
169  uint16_t length;
170  uint8_t* pData;
172 };
173 
175 
179 
181  uint8_t* pNextEntry;
182  uint8_t status;
183  struct {
184  uint8_t type:2;
185  uint8_t lenSz:2;
190  uint8_t irqIntv:4;
195  } config;
197  uint16_t length;
198  struct {
200  uint16_t numElements:13;
201  uint16_t bEntryOpen:1;
202  uint16_t bFirstCont:1;
203  uint16_t bLastCont:1;
204  } pktStatus;
205  uint16_t nextIndex;
206  uint8_t rxData;
207 };
208 
210 
213 #endif
uint8_t * pNextEntry
Pointer to next entry in the queue, NULL if this is the last entry.
Definition: rf_data_entry.h:95
uint16_t length
For pointer entries: Number of bytes in the data buffer pointed to For other entries: Number of byte...
#define __RFC_STRUCT
Definition: rf_data_entry.h:46
uint8_t * pNextEntry
Pointer to next entry in the queue, NULL if this is the last entry.
uint8_t status
Indicates status of entry, including whether it is free for the system CPU to write to...
uint8_t rxData
First byte of the data array of received data entry elements.
uint16_t length
For pointer entries: Number of bytes in the data buffer pointed to For other entries: Number of byte...
uint16_t length
For pointer entries: Number of bytes in the data buffer pointed to For other entries: Number of byte...
struct __RFC_STRUCT rfc_dataEntry_s rfc_dataEntry_t
Definition: rf_data_entry.h:59
struct __RFC_STRUCT rfc_dataEntryGeneral_s rfc_dataEntryGeneral_t
Definition: rf_data_entry.h:60
uint16_t length
For pointer entries: Number of bytes in the data buffer pointed to For other entries: Number of byte...
uint16_t nextIndex
Index to the byte after the last byte of the last entry element committed by the radio CPU...
uint16_t length
For pointer entries: Number of bytes in the data buffer pointed to For other entries: Number of byte...
Definition: rf_data_entry.h:84
struct __RFC_STRUCT rfc_dataEntryMulti_s rfc_dataEntryMulti_t
Definition: rf_data_entry.h:61
Definition: rf_data_entry.h:94
uint8_t rxData
First byte of the data array of received data entry elements.
struct __RFC_STRUCT rfc_dataEntryPointer_s rfc_dataEntryPointer_t
Definition: rf_data_entry.h:62
uint8_t status
Indicates status of entry, including whether it is free for the system CPU to write to...
uint8_t * pNextEntry
Pointer to next entry in the queue, NULL if this is the last entry.
uint8_t * pNextEntry
Pointer to next entry in the queue, NULL if this is the last entry.
struct __RFC_STRUCT rfc_dataEntryPartial_s rfc_dataEntryPartial_t
Definition: rf_data_entry.h:63
uint8_t status
Indicates status of entry, including whether it is free for the system CPU to write to...
Definition: rf_data_entry.h:67
uint8_t status
Indicates status of entry, including whether it is free for the system CPU to write to...
Definition: rf_data_entry.h:96
uint8_t * pNextEntry
Pointer to next entry in the queue, NULL if this is the last entry.
Definition: rf_data_entry.h:68
uint8_t status
Indicates status of entry, including whether it is free for the system CPU to write to...
Definition: rf_data_entry.h:69
uint16_t nextIndex
Index to the byte after the last byte of the last entry element committed by the radio CPU...