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

75 Commits

Author SHA1 Message Date
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
9552b9f4af tools/Makefile.common: offer LDLIBS_$(TARGET) twice (hack - needs more study) 2011-03-03 23:17:32 -03:00
Werner Almesberger
1d6fbcbd21 atrf-id.c (show_usb_info): pretty-print the MCU type for ATUSB boards 2011-02-10 23:43:36 -03:00
Werner Almesberger
19926ae32f tools/lib/Makefile (clean): didn't remove Ben-specific object files
- tools/lib/Makefile (clean): $(OBJS_ben) is now $(OBJS_ben_jlime) and
  $(OBJS_ben_openwrt)
2011-02-10 23:21:31 -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
e73ca5fcd5 tools/lib: cache chip ID in the descriptor
- atrf.c (struct atrf_dsc): added field "chip_id" to cache chip ID
- atrf.c (identify, atrf_identify): moved identification logic to new
  function
- atrf.c (atrf_open, atrf_identify): cache chip ID when opening the
  device and return ID from cache
2011-02-10 21:15:05 -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
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