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)
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;
############
+#
+# 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
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))
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])