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 mode {
22 	mode_sleep,
23 	standby,
24 	synthesizer,
25 	transmit,
26 	receive
27 };
28 
29 enum modulation {
30 	OOK,
31 	FSK,
32 	UNDEF
33 };
34 
35 enum mod_shaping {
36 	SHAPING_OFF,
37 	SHAPING_1_0,
38 	SHAPING_0_5,
39 	SHAPING_0_3,
40 	SHAPING_BR,
41 	SHAPING_2BR
42 };
43 
44 enum pa_ramp {
45 	ramp3400,
46 	ramp2000,
47 	ramp1000,
48 	ramp500,
49 	ramp250,
50 	ramp125,
51 	ramp100,
52 	ramp62,
53 	ramp50,
54 	ramp40,
55 	ramp31,
56 	ramp25,
57 	ramp20,
58 	ramp15,
59 	ramp12,
60 	ramp10
61 };
62 
63 enum antenna_impedance {
64 	fifty_ohm,
65 	two_hundred_ohm
66 };
67 
68 enum lna_gain {
69 	automatic,
70 	max,
71 	max_minus_6,
72 	max_minus_12,
73 	max_minus_24,
74 	max_minus_36,
75 	max_minus_48,
76 	undefined
77 };
78 
79 enum mantisse {
80 	mantisse16,
81 	mantisse20,
82 	mantisse24
83 };
84 
85 enum threshold_decrement {
86 	dec_every8th,
87 	dec_every4th,
88 	dec_every2nd,
89 	dec_once,
90 	dec_twice,
91 	dec_4times,
92 	dec_8times,
93 	dec_16times
94 };
95 
96 enum flag {
97 	mode_switch_completed,
98 	ready_to_receive,
99 	ready_to_send,
100 	pll_locked,
101 	rssi_exceeded_threshold,
102 	timeout,
103 	automode,
104 	sync_address_match,
105 	fifo_full,
106 //	fifo_not_empty, collision with next enum; replaced by following enum...
107 	fifo_empty,
108 	fifo_level_below_threshold,
109 	fifo_overrun,
110 	packet_sent,
111 	payload_ready,
112 	crc_ok,
113 	battery_low
114 };
115 
116 enum fifo_fill_condition {
117 	after_sync_interrupt,
118 	always
119 };
120 
121 enum packet_format {
122 	packet_length_fix,
123 	packet_length_var
124 };
125 
126 enum tx_start_condition {
127 	fifo_level,
128 	fifo_not_empty
129 };
130 
131 enum address_filtering {
132 	filtering_off,
133 	node_address,
134 	node_or_broadcast_address
135 };
136 
137 enum dagc {
138 	normal_mode,
139 	improve,
140 	improve_for_low_modulation_index
141 };
142 
143 #endif
144