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