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