clarify units
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 23 May 2008 12:41:29 +0000 (14:41 +0200)
committerJohannes Berg <johannes@sipsolutions.net>
Fri, 23 May 2008 12:41:29 +0000 (14:41 +0200)
daemon/dump.c
daemon/regdb.h
db.txt
db2bin.py
db2sql.py

index 56d078d..cd5cff6 100644 (file)
@@ -245,11 +245,11 @@ static void print_reg_rule(__u8 *db, int dblen, __be32 ruleptr)
 
        printf("(%s, %.3f, %.3f, %.3f, %.3f, %.3f)\n",
               env,
-              (float)ntohl(power->max_antenna_gain/1000.0),
-              (float)ntohl(power->max_ir_ptmp/1000.0),
-              (float)ntohl(power->max_ir_ptp/1000.0),
-              (float)ntohl(power->max_eirp_pmtp/1000.0),
-              (float)ntohl(power->max_eirp_ptp)/1000.0);
+              (float)ntohl(power->max_antenna_gain/100.0),
+              (float)ntohl(power->max_ir_ptmp/100.0),
+              (float)ntohl(power->max_ir_ptp/100.0),
+              (float)ntohl(power->max_eirp_pmtp/100.0),
+              (float)ntohl(power->max_eirp_ptp)/100.0);
 }
 
 int main(int argc, char **argv)
index fa25973..a7079a9 100644 (file)
@@ -55,8 +55,10 @@ struct regdb_file_freq_range {
 struct regdb_file_power_rule {
        __u8    environment_cap;
        __u8    PAD[3];
-       __be32  max_antenna_gain,
-               max_ir_ptmp,
+       /* antenna gain is in mBi (100 * dBi) */
+       __be32  max_antenna_gain;
+       /* these are in mBm (100 * dBm) */
+       __be32  max_ir_ptmp,
                max_ir_ptp,
                max_eirp_pmtp,
                max_eirp_ptp;
diff --git a/db.txt b/db.txt
index 20f8595..3b43c12 100644 (file)
--- a/db.txt
+++ b/db.txt
@@ -1,4 +1,18 @@
 ############
+#
+# Database format.
+
+# band definition: start - end @ bandwidth[, flags]
+# (start, end, bandwidth in MHz, can be fractional,
+#  will be converted to kHz)
+#
+# power definition: environment, max_antenna_gain, max_ir_ptmp, max_ir_ptp, max_eirp_pmtp, max_eirp_ptp
+#  - environment is either I, O or OI
+#  - max_antenna_gain is in dBi (can be fractional, will be converted to mBi)
+#  - the remaining ones are in dBm (will be converted to mBm)
+#
+
+############
 # First: band definitions
 
 band WORLD: 2432 - 2442 @ 20, OFDM, CCK
index 70ebfda..ed551bf 100755 (executable)
--- a/db2bin.py
+++ b/db2bin.py
@@ -47,7 +47,7 @@ siglen = PTR(output)
 power_rules = {}
 for power_rule_id, pr in power.iteritems():
     environ = pr[0]
-    pr = [int(v * 1000) for v in pr[1:]]
+    pr = [int(v * 100) for v in pr[1:]]
     power_rules[power_rule_id] = output.tell()
     # struct regdb_file_power_rule
     output.write(struct.pack('>cxxxIIIII', str(environ), *pr))
index 0d8202e..b6b9eaf 100755 (executable)
--- a/db2sql.py
+++ b/db2sql.py
@@ -82,7 +82,7 @@ power_rule = 0
 for power_rule_id, pr in power.iteritems():
     power_rule += 1
     environ = pr[0]
-    pr = [int(v * 1000) for v in pr[1:]]
+    pr = [int(v * 100) for v in pr[1:]]
     power_rules[power_rule_id] = power_rule
     print 'INSERT INTO power_rule (power_rule_id, environment_cap, max_antenna_gain_mbi, max_ir_ptmp_mbm, max_ir_ptp_mbm, max_eirp_pmtp_mbm, max_eirp_ptp_mbm) VALUES',
     print "(%d, '%s', %d, %d, %d, %d, %d);" % (power_rule, environ, pr[0], pr[1], pr[2], pr[3], pr[4])