1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-07-05 02:22:21 +03:00
Commit Graph

22 Commits

Author SHA1 Message Date
Werner Almesberger
07a2e5c5cc atrf-path/gui.c: indicate status not only with color but also with shape
- gui.c (disc, indicate): moved drawing of disc to separate function
- gui.c (triangle, up, down): draw an up/down triangle
- gui.c (indicate): use up/down triangle for over/under
2011-04-13 21:32:02 -03:00
Werner Almesberger
66d641f624 atrf-path/genpathprof: profile generator
- genpathprof: generate a profile for atrf-path from measurements and/or
  user-provided limits
- profile.example: example profile
2011-04-13 21:13:26 -03:00
Werner Almesberger
87b76af2fa atrf-path.c (usage, main): use ... [[sweeps] samples] with and without GUI
This was just too confusing ...
2011-04-13 20:55:45 -03:00
Werner Almesberger
9e3d17460a atrf-path/gui.c (tstart, tstop): commented out benchmarking code 2011-04-13 20:40:26 -03:00
Werner Almesberger
c86ce307e2 atrf-path: added pass/fail indication (in the GUI, accept the result with P/F)
- atrf-path.c (do_sweeps): return a pass/fail/undecided value
- gui.h (gui), gui.c (gui): return a pass/fail/undecided value
- gui.c (gui): return pass/fail when P or F is pressed; exit
  unconditionally if Q is pressed
- atrf-path.c (main): according to the decision of "gui" or "do_sweeps",
  print "#PASS", "#FAIL", or nothing
2011-04-13 20:24:50 -03:00
Werner Almesberger
fbc7aee55f atrf-path/gui.c (main): cycle counting was broken; fixed it 2011-04-13 19:34:00 -03:00
Werner Almesberger
f32f48ae26 atrf-path: visualize the limits in GUI mode
- gui.c (avg2y, segment): moved mapping from measurement to y position
  to separate function, to allow for sharing
- gui.c (LIMIT_RGBA, draw_limit, gui): draw the limits
2011-04-13 19:08:23 -03:00
Werner Almesberger
a1fc867bf2 atrf-path: option -P to load a min/max profile; pass/fail indication in GUI
- sweep.h (MIN_DIFF, MAX_DIFF, struct sweep): added min/max profile
- sweep.h (do_sweep), atrf-path.c (do_half_sweep, do_sweep): compare
  result against limits and return pass/fail decision
- sweep.h (N_CHAN), atrf-path.c (do_half_sweep, do_sweeps), gui.c
  (N_CHAN): declare number of channels in one central place instead of
  scattering it all around the program
- atrf-path.c (do_read_profile, read_profile, usage, main): new option -P
  to read a min/max profile
- gui.c (indicate, main): moved indicator to separate function and
  improved blink logic
- gui.c (OVER_RGBA, UNDER_RGBA, indicate, main): change color to indicate
  pass/fail
2011-04-13 18:40:39 -03:00
Werner Almesberger
a7d9dfd258 atrf-path.c: do cw test setup only once if sweeping a single offset
atrf-path -T +0.5 -g ... 10 10 time:

before:	0.32-0.33 s
after:	0.27-0.29 s	(88%)

- atrf-path.c (sample): force cw test setup if never done before
- atrf-path.c (do_half_sweep): only request cw test setup if sweeping
  both offsets
2011-04-13 14:17:01 -03:00
Werner Almesberger
e2a9c9d068 atrf-path: new option -T to sweep only one offset
atrf-path -T +0.5 -g ... 10 10 time:

before (both offsets)	0.65 s
after (one offset)	0.32-0.33 s	(50%)

- atrf-path.c (usage, main): new option -T to specify which offset to
  sweep (default: sweep both)
- atrf-path.c (do_half_sweep): only sample points with the desired offset
- atrf-path.c (print_sweep): only prints points we've sweeped
- gui.c (segment, draw): inverted flag logic from "have_last" to "first"
- gui.c (draw): only plot points we've sweeped
- gui.c (gui): pass the offset selection to "draw"
2011-04-13 14:01:12 -03:00
Werner Almesberger
598582c26a atrf-path.c (do_half_sweep, do_sweep): don't duplicate the loop - use a function 2011-04-13 13:47:41 -03:00
Werner Almesberger
d263ffcb8b atrf-path.c (usage): list common args only once, not in each synopsis 2011-04-13 13:38:07 -03:00
Werner Almesberger
2c1cb715e4 atrf-path: sweep offsets separately, so that the we can reuse the cw setup
atrf-path -g ... 10 10 time:

before	1.92 s
after	0.65 s	(34%)

- atrf-path.c (do_sweep): separate -0.5 MHz and +0.5 MHz sweep
- atrf-path.c (sample, do_sweep): set up cw test mode only twice per
  sweep (once for each offset), and simply resume in all other cases
2011-04-13 13:07:55 -03:00
Werner Almesberger
e3463ef8a0 atrf-path.c: moved tx init out of sample loop (breaks 230 support)
atrf-path -g ... 10 10 time is now stable at 1.92 s

- atrf-path.c (sample): commented-out init sequence needed for AT86RF230
- atrf-path.c (sample, do_sweep): set TX channel only once per +/-0.5 MHz
  pair
- atrf-path.c (sample, do_sweep): "sample" no longer needs the channel
  argument
- atrf-path.c (sample, main): do TX init only once
2011-04-13 12:53:46 -03:00
Werner Almesberger
5f153ca4b8 atrf-path/atrf-path.c: initialize the receiver only once, not for each sweep
atrf-path -g ... 10 10 time:

before	2.08 s
after	1.92-1.93 s	(92-93%)

- atrf-path.c (set_channel, init_common): moved setting of the channel
  to separate function, for better granularity
- atrf-path.c (init_common, init_tx, init_rx, sample, do_sweep): the
  init_* functions no longer set the channel; use set_channel
- atrf-path.c (main): initialize the receiver only once
2011-04-13 11:55:04 -03:00
Werner Almesberger
436c9faed5 atrf-path: the GUI is now activated with -g; also changed arguments in GUI mode
- atrf-path.c (usage, main): new option -g to invoke the GUI
- atrf-path.c (usage, main): in GUI mode, the number of sweeps is optional
  (default: infinite)
- atrf-path.c (main), gui.h (gui), gui.c (gui): exit after the specified
  number of sweeps
2011-04-13 11:54:58 -03:00
Werner Almesberger
cee0296579 tools/atrf-path/gui.c (gui): added pulsating disc as progress/status indicator 2011-04-13 11:54:58 -03:00
Werner Almesberger
6efe37436f tools/atrf-path/gui.c: temporarily added code for sweep time measurements 2011-04-13 08:54:26 -03:00
Werner Almesberger
0a409103eb atrf-path: added basic graphical output
- gui.h, gui.c: plot sweep results with SDL_gfx
- Makefile: added target-specific variables for SDL and SDL_gfx
- atrf-path.c (main): invoke the GUI if the number of sweeps is zero
2011-04-12 22:52:39 -03:00
Werner Almesberger
6df648792a atrf-path: generalized sweep interface (for reuse)
- sweep.h (struct sweep ), atrf-path.c (sample, do_sweeps, main): pass
  sweep parameters via a struct
- sweep.h (do_sweep), atrf-path.c (do_sweep, do_sweeps): separated single
  sweep and made it public
- sweep.h (struct sample), atrf-path.c (sample, print_sweep, do_sweeps):
  made "sample" and do_sweep return the sample value/vector and moved
  output from "sample" to print_sweep
2011-04-12 22:35:46 -03:00
Werner Almesberger
b159e00316 atrf-path: added min/max values and corrected averaging algorithm
- atrf-path.c (rssi_to_dBm, sample): moved RSSI value to dBm conversion to
  separate function
- atrf-path.c (sample): corrected calculation of average
- atrf-path.c (sample): also output minimum and maximum value
- plot: new option -e to display extremal values
- plot: added comment to explain y range
2011-04-12 20:53:17 -03:00
Werner Almesberger
a2e0e1d807 tools: new utility atrf-path to measure path characteristics
- Makefile (DIRS): added atrf-path
- atrf-path/Makefile, atrf-path/atrf-path.c: new utility atrf-path to
  measure path characteristics (for now, TX-to-RX path attenuation)
- atrf-path/plot: visualize path loss measurements
2011-04-12 19:43:45 -03:00