1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-25 21:18:26 +02:00
Commit Graph

68 Commits

Author SHA1 Message Date
Werner Almesberger
f16224f575 atrf-txrx: new option -P to select ping mode
- atrf-txrx.c (struct ping, enum rx_res, ping_tx, ping_rx, ping): send
  back a packet containing a locally generated sequence number and the
  last sequence number received whenever a packet arrives
- atrf-txrx.c (usage, main): added option -P to select ping mode
2011-01-20 19:42:52 -03:00
Werner Almesberger
fc226b2b51 atrf-txrc.c (usage, main): changed -P to -E to free -P for other use 2011-01-20 12:41:49 -03:00
Werner Almesberger
6282c334bc perdump: print relative receive timestamp
- perdump.h (struct result_ops), perdump.c (analyze, pcap_record): pass
  receive timestamp to reporter
- per-text.c (t_line, flush, text_undecided, text_packet): print relative
  receive timestamp before each packet
2011-01-19 19:34:16 -03:00
Werner Almesberger
6002759464 tools/atrf-txrx/perdump: new utility to analyze a PER dump
- Makefile: added perdump
- perdump.h, perdump.c: read and analyze a PER dump in pcap format
- per-text.c: report PER test results as text on the console
2011-01-19 18:29:14 -03:00
Werner Almesberger
1fb05c221d misctxrx.c (wait_for_interrupt): let "ignore" control printing more tightly
When some interrupt(s) happened but the one(s) wait_for_interrupt was
waiting for weren't among them, it printed the list of interrupts
even if they were all in "ignore". This made sequences like RX_START
followed by TRX_END unnecessarily noisy.

Now, wait_for_interrupt only prints the pending interrupts if at
least one of them is not in "ignore".
2011-01-19 18:27:17 -03:00
Werner Almesberger
96e8fc6dbf atrf-txrx: renamed BER (bit error rate) test to PER (packet ...) test
- atrf-txrx.c (usage, main): changed option -B to -P
- atrf-txrx.c (usage): "BER test mode" is now "PER test mode"
- atrf-txrx.c (main): mode_ber is now mode_per
2011-01-19 18:27:17 -03:00
Werner Almesberger
ea81e70cf9 atrf-txrx: define the pcap file magic number (0xa1b2c3d4) in pcap.h
- pcap.h (PCAP_FILE_MAGIC): define the pcap file magic number
- atrf-txrx.c (write_pcap_hdr): use PCAP_FILE_MAGIC instead of open-coding
  the magic number
2011-01-19 18:27:16 -03:00
Werner Almesberger
999ce5302e atrf-txrx: added BER test pattern transmit mode
- atrf-txrx.c (main): indicate mode of operation in variable "mode" instead
  of dual-using "cont_tx"
- atrf-txrx.c (usage, main): added option -B to enter BER test pattern
  transit mode
- atrf-txrx.c (transmit_pattern): transmit raw frames with a cyclic frame
  number
2011-01-19 18:27:16 -03:00
Werner Almesberger
f9aee54323 atrf-txrx: added ability to record received frames in pcap format
- pcap.h: basic pcap file structure definitions
- atrf-txrx.c (usage, main): added option "-o file" to write received
  frames to a pcap file instead of displaying them
- atrf-txrx.c (receive): moved code to receive and display a single message
  into new function receive_message
- atrf-txrx.c (write_pcap_hdr, write_pcap_rec, receive_pcap): receive
  messages into a pcap file
2011-01-19 18:27:16 -03:00
Werner Almesberger
5407180c32 atrf-txrx: cleaned up the usage output
- atrf-txrx.c (usage): split options and arguments for different modi into
  separate sections
- atrf-txrx.c (usage): moved details for common options to a separate
  section
- atrf-txrx.c (usage): added -C mhz to synopsis
2011-01-19 01:11:48 -03:00
Werner Almesberger
1cd079ee82 great atusd -> atben renaming: changed remaining references in tools/
- Makefile.common (MACROS_ben_jlime, MACROS_ben_openwrt), lib/atrf.c
  (atrf_open): changed HAVE_USD to HAVE_BEN
- lib/atben.c: changed "uSD version" in title to "Ben 8:10 card version"
- lib/atrf.c, lib/atben.c: changed all occurrences of "atusd" to "atben"
2011-01-17 12:06:16 -03:00
Werner Almesberger
32de4b6ad4 great atusd -> atben renaming: renamed tools/atusd.c and Makefile reference
- lib/atusd.c: renamed to lib/atben.c
- lib/Makefile (OBJS_ben_jlime, OBJS_ben_openwrt): changed "atusd" to
  "atben"
2011-01-17 11:56:17 -03:00
Werner Almesberger
ebe667197a dirtly made the atrf tools run with the new atusd board
- lib/atusd.c: renamed CLK to SLP_TR
- lib/atusd.c (atusd_cycle, atusd_cycle, atusd_open, atusd_close):
  #ifdef'ed all uses of CLK and changed them to SLP_TR (along with the
  change in function)
- atrf-txrx/atrf-txrx.c (init_txrx): always use the crystal oscillator
2011-01-16 16:03:11 -03:00
Werner Almesberger
e90c59635b atrf-txrx.c (enter_test_mode_231): disable CLKM in AT86RF231 test mode
According to the data sheet, it has to be enabled. The Software Model
doesn't mention it. Experiments show that it's indeed useless and just
adds noise.
2011-01-12 20:11:28 -03:00
Werner Almesberger
cb7afe132d atrf-txrx: new option -C to control CLKM output
- atrf-txrx.c (usage, main): added option -C mhz to enable the CLKM output
  and to set its frequency
- atrf-txrx.c (init_txrx): if requested, enable CLKM and set to maximum
  drive strength
2011-01-12 20:11:14 -03:00
Werner Almesberger
6ff235e8ea tools/lib/misctxrx.c (wait_for_interrupt): restore signal also after timeout 2011-01-10 13:52:57 -03:00
Werner Almesberger
110d5abe32 tools/atrf-txrx/atrf-txrx.c (enter_test_mode_231): clean up and exit on error 2011-01-10 00:14:35 -03:00
Werner Almesberger
9b498ae244 atrf-txrx: small 231 continuous transmission mode cleanup (doesn't work yet)
- atrf-txrx.c (enter_test_mode_231): test value read from TRX_STATUS
- atrf-txrx.c (enter_test_mode_231): wait indefinitely for the PLL to lock
2011-01-09 20:16:11 -03:00
Werner Almesberger
1befc69e37 tools/lib/misctxrx.c: decode AMI and CCA_ED_DONE interrupts (231 only) 2011-01-09 19:38:33 -03:00
Werner Almesberger
0c7146cad9 atrf-txrx: updated for AT86RF231 interrupt handling
- atrf-txrx.c (init_txrx): unmask all interrupts for 231 compatibilit,
  where masked interrupts are now indicated in IRQ_STATUS
- atrf-txrx.c (init_txrx): on the 231, wait for (and clear) the CCA_ED_DONE
  interrupt when entering TRX_OFF after reset
2011-01-09 19:36:29 -03:00
Werner Almesberger
45e55fe2f1 tools/: renamed OpenWRT target from "ben" to "ben_openwrt" and added "ben_jlime"
- tools/Makefile (upload): make destinastion host name ("ben" or "jlime")
  depend on TARGET
- tools/Makefile.common (CC_ben, CFLAGS_ben, LDLIBS_ben, MACROS_ben):
  renamed to *_openwrt and added *_jlime equivalents
- tools/atrf-rssi/Makefile: added settings to use SDL_gfx on Jlime
- tools/lib/Makefile (OBJS_ben): renamed to OBJS_ben_openwrt and added
  OBJS_ben_jlime
2011-01-09 19:01:27 -03:00
Werner Almesberger
4d2395e23c atrf-rssi.c: unmask IRQ_PLL_LOCK, for 231 compatibility 2011-01-09 19:01:27 -03:00
Werner Almesberger
b2d90cd3d3 atrf-txrx: added support for AT86RF231 continuous transmission mode
- atrf-txrx.c (test_mode): moved test mode setup to enter_test_mode_230
- atrf-txrx.c (enter_test_mode_231): enter test mode on AT86RF231 (untested)
- atrf-txrx.c (test_mode): reset AT86RF231 register 0x1c when leaving
2011-01-07 14:59:23 -03:00
Werner Almesberger
309a5ed6d5 atusb/fw/include/at86rf230.h: make 231-centric
- at86rf230.h (TX_AUTO_CRC_ON): changed to TX_AUTO_CRC_ON_230
- at86rf230.h (TX_AUTO_CRC_ON_231): changed to TX_AUTO_CRC_ON
- tools/atrf-txrx/atrf-txrx.c: updated for above changes
2011-01-07 14:31:27 -03:00
Werner Almesberger
02e394a706 atrf-txrx: set CRC and transmit power depending on chip (AT86RF230/231)
- atrf-txrx.c (tx_pwr, tx_pwr_230, tx_pwr_231, set_power): table of power
  values depends on chip
- atrf-txrx.c (set_power): location of TX_AUTO_CRC_ON and use of
  REG_PHY_TX_PWR depends on chip
2011-01-07 13:49:52 -03:00
Werner Almesberger
a9321cea7c libatrf: new function atrf_identify to identify the chip
- tools/lib/atrf.h, tools/lib/atrf.c (atrf_identify): added chip
  identification function to library
- tools/atrf-id/atrf-id.c (show_info): print information returned by
  atrf_identify
- tools/atrf-id/atrf-id.c (show_info): decode JEDEC manufacturer ID
2011-01-07 12:35:51 -03:00
Werner Almesberger
f26d735dac tools/lib/atusd.c (atusd_open): open /dev/mem with O_SYNC to disable caching 2011-01-03 18:53:56 -03:00
Werner Almesberger
22288a2932 atrf-txrx can now run a shell command while emitting a test wave
- atrf-txrx.c (test_mode, usage, main): optionally run a shell command while
  in test mode
- atrf-txrx.c (usage): explain all parameters
2010-11-11 21:31:15 -03:00
Werner Almesberger
809311284d lib/atusb.c: fix typo in function name
- lib/atusb.c (atusd_interrupt, atusb_driver): we're in atusb.c, so the
  function name should begin with atusb_, not atusd_
2010-11-11 10:34:09 -03:00
Werner Almesberger
a8a898e202 The Great ATSPI Renaming, part 9: update comments as well
- Makefile.common, lib/atrf.c, lib/atusd.c: change ATSPI to ATRF in title
  comment
- include/atrf.h: comment still referred to atrf-id as "atspi-id"
2010-11-11 10:30:37 -03:00
Werner Almesberger
6ee514239e The Great ATSPI Renaming, part 8: rename the tools from atspi-* to atrf-*
- tools/atrf-*/atspi-*.c: renamed to atrf-*.c
- tools/atrf-*/Makefile (MAIN): updated name of program
- tools/atrf-*/*.c: updated path in title comment
2010-11-11 10:27:49 -03:00
Werner Almesberger
2873174739 The Great ATSPI Renaming, part 7: rename tools/atspi-* to tools/atrf-*
- tools/atspi-id/: renamed to atrf-id
- tools/atspi-reset/: renamed to atrf-reset
- tools/atspi-rssi/: renamed to atrf-rssi
- tools/atspi-trim/: renamed to atrf-trim
- tools/atspi-txrx/: renamed to atrf-txrx
- tools/Makefile: renamed directories from atspi-* to atrf-*

e	lib/misctxrx.o
2010-11-11 10:14:04 -03:00
Werner Almesberger
bcd3691c8a The Great ATSPI Renaming, part 6: change atrf API from atspi_* to atrf_*
- include/atrf.h, lib/atrf.c (struct atspi_dsc): renamed to "struct
  atrf_dsc"
- include/atrf.h, lib/atrf.c (atspi_*): renamed all functions to atrf_*
- include/misctxrx.h, lib/misctxrx.c (wait_for_interrupt): updated for API
  name change
- atspi-id/atspi-id.c (show_usb_info, show_info, main),
  atspi-reset/atspi-reset.c (main), atspi-rssi/atspi-rssi.c (sweep, main),
  atspi-rssi/gui.h (gui), atspi-rssi/gui.c (sweep, gui),
  atspi-trim/atspi-trim.c (main), atspi-txrx/atspi-txrx.c (init_txrx,
  set_channel, set_power, receive, transmit, test_mode, main):
  updated for API name change
2010-11-11 10:10:13 -03:00
Werner Almesberger
688df9771d The Great ATSPI Renaming, part 5: rename "struct atspi_driver" to "atrf_driver"
- lib/driver.h: rename "struct atspi_driver" to "struct atrf_driver"
- lib/atrf.c, lib/atusb.c, lib/atusd.c: track above change
2010-11-11 09:04:36 -03:00
Werner Almesberger
cf23ac6128 The Great ATSPI Renaming, part 4: rename include/atspi.h to include/atrf.h
- include/atspi.h: renamed to include/atrf.h
- include/misctxrx.h, lib/atrf.c, lib/misctxrx.c, atspi-id/atspi-id.c,
  atspi-reset/atspi-reset.c, atspi-rssi/atspi-rssi.c, atspi-rssi/gui.c,
  atspi-rssi/gui.h, atspi-trim/atspi-trim.c, atspi-txrx/atspi-txrx.c:
  change  #include "atspi.h"  to  #include "atrf.h"
2010-11-11 08:58:47 -03:00
Werner Almesberger
84b61f35f2 The Great ATSPI Renaming, part 3: rename libatspi.a to libatrf.a
- tools/lib/atspi.c: renamed to atrf.c
- tools/lib/Makefile (OBJS): track above change
- tools/Makefile.common (LDLIBS), tools/lib/Makefile (LIB): rename the
  whole library from libatspi to libatrf
2010-11-11 08:48:08 -03:00
Werner Almesberger
96b6a50b3a The Great ATSPI Renaming, part 2: rename ATSPI_* identifiers to ATUSB_*
- atusb/fw/include/atusb/ep0.h, atusb/fw/atusb/ep0.c: rename all ATSPI_*
  identifiers (EP0 commands, protocol revision, etc.) to ATUSB_*
- tools/lib/atusb.c, tools/atspi-id/atspi-id.c: track identifier change
2010-11-11 08:41:25 -03:00
Werner Almesberger
7e71f98007 The Great ATSPI Renaming, part 1: rename atusb firmware files from atspi to atusb
- atusb/fw/atspi/atspi.c: renamed to atusb/fw/atspi/atusb.c
- atusb/fw/atspi/Makefile: track above change
- atusb/fw/include/atspi/: renamed to atusb/fw/include/atusb/
- atusb/fw/common/config.h, atusb/fw/atspi/atspi.c, atusb/fw/atspi/descr.c,
  atusb/fw/atspi/ep0.c: track change of include location
- atusb/fw/atspi/: renamed to atusb
- atusb/fw/Makefile: track above change
- tools/atspi-id/atspi-id.c, tools/atspi-trim/atspi-trim.c,
  tools/lib/atusb.c: track change of include location
2010-11-11 08:26:01 -03:00
Werner Almesberger
1e78135bf4 atspi-txrx: new option -f to set the channel by frequency
- atspi-txrx/atspi-txrx.c (usage): rearranged description of -T
- atspi-txrx/atspi-txrx.c (usage, main): option -f freq to specify the
  channel by frequency
2010-11-11 02:44:33 -03:00
Werner Almesberger
d4fe0277c2 atspi-txrx: option -T <delta_MHz> to emit a constant wave
- atspi-txrx/atspi-txrx.c (set_power): make enabling the CRC optional
  (this is necessary for test mode, which doesn't seem to work if the CRC
  is selected)
- atspi-txrx/atspi-txrx.c (test_mode): emit a constant wave in test mode
- atspi-txrx/atspi-txrx.c (usage, main): new option -T <delta> to emit a
  constant wave -2 MHz, -0.5 MHz, or +0.5 MHz from the nominal carrier
  frequency
2010-11-11 02:32:09 -03:00
Werner Almesberger
5d63a009c8 libatspi: new function atspi_test_mode to enter test mode
- include/atspi.h, lib/atspi.c: new function atspi_test_mode to enter test
  mode
- lib/driver.h (struct atspi_driver): add backend function test_mode
- lib/atusb.c (atusb_test_mode), lib/atusb.c (atusb_driver): enter test
  mode
- lib/atusd.c (atusd_driver): test mode is not supported
2010-11-11 02:29:07 -03:00
Werner Almesberger
256da91e04 atspi-rssid: for color and geometry, use #defines instead of literals
- atspi-rssid/gui.c (sweep, label_channels): moved geometry values to
  #defines
- atspi-rssid/gui.c (CBIG, CSMALL, label_channels): moved color values to
  #defines
2010-11-09 13:53:04 -03:00
Werner Almesberger
e3bae73a5e atspi-rssi/gui.c (gui): exit on keystroke or quit request 2010-11-08 20:31:38 -03:00
Werner Almesberger
0463bbea5d Added graphical display of RSSI scan results.
- tools/Makefile.common: CFLAGS and OBJS can now be target-specific
- tools/atspi-rssi/Makefile: add SDL, SDL_gfx, and the GUI object files
  when building on the host
- tools/atspi-rssi/Makefile: set -DHAVE_GFX when building on the host
- tools/atspi-rssi/atspi-rssi.c (usage, main): new option -g to use GUI
  mode
- tools/atspi-rssi/atspi-rssi.c (main): rename variable for the number of
  sweeps in non-GUI mode from "sweeps" to "arg", since it may have other
  uses in the future
- tools/atspi-rssi/digit.h, tools/atspi-rssi/digit.c: draw 7 segment style
  digits
- tools/atspi-rssi/zgrid.h, tools/atspi-rssi/zgrid.c: display a surface in
  faux 3D with SDL/SDL_gfx
- tools/tools/atspi-rssi/gui.h, tools/atspi-rssi/gui.c: display RSSI scans
  as a scrolling 3D profile
2010-11-08 20:31:38 -03:00
Werner Almesberger
a7a94b85cd Use getopt in atspi-rssi.c
- atspi-rssi/atspi-rssi.c (main): use getopt
- atspi-rssi/atspi-rssi.c (usage, main): introduce option -n to select
  number-of-sweeps mode (default)
2010-11-08 16:22:39 -03:00
Werner Almesberger
b493f09363 Great renaming: atrf/wpan-atrf* becomes atusb/atusb*
- atrf/: rename to atusb/
- atrf/wpan-atrf.pro, atrf/wpan-atrf.sch, atrf/wpan-atrf.brd,
  atrf/wpan-atrf.cmp: rename to atusb.*
- atrf/Makefile: change ben-wpan to atusb
- atrf/atusb.pro (LastNetListRead): update for name change
- tools/Makefile.common (CFLAGS): change fw/ include location from atrf/
  to atusb/
2010-10-25 00:10:00 -03:00
Werner Almesberger
c99ba2c769 atspi-txrx can now send repeatedly, cleans up on ^C, prints the power level.
if it differs by more than 0.01 dBm from the level specified
- tools/atspi-txrx/Makefile (LDLIBS): added -lm, for fabs()
- tools/atspi-txrx/atspi-txrx.c (transmit, usage, main): add optional
  command-line argument with the number of times to send the message
- tools/atspi-txrx/atspi-txrx.c (receive, transmit, die, main): return and
  clean up on ^C
- tools/tools/lib/misctxrx.c (wait_for_interrupt) return and raise SIGINT
  for the caller's signal handler on ^C
2010-09-14 17:12:03 -03:00
Werner Almesberger
b6a80ba3dd Added interrupt polling support for atusb.
- atrf/fw/include/atspi/ep0.h enum atspi_requests), atrf/fw/atspi/ep0.c
  (my_setup): new command ATSPI_POLL_INT to poll IRQ_RF
- atrf/fw/atspi/ep0.c (my_setup): ATSPI_BUILD sent one byte too many
- tools/lib/atusb.c (atusd_interrupt, atusb_driver): implemented interrupt
  polling
- tools/lib/atusd.c: added section title for the RF interrupt function
2010-09-09 20:22:45 -03:00
Werner Almesberger
4df6d2c2f9 atspi-rssi cleanup: wait for interrupt, exit cleanly.
- tools/atspi-rssi/atspi-rssi.c: removed unnecessary inclusion of
  atspi/ep0.h
- tools/atspi-rssi/atspi-rssi.c (sweep): instead of fixed delay, wait for
  the PLL lock interrupt
- tools/atspi-rssi/atspi-rssi.c (die, main): catch SIGINT to exit cleanly
- tools/atspi-rssi/atspi-rssi.c (main): shut down properly when done
- tools/atspi-rssi/atspi-rssi.c (usage): print "usage:" before the program's
  name
2010-09-09 17:56:04 -03:00
Werner Almesberger
2a245e1ee3 Make wait_for_interrupt available to all atspi tools.
- tools/atspi-txrx/atspi-txrx.c: cleaned up includes - we need stdint.h but
  we don't need atspi/ep0.h
- tools/atspi-txrx/atspi-txrx.c (wait_for_interrupt),
  tools/include/misctxrx.h (wait_for_interrupt), tools/lib/Makefile (OBJS),
  tools/lib/misctxrx.c (wait_for_interrupt): moved wait_for_interrupt from
  atspi-txrx to the atspi library, so that we can share it
2010-09-09 17:42:47 -03:00