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 fifo_fill_condition { 88 after_sync_interrupt, 89 always 90 }; 91 92 enum packet_format { 93 /* 94 * Used when the size of payload is fixed in advance. This mode of 95 * operation may be of interest to minimize RF overhead by 1 byte as 96 * no length byte field is required 97 */ 98 packet_length_fix, 99 /* 100 * Used when the size of payload isn't known in advance. It requires the 101 * transmitter to send the length byte in each packet so the receiver 102 * would know how to operate properly 103 */ 104 packet_length_var 105 }; 106 107 enum tx_start_condition { 108 /* the number of bytes in the FIFO exceeds FIFO_THRESHOLD */ 109 fifo_level, 110 /* at least one byte in the FIFO */ 111 fifo_not_empty 112 }; 113 114 enum address_filtering { 115 filtering_off, 116 node_address, 117 node_or_broadcast_address 118 }; 119 120 enum dagc { 121 normal_mode, 122 improve, 123 improve_for_low_modulation_index 124 }; 125 126 #endif 127