1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * enumerations for HopeRf rf69 radio module
4  *
5  * Copyright (C) 2016 Wolf-Entwicklungen
6  *	Marcus Wolf <linux@wolf-entwicklungen.de>
7  */
8 
9 #ifndef RF69_ENUM_H
10 #define RF69_ENUM_H
11 
12 enum mode {
13 	mode_sleep,
14 	standby,
15 	synthesizer,
16 	transmit,
17 	receive
18 };
19 
20 enum modulation {
21 	OOK,
22 	FSK,
23 	UNDEF
24 };
25 
26 enum mod_shaping {
27 	SHAPING_OFF,
28 	SHAPING_1_0,
29 	SHAPING_0_5,
30 	SHAPING_0_3,
31 	SHAPING_BR,
32 	SHAPING_2BR
33 };
34 
35 enum pa_ramp {
36 	ramp3400,
37 	ramp2000,
38 	ramp1000,
39 	ramp500,
40 	ramp250,
41 	ramp125,
42 	ramp100,
43 	ramp62,
44 	ramp50,
45 	ramp40,
46 	ramp31,
47 	ramp25,
48 	ramp20,
49 	ramp15,
50 	ramp12,
51 	ramp10
52 };
53 
54 enum antenna_impedance {
55 	fifty_ohm,
56 	two_hundred_ohm
57 };
58 
59 enum lna_gain {
60 	automatic,
61 	max,
62 	max_minus_6,
63 	max_minus_12,
64 	max_minus_24,
65 	max_minus_36,
66 	max_minus_48,
67 	undefined
68 };
69 
70 enum mantisse {
71 	mantisse16,
72 	mantisse20,
73 	mantisse24
74 };
75 
76 enum threshold_decrement {
77 	dec_every8th,
78 	dec_every4th,
79 	dec_every2nd,
80 	dec_once,
81 	dec_twice,
82 	dec_4times,
83 	dec_8times,
84 	dec_16times
85 };
86 
87 enum flag {
88 	mode_switch_completed,
89 	ready_to_receive,
90 	ready_to_send,
91 	pll_locked,
92 	rssi_exceeded_threshold,
93 	timeout,
94 	automode,
95 	sync_address_match,
96 	fifo_full,
97 //	fifo_not_empty, collision with next enum; replaced by following enum...
98 	fifo_empty,
99 	fifo_level_below_threshold,
100 	fifo_overrun,
101 	packet_sent,
102 	payload_ready,
103 	crc_ok,
104 	battery_low
105 };
106 
107 enum fifo_fill_condition {
108 	after_sync_interrupt,
109 	always
110 };
111 
112 enum packet_format {
113 	packet_length_fix,
114 	packet_length_var
115 };
116 
117 enum tx_start_condition {
118 	fifo_level,
119 	fifo_not_empty
120 };
121 
122 enum address_filtering {
123 	filtering_off,
124 	node_address,
125 	node_or_broadcast_address
126 };
127 
128 enum dagc {
129 	normal_mode,
130 	improve,
131 	improve_for_low_modulation_index
132 };
133 
134 #endif
135