git.droids-corp.org
/
protos
/
xbee-avr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rc_proto: allow to disable computation of best power level
[protos/xbee-avr.git]
/
rc_proto.c
diff --git
a/rc_proto.c
b/rc_proto.c
index
8ea3767
..
4c09ac3
100644
(file)
--- a/
rc_proto.c
+++ b/
rc_proto.c
@@
-149,7
+149,7
@@
static void rc_proto_rx_power_probe(int power_level)
(void *)(intptr_t)power_level);
}
(void *)(intptr_t)power_level);
}
-/* called every second */
+/* called every second
to decide which power should be used
*/
static void compute_best_power(void)
{
int8_t best_power_level = -1;
static void compute_best_power(void)
{
int8_t best_power_level = -1;
@@
-183,8
+183,13
@@
static void compute_best_power(void)
power_level_global = best_power_level;
}
power_level_global = best_power_level;
}
-static uint8_t get_best_power(void)
+/* return the best power level, or -1 if best power level computation is
+ * disabled. */
+static int8_t get_best_power(void)
{
{
+ if ((rc_proto_flags & RC_PROTO_FLAGS_COMPUTE_BEST_POW) == 0)
+ return -1;
+
/* special values */
if (power_level_global == -1) {
power_level_global = -4;
/* special values */
if (power_level_global == -1) {
power_level_global = -4;
@@
-728,10
+733,12
@@
static void rc_proto_cb(struct callout_mgr *cm, struct callout *tim, void *arg)
}
/* send stats to peer every second */
}
/* send stats to peer every second */
- diff = t - prev_compute_pow;
- if (diff >= 1000) {
- compute_best_power();
- prev_compute_pow = t;
+ if (rc_proto_flags & RC_PROTO_FLAGS_COMPUTE_BEST_POW) {
+ diff = t - prev_compute_pow;
+ if (diff >= 1000) {
+ compute_best_power();
+ prev_compute_pow = t;
+ }
}
/* send stats to peer every second */
}
/* send stats to peer every second */