1 m = Map("dawn", "Hearing Map", translate("Hearing Map"))
4 s = m:section(NamedSection, "__hearingmap__")
6 function s.render(self, sid)
7 local tpl = require "luci.template"
10 local utl = require "luci.util"
11 local status = require "luci.tools.ieee80211"
12 local stat = utl.ubus("dawn", "get_hearing_map", { })
15 for name, macs in pairs(stat) do
17 <div class="cbi-section-node">
18 <h3>SSID: <%= name %></h3>
19 <div class="table" id="dawn_hearing_map">
20 <div class="tr table-titles">
21 <div class="th">Client MAC</div>
22 <div class="th">AP MAC</div>
23 <div class="th">Frequency</div>
24 <div class="th">HT Sup</div>
25 <div class="th">VHT Sup</div>
26 <div class="th">Signal</div>
27 <div class="th">RCPI</div>
28 <div class="th">RSNI</div>
29 <div class="th">Channel Utilization</div>
30 <div class="th">Station connect to AP</div>
31 <div class="th">Score</div>
35 for mac, data in pairs(macs) do
39 for mac2, data2 in pairs(data) do
42 <% if (count_loop == 0) then %>
43 <div class="td"><%= mac %></div>
47 <div class="td"><%= mac2 %></div>
48 <div class="td"><%= "%.3f" %( data2.freq / 1000 ) %> GHz Channel: <%= "%d" %( status.frequency_to_channel(data2.freq) ) %></div>
49 <div class="td"><%= (data2.ht_capabilities == true and data2.ht_support == true) and "True" or "False" %></div>
50 <div class="td"><%= (data2.vht_capabilities == true and data2.vht_support == true) and "True" or "False" %></div>
51 <div class="td"><%= "%d" %data2.signal %></div>
52 <div class="td"><%= "%d" %data2.rcpi %></div>
53 <div class="td"><%= "%d" %data2.rsni %></div>
54 <div class="td"><%= "%.2f" %(data2.channel_utilization / 2.55) %> %</div>
55 <div class="td"><%= "%d" %data2.num_sta %></div>
56 <div class="td"><%= "%d" %data2.score %></div>
59 count_loop = count_loop + 1