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