- 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
- 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
- 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
- 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
- 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
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".
- 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
- 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
- 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
- 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
- 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
- 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"
- 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
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.
- 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
- 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
- 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
- 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
- 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
- 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
- tools/atrf-*/atspi-*.c: renamed to atrf-*.c
- tools/atrf-*/Makefile (MAIN): updated name of program
- tools/atrf-*/*.c: updated path in title comment
- 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
- 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
- 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
- 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
- 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
- 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