towerops/priv/antennas/ubiquiti-nsm2-vpol.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.6 KiB
Text

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