1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-12-29 21:36:46 +02:00
Commit Graph

32 Commits

Author SHA1 Message Date
Werner Almesberger
b4a6e8ef46 tools/: major overhaul of wait_for_interrupt; uses atrf_interrupt_wait now
- include/misctxrx.h (wait_for_interrupt), lib/misctxrx.c
  (wait_for_interrupt): replaced sleep_us*timeout limiting mechanism
  with a single timeout value in milliseconds
- lib/misctxrx.c (wait_for_interrupt): use atrf_interrupt_wait instead
  of polling
- lib/misctxrx.c (wait_for_interrupt): cleaned up control flow
- lib/misctxrx.c (run, die, wait_for_interrupt): renamed variable "run"
  to more specific "sigint"
- atrf-txrx/atrf-txrx.c (ping_rx, ping): pass timeout in milliseconds,
  not deciseconds
- atrf-rssi/atrf-rssi.c (sweep), atrf-rssi/gui.c (sweep),
  atrf-txrx/atrf-txrx.c (init_txrx, receive_message, receive_pcap,
  receive, transmit, transmit_pattern, ping_tx, ping_rx),
  atrf-xmit/atrf-xmit.c (init_tx, init_rx, xfer_one),
  lib/cwtest.c (enter_test_mode_230, start_test_mode_231):
  updated use of wait_for_interrupt
2011-06-20 20:08:42 -03:00
Werner Almesberger
b0dd5ced20 tools/: updated tools to use flush_interrupts
- atrf-txrx/atrf-txrx.c (init_txrx), atrf-xmit/atrf-xmit.c
  (init_common): instead of reading REG_IRQ_STATUS, use
  flush_interrupts to flush interrupts
2011-06-20 17:27:19 -03:00
Werner Almesberger
16b095ca08 atrf-txrx.c (receive_message, receive_pcap): also ignore IRQ_AMI
The "raw" patterns can accidently trigger an address match, particularly
in BER test mode.
2011-04-19 06:59:19 -03:00
Werner Almesberger
5e196552c5 atrf-txrx.c (main): option parsing in PER test mode segfaulted 2011-04-19 04:51:18 -03:00
Werner Almesberger
8934c062a9 tools/: moved function to set transmit power from atrf-txrx to libatrf
- atrf-txrx/atrf-txrx.c (tx_pwr_230, tx_pwr_231, set_power): moved to
  lib/misctxrx.c
- include/misctxrx.h, lib/misctxr.c (set_power_step, set_power_dBm):
  separated dBm to index conversion from the actual operation
- atrf-txrx/atrf-txrx.c (main): use new set_power_dBm instead of old
  set_power
2011-04-12 16:37:05 -03:00
Werner Almesberger
4b07e5c894 tools/: moved constant wave test mode code to libatrf (for sharing)
- lib/Makefile (OBJS), include/cwtest.h (cw_test_begin, cw_test_end),
  lib/cwtest.c (enter_test_mode_230, enter_test_mode_231,
  cw_test_begin, cw_test_end): moved constant wave test mode setup
  over from atrf-txrx.c
- atrf-txrx/atrf-txrx.c (transmit_pattern): use functions from cwtest.o
2011-04-10 10:24:24 -03:00
Werner Almesberger
7ff1a32ccf tools/: added option -d driver[:arg] to all tools
- atrf-id/atrf-id.c (main), atrf-reset/atrf-reset.c (main),
  atrf-trim/atrf-trim.c (main): changed command-line parsing to use
  "getopt"
- atrf-id/atrf-id.c (usage, main), atrf-reset/atrf-reset.c (usage, main),
  atrf-rssi/atrf-rssi.c (usage, main), atrf-trim/atrf-trim.c (usage,
  main), atrf-txrx/atrf-txrx.c (init_txrx, usage, main),
  atrf-xtal/atrf-xtal.c (usage, main): added option -d to select a driver
2011-04-10 07:28:27 -03:00
Werner Almesberger
5296fc8cf5 tools/: API change - atrf_open now requires a string argument (can be NULL)
atrf_open(NULL) maintains the old behaviour. To select a driver, use
atrf_open("name") or atrf_open("name:driver-specific-arguments")
The driver name is "ben" or "usb".

- include/atrf.h (atrf_open), lib/atrf.c (do_atrf_open, atrf_open):
  atrf_open now requires the string argument for driver selection
- atrf-id/atrf-id.c (main), atrf-reset/atrf-reset.c (main),
  atrf-rssi/atrf-rssi.c (main), atrf-trim/atrf-trim.c (main),
  atrf-txrx/atrf-txrx.c (main), atrf-xtal/atrf-xtal.c (main):
  changed atrf_open() to atrf_open(NULL)
2011-04-09 21:13:11 -03:00
Werner Almesberger
da8962344c tools/atrf-txrx (DEFAULT_TRIM, usage, main): changed default trim from 0 to 8
As explained in ECN0002, atben and atusb are designed for the trim to
be set to the mid-range value. This just wasn't implemented so far.
2011-03-03 23:18:43 -03:00
Werner Almesberger
b0c15b7e7c tools: give the driver control over CLKM (for ATmega32U2 boards)
- include/atrf.h (atrf_set_clkm), lib/atrf.c (atrf_set_clkm): set or
  disable CLKM
- lib/driver.h (atrf_set_clkm_generic), lib/atrf.c (atrf_set_clkm_generic):
  generic function to set CLKM without restrictions
- lib/driver.h (struct atrf_driver): added driver operation "set_clkm"
  to set CLKM
- lib/atusb.c (atusb_set_clkm, atusb_driver): restrict CLKM on ATmega32U2
  boards
- atrf-txrx/atrf-txrx.c (init_txrx): use atrf_set_clkm to set CLKM
- atrf-txrx/atrf-txrx.c (init_txrx, main): pass CLKM frequency in MHz
  instead of code point
2011-02-10 23:11:34 -03:00
Werner Almesberger
705864d076 atrf-txrx: new option -r to select data rate
- atrf-txrx.c (set_rate, main): allow setting a non-standard high data
  rate on the AT86RF231
- atrf-txrx.c (usage, main): added option -r to select the data rate
2011-01-20 19:42:52 -03:00
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
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
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
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
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
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
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
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