GNU Linux-libre 4.14.265-gnu1
[releases.git] / drivers / staging / pi433 / rf69_enum.h
1 /*
2  * enumerations for HopeRf rf69 radio module
3  *
4  * Copyright (C) 2016 Wolf-Entwicklungen
5  *      Marcus Wolf <linux@wolf-entwicklungen.de>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  */
17
18 #ifndef RF69_ENUM_H
19 #define RF69_ENUM_H
20
21 enum optionOnOff
22 {
23     optionOff,
24     optionOn
25 };
26
27 enum mode
28 {
29     mode_sleep,
30     standby,
31     synthesizer,
32     transmit,
33     receive
34 };
35
36 enum dataMode
37 {
38     packet,
39     continuous,
40     continuousNoSync
41 };
42
43 enum modulation
44 {
45     OOK,
46     FSK
47 };
48
49 enum modShaping
50 {
51     shapingOff,
52     shaping1_0,
53     shaping0_5,
54     shaping0_3,
55     shapingBR,
56     shaping2BR
57 };
58
59 enum paRamp
60 {
61     ramp3400,
62     ramp2000,
63     ramp1000,
64     ramp500,
65     ramp250,
66     ramp125,
67     ramp100,
68     ramp62,
69     ramp50,
70     ramp40,
71     ramp31,
72     ramp25,
73     ramp20,
74     ramp15,
75     ramp12,
76     ramp10
77 };
78
79 enum antennaImpedance
80 {
81     fiftyOhm,
82     twohundretOhm
83 };
84
85 enum lnaGain
86 {
87     automatic,
88     max,
89     maxMinus6,
90     maxMinus12,
91     maxMinus24,
92     maxMinus36,
93     maxMinus48,
94     undefined
95 };
96
97 enum dccPercent
98 {
99     dcc16Percent,
100     dcc8Percent,
101     dcc4Percent,
102     dcc2Percent,
103     dcc1Percent,
104     dcc0_5Percent,
105     dcc0_25Percent,
106     dcc0_125Percent
107 };
108
109 enum mantisse
110 {
111     mantisse16,
112     mantisse20,
113     mantisse24
114 };
115
116 enum thresholdType
117 {
118     fixed,
119     peak,
120     average
121 };
122
123 enum thresholdStep
124 {
125     step_0_5db,
126     step_1_0db,
127     step_1_5db,
128     step_2_0db,
129     step_3_0db,
130     step_4_0db,
131     step_5_0db,
132     step_6_0db
133 };
134
135 enum thresholdDecrement
136 {
137     dec_every8th,
138     dec_every4th,
139     dec_every2nd,
140     dec_once,
141     dec_twice,
142     dec_4times,
143     dec_8times,
144     dec_16times
145 };
146
147 enum flag
148 {
149     modeSwitchCompleted,
150     readyToReceive,
151     readyToSend,
152     pllLocked,
153     rssiExceededThreshold,
154     timeout,
155     automode,
156     syncAddressMatch,
157     fifoFull,
158 //    fifoNotEmpty, collision with next enum; replaced by following enum...
159     fifoEmpty,
160     fifoLevelBelowThreshold,
161     fifoOverrun,
162     packetSent,
163     payloadReady,
164     crcOk,
165     batteryLow
166 };
167
168 enum fifoFillCondition
169 {
170     afterSyncInterrupt,
171     always
172 };
173
174 enum packetFormat
175 {
176     packetLengthFix,
177     packetLengthVar
178 };
179
180 enum txStartCondition
181 {
182     fifoLevel,
183     fifoNotEmpty
184 };
185
186 enum addressFiltering
187 {
188     filteringOff,
189     nodeAddress,
190     nodeOrBroadcastAddress
191 };
192
193 enum dagc
194 {
195     normalMode,
196     improve,
197     improve4LowModulationIndex
198 };
199
200
201 #endif