e9ed336c132fc546872cc80bdef9ef08a1a4ebfe
[project/luci.git] / applications / luci-app-dump1090 / luasrc / model / cbi / dump1090.lua
1 --[[
2 LuCI - Lua Configuration Interface - dump1090 support
3
4 Copyright 2014 Álvaro Fernández Rojas <noltari@gmail.com>
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10         http://www.apache.org/licenses/LICENSE-2.0
11
12 $Id$
13 ]]--
14
15 m = Map("dump1090", "dump1090", translate("dump1090 is a Mode S decoder specifically designed for RTLSDR devices, here you can configure the settings."))
16
17 s = m:section(TypedSection, "dump1090", "")
18 s.addremove = true
19 s.anonymous = false
20
21 enable=s:option(Flag, "disabled", translate("Enabled"))
22 enable.enabled="0"
23 enable.disabled="1"
24 enable.default = "1"
25 enable.rmempty = false
26 respawn=s:option(Flag, "respawn", translate("Respawn"))
27 respawn.default = false
28
29 device_index=s:option(Value, "device_index", translate("RTL device index"))
30 device_index.rmempty = true
31 device_index.datatype = "uinteger"
32
33 gain=s:option(Value, "gain", translate("Gain (-10 for auto-gain)"))
34 gain.rmempty = true
35 gain.datatype = "integer"
36
37 enable_agc=s:option(Flag, "enable_agc", translate("Enable automatic gain control"))
38 enable_agc.default = false
39
40 freq=s:option(Value, "freq", translate("Frequency"))
41 freq.rmempty = true
42 freq.datatype = "uinteger"
43
44 ifile=s:option(Value, "ifile", translate("Data file"))
45 ifile.rmempty = true
46 ifile.datatype = "file"
47
48 raw=s:option(Flag, "raw", translate("Show only messages hex values"))
49 raw.default = false
50
51 net=s:option(Flag, "net", translate("Enable networking"))
52
53 modeac=s:option(Flag, "modeac", translate("Enable decoding of SSR Modes 3/A & 3/C"))
54 modeac.default = false
55
56 net_beast=s:option(Flag, "net_beast", translate("TCP raw output in Beast binary format"))
57 net_beast.default = false
58
59 net_only=s:option(Flag, "net_only", translate("Enable just networking, no RTL device or file used"))
60 net_only.default = false
61
62 net_bind_address=s:option(Value, "net_bind_address", translate("IP address to bind to"))
63 net_bind_address.rmempty = true
64 net_bind_address.datatype = "ipaddr"
65
66 net_http_port=s:option(Value, "net_http_port", translate("HTTP server port"))
67 net_http_port.rmempty = true
68 net_http_port.datatype = "port"
69
70 net_ri_port=s:option(Value, "net_ri_port", translate("TCP raw input listen port"))
71 net_ri_port.rmempty = true
72 net_ri_port.datatype = "port"
73
74 net_ro_port=s:option(Value, "net_ro_port", translate("TCP raw output listen port"))
75 net_ro_port.rmempty = true
76 net_ro_port.datatype = "port"
77
78 net_sbs_port=s:option(Value, "net_sbs_port", translate("TCP BaseStation output listen port"))
79 net_sbs_port.rmempty = true
80 net_sbs_port.datatype = "port"
81
82 net_bi_port=s:option(Value, "net_bi_port", translate("TCP Beast input listen port"))
83 net_bi_port.rmempty = true
84 net_bi_port.datatype = "port"
85
86 net_bo_port=s:option(Value, "net_bo_port", translate("TCP Beast output listen port"))
87 net_bo_port.rmempty = true
88 net_bo_port.datatype = "port"
89
90 net_ro_size=s:option(Value, "net_ro_size", translate("TCP raw output minimum size"))
91 net_ro_size.rmempty = true
92 net_ro_size.datatype = "uinteger"
93
94 net_ro_rate=s:option(Value, "net_ro_rate", translate("TCP raw output memory flush rate"))
95 net_ro_rate.rmempty = true
96 net_ro_rate.datatype = "uinteger"
97
98 net_heartbeat=s:option(Value, "net_heartbeat", translate("TCP heartbeat rate in seconds"))
99 net_heartbeat.rmempty = true
100 net_heartbeat.datatype = "uinteger"
101
102 net_buffer=s:option(Value, "net_buffer", translate("TCP buffer size 64Kb * (2^n)"))
103 net_buffer.rmempty = true
104 net_buffer.datatype = "uinteger"
105
106 lat=s:option(Value, "lat", translate("Reference/receiver latitude for surface posn"))
107 lat.rmempty = true
108 lat.datatype = "integer"
109
110 lon=s:option(Value, "lon", translate("Reference/receiver longitude for surface posn"))
111 lon.rmempty = true
112 lon.datatype = "integer"
113
114 fix=s:option(Flag, "fix", translate("Enable single-bits error correction using CRC"))
115 fix.default = false
116
117 no_fix=s:option(Flag, "no_fix", translate("Disable single-bits error correction using CRC"))
118 no_fix.default = false
119
120 no_crc_check=s:option(Flag, "no_crc_check", translate("Disable messages with broken CRC"))
121 no_crc_check.default = false
122
123 phase_enhance=s:option(Flag, "phase_enhance", translate("Enable phase enhancement"))
124 phase_enhance.default = false
125
126 agressive=s:option(Flag, "agressive", translate("More CPU for more messages"))
127 agressive.default = false
128
129 mlat=s:option(Flag, "mlat", translate("Display raw messages in Beast ascii mode"))
130 mlat.default = false
131
132 stats=s:option(Flag, "stats", translate("Print stats at exit"))
133 stats.default = false
134
135 stats_every=s:option(Value, "stats_every", translate("Show and reset stats every seconds"))
136 stats_every.rmempty = true
137 stats_every.datatype = "uinteger"
138
139 onlyaddr=s:option(Flag, "onlyaddr", translate("Show only ICAO addresses"))
140 onlyaddr.default = false
141
142 metric=s:option(Flag, "metric", translate("Use metric units"))
143 metric.default = false
144
145 snip=s:option(Flag, "snip", translate("Strip IQ file removing samples"))
146 snip.rmempty = true
147 snip.datatype = "uinteger"
148
149 debug_mode=s:option(Flag, "debug", translate("Debug mode flags"))
150 debug_mode.rmempty = true
151
152 ppm=s:option(Flag, "ppm", translate("Set receiver error in parts per million"))
153 ppm.rmempty = true
154 ppm.datatype = "uinteger"
155
156 return m