towerops/priv/antennas/ubiquiti-nsm3-hpol.msi
Graham McIntire 3273312f6a feat: 198 real vendor .msi antenna patterns + Leaflet auto-load
Sourced 198 vendor-published MSI Planet pattern files via the
wireless-planning.com aggregator (data1.mlinkplanner.com). Real
patterns now ship for: Cambium (6), Ubiquiti (154), RF Elements
(27), MARS (5), MTI Wireless (1), Tarana (2), Ruckus (1), RFE (2).
Files dropped into priv/antennas/<vendor>-<part>.msi; the existing
boot loader picks them up and they override the synthesized catalog
entries by slug where the slugs match.

Parser improvements to handle real-world MSI file quirks:
- File-extension filter now accepts .ant/.msi (case-insensitive).
- Slug normalisation: spaces, +, and other non-alnum collapse to
  hyphens.
- Header parser splits on whitespace runs (tab or space) — different
  vendor tools produce different delimiters.
- New parse_frequency_mhz/1 handles "5500", "5 GHz", "5GHz",
  "5.6GHz", "5500 MHz", "5150-5850" (centre frequency), and
  "5.45 - 5.85 GHz" formats. Replaces the old integer-only parse.
- 2 MARS files with non-360 angular resolution and 1 with
  angle-less pattern lines were excluded; the rest parse cleanly.

Total registry now 305 antennas: 198 real vendor patterns + 107
synthesized catalog entries (used as fallback for SKUs without
public .msi files: Cambium ePMP/PMP variants, Tarana G1/G2,
ALPHA, ITELITE, KP Performance, RADWIN, Mimosa, etc.).

Leaflet auto-load fix:
- The location-picker map wasn't appearing because the form page
  didn't have the inline <script> tag the existing site map uses
  to load Leaflet. AGENTS.md forbids inline <script> in templates,
  so I added an ensureLeaflet() helper in app.ts that lazy-loads
  /vendor/leaflet/leaflet.{js,css} on first hook mount and caches
  the promise. SitesMap, CoverageMap, and CoverageLocationPicker
  all use it now — no inline scripts needed.
2026-05-06 15:09:29 -05:00

732 lines
6.7 KiB
Text

NAME NSM3 H-pol
MAKE Ubiquiti
FREQUENCY 3500
H_WIDTH 60
V_WIDTH 21
FRONT_TO_BACK 22
GAIN 13 dBi
TILT 0
POLARIZATION HORIZONTAL
COMMENT NanoStation M
HORIZONTAL 360
0 0
1 0
2 0
3 0
4 0
5 0
6 0.1
7 0.1
8 0.1
9 0.2
10 0.2
11 0.3
12 0.3
13 0.4
14 0.5
15 0.6
16 0.7
17 0.7
18 0.9
19 1
20 1.1
21 1.2
22 1.3
23 1.5
24 1.6
25 1.8
26 1.9
27 2.1
28 2.2
29 2.4
30 2.6
31 2.8
32 3
33 3.2
34 3.4
35 3.6
36 3.8
37 4
38 4.3
39 4.5
40 4.7
41 5
42 5.2
43 5.5
44 5.8
45 6
46 6.3
47 6.6
48 6.9
49 7.2
50 7.5
51 7.8
52 8.1
53 8.5
54 8.8
55 9.1
56 9.5
57 9.8
58 10.2
59 10.6
60 11
61 11.3
62 11.7
63 12.1
64 12.5
65 13
66 13.4
67 13.8
68 14.3
69 14.7
70 15.2
71 15.7
72 16.2
73 16.7
74 17.2
75 17.7
76 18.3
77 18.8
78 19.4
79 20
80 20.6
81 21.2
82 21.8
83 22.5
84 23.1
85 23.8
86 24.5
87 25.2
88 25.9
89 26.6
90 27.3
91 27.9
92 28.5
93 29.1
94 29.6
95 30
96 30.3
97 30.4
98 30.5
99 30.4
100 30.3
101 30.1
102 29.8
103 29.5
104 29.2
105 28.9
106 28.6
107 28.2
108 27.9
109 27.6
110 27.4
111 27.1
112 26.8
113 26.6
114 26.3
115 26.1
116 25.9
117 25.7
118 25.5
119 25.3
120 25.1
121 24.9
122 24.7
123 24.5
124 24.3
125 24.2
126 24
127 23.8
128 23.6
129 23.5
130 23.3
131 23.1
132 22.9
133 22.7
134 22.6
135 22.4
136 22.2
137 22
138 21.8
139 21.6
140 21.5
141 21.3
142 21.1
143 20.9
144 20.8
145 20.6
146 20.4
147 20.3
148 20.1
149 20
150 19.9
151 19.7
152 19.6
153 19.5
154 19.4
155 19.3
156 19.2
157 19.2
158 19.1
159 19.1
160 19.1
161 19
162 19
163 19.1
164 19.1
165 19.1
166 19.2
167 19.2
168 19.3
169 19.4
170 19.5
171 19.7
172 19.8
173 20
174 20.2
175 20.3
176 20.5
177 20.8
178 21
179 21.2
180 21.4
181 21.7
182 21.9
183 22.1
184 22.3
185 22.5
186 22.7
187 22.8
188 22.9
189 23
190 23.1
191 23
192 23
193 22.9
194 22.8
195 22.6
196 22.4
197 22.2
198 22
199 21.8
200 21.6
201 21.3
202 21.1
203 20.9
204 20.7
205 20.4
206 20.2
207 20.1
208 19.9
209 19.7
210 19.6
211 19.4
212 19.3
213 19.2
214 19.1
215 19
216 18.9
217 18.8
218 18.8
219 18.8
220 18.7
221 18.7
222 18.7
223 18.7
224 18.8
225 18.8
226 18.8
227 18.9
228 19
229 19
230 19.1
231 19.2
232 19.3
233 19.4
234 19.5
235 19.7
236 19.8
237 20
238 20.1
239 20.3
240 20.5
241 20.7
242 20.9
243 21.1
244 21.3
245 21.5
246 21.7
247 22
248 22.3
249 22.5
250 22.8
251 23.1
252 23.4
253 23.8
254 24.1
255 24.5
256 24.9
257 25.4
258 25.8
259 26.3
260 26.8
261 27.4
262 28
263 28.7
264 29.4
265 30.1
266 30.9
267 31.7
268 32.5
269 33.1
270 33.4
271 33.5
272 33.1
273 32.3
274 31.4
275 30.3
276 29.2
277 28.2
278 27.1
279 26.1
280 25.2
281 24.3
282 23.4
283 22.6
284 21.9
285 21.1
286 20.4
287 19.7
288 19.1
289 18.5
290 17.9
291 17.3
292 16.7
293 16.2
294 15.7
295 15.2
296 14.7
297 14.2
298 13.7
299 13.3
300 12.8
301 12.4
302 12
303 11.6
304 11.2
305 10.8
306 10.4
307 10
308 9.6
309 9.3
310 8.9
311 8.6
312 8.3
313 7.9
314 7.6
315 7.3
316 7
317 6.7
318 6.4
319 6.1
320 5.8
321 5.6
322 5.3
323 5.1
324 4.8
325 4.6
326 4.3
327 4.1
328 3.9
329 3.6
330 3.4
331 3.2
332 3
333 2.8
334 2.6
335 2.5
336 2.3
337 2.1
338 1.9
339 1.8
340 1.6
341 1.5
342 1.4
343 1.2
344 1.1
345 1
346 0.9
347 0.8
348 0.7
349 0.6
350 0.5
351 0.4
352 0.3
353 0.3
354 0.2
355 0.2
356 0.1
357 0.1
358 0.1
359 0
VERTICAL 360
0 0.2
1 0.4
2 0.7
3 0.9
4 1.3
5 1.7
6 2.1
7 2.7
8 3.3
9 3.9
10 4.6
11 5.5
12 6.4
13 7.3
14 8.4
15 9.6
16 10.8
17 12
18 13.1
19 14
20 14.5
21 14.5
22 14.2
23 13.7
24 13.1
25 12.5
26 11.9
27 11.5
28 11.1
29 10.9
30 10.7
31 10.6
32 10.6
33 10.7
34 10.8
35 11
36 11.3
37 11.7
38 12.1
39 12.6
40 13.2
41 13.9
42 14.7
43 15.6
44 16.6
45 17.8
46 19.2
47 20.8
48 22.6
49 25.1
50 28.6
51 31.7
52 32.6
53 31.5
54 28.8
55 25.9
56 23.8
57 22.4
58 21.2
59 20.2
60 19.3
61 18.7
62 18.1
63 17.6
64 17.1
65 16.8
66 16.4
67 16.2
68 16
69 15.8
70 15.6
71 15.5
72 15.4
73 15.3
74 15.3
75 15.2
76 15.2
77 15.2
78 15.2
79 15.2
80 15.2
81 15.2
82 15.3
83 15.3
84 15.4
85 15.4
86 15.5
87 15.5
88 15.6
89 15.6
90 15.7
91 15.7
92 15.8
93 15.9
94 15.9
95 16
96 16.1
97 16.1
98 16.2
99 16.2
100 16.3
101 16.3
102 16.4
103 16.5
104 16.5
105 16.6
106 16.6
107 16.7
108 16.7
109 16.8
110 16.9
111 16.9
112 17
113 17.1
114 17.1
115 17.2
116 17.3
117 17.4
118 17.5
119 17.6
120 17.7
121 17.9
122 18
123 18.2
124 18.3
125 18.5
126 18.7
127 19
128 19.2
129 19.5
130 19.8
131 20.2
132 20.5
133 20.9
134 21.4
135 21.8
136 22.3
137 22.9
138 23.4
139 24.1
140 24.7
141 25.3
142 26
143 26.6
144 27.2
145 27.8
146 28.3
147 28.7
148 29
149 29.2
150 29.4
151 29.6
152 29.8
153 30.1
154 30.5
155 31
156 31.7
157 32.6
158 33.8
159 35.5
160 38.1
161 41.4
162 44.5
163 45
164 41.1
165 35.8
166 32.6
167 30.8
168 29.2
169 27.6
170 26.4
171 25.3
172 24.5
173 23.7
174 23.1
175 22.5
176 22.1
177 21.7
178 21.5
179 21.3
180 21.2
181 21.1
182 21.2
183 21.3
184 21.4
185 21.7
186 22
187 22.4
188 22.9
189 23.5
190 24.1
191 24.9
192 25.8
193 26.8
194 27.9
195 29.2
196 30.7
197 32.4
198 34.3
199 36.6
200 39.1
201 40.8
202 40.8
203 39.6
204 37.9
205 36.3
206 34.9
207 33.9
208 33
209 32.2
210 31.5
211 30.9
212 30.3
213 29.7
214 29.2
215 28.6
216 28.1
217 27.6
218 27
219 26.5
220 26
221 25.5
222 25
223 24.5
224 24
225 23.6
226 23.2
227 22.8
228 22.5
229 22.1
230 21.8
231 21.5
232 21.2
233 21
234 20.7
235 20.5
236 20.3
237 20.1
238 19.9
239 19.8
240 19.6
241 19.4
242 19.3
243 19.1
244 19
245 18.9
246 18.8
247 18.7
248 18.6
249 18.5
250 18.4
251 18.3
252 18.2
253 18.1
254 18
255 17.9
256 17.9
257 17.8
258 17.7
259 17.7
260 17.6
261 17.6
262 17.5
263 17.5
264 17.5
265 17.4
266 17.4
267 17.4
268 17.4
269 17.4
270 17.4
271 17.4
272 17.5
273 17.5
274 17.5
275 17.6
276 17.7
277 17.8
278 17.9
279 18.1
280 18.2
281 18.4
282 18.6
283 18.9
284 19.2
285 19.6
286 20
287 20.4
288 21
289 21.6
290 22.4
291 23.3
292 24.5
293 25.8
294 27.1
295 29.9
296 34.9
297 39
298 38.9
299 35.7
300 31.4
301 27.4
302 24.7
303 22.9
304 21.3
305 19.9
306 18.6
307 17.6
308 16.6
309 15.7
310 15
311 14.3
312 13.7
313 13.2
314 12.7
315 12.3
316 12
317 11.8
318 11.6
319 11.5
320 11.4
321 11.5
322 11.6
323 11.8
324 12.2
325 12.6
326 13.3
327 14.1
328 15.1
329 16.5
330 18.2
331 20.5
332 23.2
333 24.4
334 22.4
335 19
336 16
337 13.8
338 11.9
339 10.2
340 8.8
341 7.5
342 6.5
343 5.5
344 4.6
345 3.9
346 3.2
347 2.6
348 2.1
349 1.6
350 1.2
351 0.9
352 0.6
353 0.4
354 0.2
355 0.1
356 0
357 0
358 0
359 0.1