1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-27 04:24:06 +02:00
Commit Graph

737 Commits

Author SHA1 Message Date
Werner Almesberger
df071c3398 New ECN about clock circuit of atusd boards. Measured (absence of) effect of
adding an inductor to the clock line.

- ecn/INDEX, ecn/ecn0005.txt: new ECN discussing the switch to a
  capacitative clock voltage divider. With frequency measurements.
- atusd/tests/send-20100910: measurement of transceiver performance when
  placing an inductor in the 16 MHz clock line.
2010-09-10 00:06:33 -03:00
Werner Almesberger
d3bc274dab Moved the ECNs from atrf/ecn to the top-level. 2010-09-09 20:56:58 -03:00
Werner Almesberger
b32827dc7e Oops. The atusb boards are of course 20100813. 20100902 was the first
(failed) attempt to make an atusd board.
2010-09-09 20:43:45 -03:00
Werner Almesberger
0a0a50d73d Performance comparison of atusb vs. atusd.
- atusd/tests/send-20100909: conducted performance comparison of atusb vs.
  atusd
- atusd/ERRATA: changed also first board to capacitative divider
2010-09-09 20:38:50 -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
Werner Almesberger
be624169a9 tools/Makefile.common: added quiet compilation 2010-09-09 17:33:38 -03:00
Werner Almesberger
9162689d3e Cleaned up interrupt handling in atspi-txrx. Report ED. Shut down at end.
- tools/atspi-txrx/atspi-txrx.c (receive, wait_for_interrupt): moved wait
  for interrupt logic to separate function and made it more versatile
- tools/atspi-txrx/atspi-txrx.c (init_txrx, receive): clear interrupts in
  init_txrx now, so that also transmit has a clear interrupt register
- tools/atspi-txrx/atspi-txrx.c (set_channel): since we're in TRX_OFF,
  don't wait for PLL lock
- tools/atspi-txrx/atspi-txrx.c (receive): wait for PLL lock interrupt
  after activating receiver
- tools/atspi-txrx/atspi-txrx.c (transmit): wait for PLL lock interrupt
  after activating the PLL
- tools/atspi-txrx/atspi-txrx.c (transmit): wait for TRX_END interrupt
  after sending a frame
- tools/atspi-txrx/atspi-txrx.c (receive): report the Energy Density (ED)
  after receiving a frame
- tools/atspi-txrx/atspi-txrx.c (main): shut down the board with
  atspi_close, so that we can hot-swap safely
2010-09-09 17:23:47 -03:00
Werner Almesberger
6e726d1fb9 Improved clock stability by using a capacitative divider and found more minor
issues.

- atusd/ERRATA: work around the clock instability by replacing the
  resistive divider with a capacitative divider
- atusd/ERRATA: a ground plane under the clock circuit would also be good to
  have
- atusd/ERRATA: via near pin 1 is too close to the chip if we need to cut
  wires (in DIY boards)
- atusd/sim/cdiv.sch: simulation of the capacitative divider
2010-09-09 12:35:47 -03:00
Werner Almesberger
93f0f403a7 New atusd errata and a few small CAM updates.
- atusd/ERRATA: added errata section for version 20100908
- atusd/cam/doit: increase tool clearance from 1.5 mm to 2 mm
- atusd/cam/pcb.pl (cut): cutting counter-clockwise did not reduce burr.
  Removed reversal of cutting direction.
- atusd/cam/pcb.pl: made area selection formulas easier to understand
2010-09-09 09:23:18 -03:00
Werner Almesberger
18eec557d0 Updated atusd driver for new hardware. Make use of the interrupt line.
- tools/lib/atusd.c (spi_send_partial, spi_send): removed the old spi_send
  and renamed spi_send_partial to spi_send
- tools/lib/atusd.c (atusd_cycle, spi_send, spi_recv, atusd_open): updated
  for removal of SLP_TR and split of MxSx into MOSI and MISO
- tools/lib/atusd.c (atusd_reset_rf, atusd_open): added delays to precharge
  the capacitors
- tools/lib/atusd.c (atusd_reset, spi_data_in, spi_data_out, spi_finish):
  removed functions for obsolete hardware features
- tools/lib/atusd.c (atusd_reg_read): removed calls to removed functions
- tools/lib/atusd.c (atusd_buf_write, atusd_buf_read, atusd_driver): new
  buffer read/write functions
- tools/atspi-txrx/atspi-txrx.c (init_txrx): set the internal osciallator
  trim only in the USB version. Switch to the external oscillator in the
  uSD version.
- tools/atspi-rssi/atspi-rssi.c (sweep), tools/atspi-txrx/atspi-txrx.c
  (set_channel): wait for the PLL to settle after setting the channel
- tools/include/atspi.h, tools/lib/atspi.c (atspi_interrupt),
  tools/lib/driver.h (struct atspi_driver), tools/lib/atusd.c
  (atusd_interrupt): new function to poll the interrupt line
- tools/atspi-txrx/atspi-txrx.c (receive): only read REG_IRQ_STATUS if
  there is a pending interrupt
- tools/atspi-id/atspi-id.c (usage): print "usage:" as well
- tools/Makefile (upload): upload the atspi tools to the Ben
2010-09-09 09:19:06 -03:00
Werner Almesberger
284b557434 atusd/atusd.brd: bumped the version to 100908 2010-09-08 22:54:44 -03:00
Werner Almesberger
3533e0463c Found out that we can't share MISO and MOSI after all. Redesigned the atusd
board.

- atusd/atusd.sch, atusd/atusd.brd: separate MISO and MOSI and free the
  extra signal we need by no longer connecting SLP_TR to the host
- atusd/atusd.sch, atusd/atusd.cmp, atusd/atusd.brd: removed reset circuit
  Power-on reset seems to be sufficient.
- atusd/atusd.brd: improved AVDD ground plane
- cam/pcb.pl (rot): cut counter-clockwise to reduce burr
- cam/pcb.pl: advanced origin for 2nd run
2010-09-08 17:36:47 -03:00
Werner Almesberger
002941d986 Moved schhist2web and friends over to project eda-tools. 2010-09-07 17:03:45 -03:00
Werner Almesberger
b25cbd8120 Fix board initialization in uSD driver. atspi-id now works.
- tools/lib/atusd.c (atusd_cycle): we never turned power back on ?
- tools/atspi-id/atspi-id.c (main): call atspi_close on exit
- tools/lib/atusd.c (atusd_cycle, wait_for_power): moved power on delay to
  separate function
- tools/lib/atusd.c (atusd_open): wait for power to stabilize
- tools/lib/atusd.c (atusd_open): need to reset the board to bring it
  up properly
2010-09-05 21:18:56 -03:00
Werner Almesberger
406517baa2 - tools/lib/atusd.c (atusd_cycle): we never turned power back on ?
- tools/lib/atusd.c (atusd_open): need to power cycle the board to bring it
  up properly
2010-09-05 20:59:02 -03:00
Werner Almesberger
bb65155eab Further cleanup to make the tools build for the "ben" target.
- tools/Makefile.common: set CC to the target-specific compiler
- tools/atspi-id/atspi-id.c: exclude everything USB if HAVE_USB is not set
- tools/atspi-id/atspi-id.c (atspi_usb_handle): rearrange to use a "struct
  atspi_dsc *" argument, so that we don't expose an USB dependency
- tools/lib/Makefile: $(F32XBASE)/lib/usb.o is target-specific. Moved it
  from OBJS to OBJS_host.
- tools/lib/Makefile (clean): remove objects of all targets
2010-09-05 20:51:07 -03:00
Werner Almesberger
f20d685f8e Merged uSD driver into unified tool build, completed conversion of tools.
- atusd/tools/lib/atusd.c: moved to tools/lib/
- atusd/tools/lib/atusd.h: removed, we can now use tools/include/atspi.h
- tools/lib/atusd.c: added copyright header
- tools/lib/atusd.c: updated for driver API
- tools/lib/Makefile: added atusd.o
- tools/Makefile.common: moved common elements from all other makefiles in
  tools/*/ here
- tools/Makefile.common: added target-specific compiler and flags
- tools/atspi-id/Makefile, tools/atspi-reset/Makefile,
  tools/atspi-rssi/Makefile, tools/atspi-trim/Makefile,
  tools/atspi-txrx/Makefile, tools/lib/Makefile: used Makefile.common
- tools/lib/Makefile: differentiate USB and uSD build
- tools/atspi-id/atspi-id.c, tools/atspi-reset/atspi-reset.c,
  tools/atspi-rssi/atspi-rssi.c, tools/atspi-trim/atspi-trim.c,
  tools/atspi-txr/atspi-txr.c: updated for driver-agnostic API
- tools/atspi-id/atspi-id.c, tools/atspi-reset/atspi-reset.c,
  tools/atspi-rssi/atspi-rssi.c, tools/atspi-trim/atspi-trim.c,
  tools/atspi-txr/atspi-txr.c: corrected AF86RF230 typo in title
- tools/include/atspi.h, tools/lib/atspi.c, tools/lib/driver.c,
  tools/lib/atusb.c: brought back support for atspi_error and
  atspi_clear_error
- tools/atspi-id/atspi-id.c (atspi_get_protocol): renamed to get_protocol,
  to make it clear that it's not from libatspi
- tools/atspi-id/atspi-id.c (atspi_get_build): renamed to get_build, to
  make it clear that it's not from libatspi
- tools/include/atspi.h, tools/lib/atspi.c (atspi_usb_handle): new function
  to obtain a driver's USB device handle (or NULL if the driver doesn't use
  USB)
2010-09-05 20:32:58 -03:00
Werner Almesberger
e2b2df2e31 Made the libatspi API driver-agnostic.
- tools/include/atspi.h: API is now driver-independent
- tools/lib/driver.h: API between driver and frontend
- tools/lib/atspi.c: renamed to atusb.c and updated for driver API
- tools/lib/atspi.c: frontend functions for the driver API
- tools/lib/Makefile: added atusb.o
2010-09-05 19:06:48 -03:00
Werner Almesberger
36e73c4abb Moved tools/ out of atrf, in preparation of merge with atusd.
- atrf/tools/: moved to tools/
- tools/Makefile: updated path to Makefile.recurse
- tools/atspi-id/Makefile, tools/atspi-reset/Makefile,
  tools/atspi-rssi/Makefile, tools/atspi-trim/Makefile,
  tools/atspi-txrx/Makefile, tools/lib/Makefile: updated paths to f32xbase
  and to atrf/fw/include
2010-09-05 17:37:35 -03:00
Werner Almesberger
9ad96bd5f9 Board bringup: talk to the chip and read IDs.
- atusd/ERRATA: mention that the reset circuit can go, as expected
- atusd/tools/Makefile: add include path to at86rf230.h
- atusd/tools/lib/atusd.c: include atusd.h, for consistency checking
- atusd/tools/lib/atusd.c (spi_begin, spi_end, spi_data_in, spi_data_out,
  spi_send_partial, spi_recv, spi_finish, spi_send): low-level functions
  to access our modified SPI
- atusd/tools/lib/atusd.h, atusd/tools/lib/atusd.c (atusd_reg_write,
  atusd_reg_read): register read and write access
- atusd/tools/try.c: read and print chip IDs
2010-09-05 16:59:59 -03:00
Werner Almesberger
a18d5969bd Next part of board bringup: reset and power cycling.
- atusd/ERRATA: one more problem: the transistor footprint is wrong
- atusd/tools/lib/atusd.c (atusd_cycle, atusd_reset): added power cycling and
  hardware reset
- atusd/tools/lib/atusd.h: be nice and make a header file
- atusd/tools/try.c: be nice and use header files (caught a bug as well)
2010-09-05 14:07:01 -03:00
Werner Almesberger
86e556ce92 First part of the board bringup: power and clock.
- atusd/ERRATA: variations of the circuit being debugged from the design
- tools/Makefile, tools/try.c, tools/lib/atusd.c: user-space tool to enable
  the board and (in the future) establish communication
- atusd/sim/clk.sch: simulation of CLK attenuation circuit with capacitative
  load from scope probe
2010-09-04 23:14:57 -03:00
Werner Almesberger
fc0acf1787 Assorted small layout improvements.
- atusd/atusd.brd: tightened routing of nSS and XTAL1 net to improve ground
  place coverage
- modules/0805-6.fpd: widened pads for easier manual soldering (note: this
  is still ad hocery)
- atusd/atusd.brd: use thinner track to connect feed line to comply with
  DRC
- atusd/atusd.brd: version is now 100903
2010-09-03 08:02:07 -03:00
Werner Almesberger
eb6f066bbd atusd/cam/: CAM data for cutting the PCB. 2010-09-02 23:50:45 -03:00
Werner Almesberger
dd999ebba3 atusd/: first try at a uSD-based board. Improved RF design. 2010-09-02 23:02:46 -03:00
Werner Almesberger
7c1383d43e Added components (transistor and balun) for the uSD variant.
- atusd/Makefile:
- AUTHORS, atusd/Makefile, atusd/dtc123.lib, atusd/dtc123je.fpd: borrowed
  the DTC123 symbol (Alvaro Lopes) and footprint (Dave Ball) from
  gta02-core. Note that this isn't the part I'm using in my prototype, and
  I'm trying to get rid of it entirely, so all this will change before too
  long.
- components/BOOKSHELF, components/INFO, components/balun.lib,
  modules/Makefile, modules/INFO, modules/0805-6.fpd: added the Wuerth
  748421245 balun

makefile
2010-09-02 18:15:28 -03:00
Werner Almesberger
541dd04a77 Debugged and cleaned up schps2pdf.
- scripts/schps2pdf: don't need to export i (reported by Wolfgang Spraul)
- scripts/schps2pdf: removed dysfunctional (and incorrect, if it had
  worked) second increment of i
- scripts/schps2pdf: simplified quoting of the -sOutputFile argument
- scripts/schps2pdf: \$$i needs curly braces to work for more than nine
  files
2010-08-31 03:04:46 -03:00
Werner Almesberger
80c6f3e75f Fix two bugs left from the great reorganization.
- Makefile (UPLOAD): updated for new directory structure
- scripts/schhist2web: unchanged Postscript files were not replaced with
  symlinks because the symlink paths were wrong
2010-08-31 01:46:18 -03:00
Werner Almesberger
a3aac7e80b Reorganized cache and output directory structure. Some code cleanup.
- scripts/schhist2web: changed cache and output directory structure from
  $dir/$type_$commit/$file to $dir/$commit/$type/$file
- scripts/schhist2web: renamed directory types as follows: "ppm" to "ppm1",
  "fat" to "ppm2", and "hard" to "ppm0"
- scripts/schhist2web: replaced `basename $x` with ${x##*/} wherever this
  makes sense
- scripts/schhist2web: use {a,b,...} where is makes things clearer
- scripts/schhist2web: changed ... \\n || exit to ... ||\n exit
- scripts/schhist2web: symlinking of unchanged files was only done for
  "ppm" (now "ppm1") and "fat" (now "ppm2"), not for "ppm2" and "ps"
- scripts/schhist2web: composition of path names in the output generator is
  now more systematic and avoids ad hoc compositions
- scripts/schhist2web: mkdir -p "$out/pdf_$next" at the beginning, not each
  time we write a PDF
2010-08-30 23:19:12 -03:00
Werner Almesberger
6260614015 Reduce the number of I/O redirections.
- scripts/schhist2web: instead of having many >>"$index", just put one at
  the enclosing construct
2010-08-30 21:05:25 -03:00
Werner Almesberger
20184edd25 Files in the first commit didn't have an HTML wrapper with PDF link.
- scripts/schhist2web: moved generation of a HTML-wrapped PNG with link to
  PDF to new function wrapped_png
- scripts/schhist2web: generate a PDF with link also for files in the very
  first commit
2010-08-30 20:56:41 -03:00
Werner Almesberger
a0cdb1e365 Fixed some smaller bugs and slightly improved formatting of commit entries.
- scripts/schhist2web: when starting, remove html_* and pdf_*
- scripts/schps2pdf: corrected quoting of sheet title derived from file
  name (produced many error messages and caused garbled titles in the
  overall schematics)
- scripts/schhist2web: indent date in commit entry such that it's flush
  with the author
2010-08-30 20:16:34 -03:00
Werner Almesberger
78f6cfbfda Attempt at avoiding the false changes seen on Xue. Seems that alpha-blending
produces minute differences where there should be none.

- scripts/ppmdiff/ppmdiff.c (diff): instead of looking for all or noting
  changes, also detect gradual changes
- scripts/ppmdiff/ppmdiff.c (diff, main): don't mark areas with differences
  in the main images if using shadow images
- scripts/schps2ppm: new option to disable alpha blending
- scripts/schhist2web: cache pixmaps with default line thickness and no
  alpha blending in hard_*
- scripts/schhist2web: base marking of areas with differences exclusively
  on the hard_* pixmaps
2010-08-30 15:11:43 -03:00
Werner Almesberger
66cf6a296e We now generate and link delta PDFs with the state(s) of the sheet.
- scripts/schhist2web: keep latest version of a sheet's PDF in pdf_head
  instead of pdf_$head, so that we don't overwrite it later with a delta
- scripts/schhist2web: for each change, write an HTML file which loads
  the image and links to a delta PDF
- scripts/schps2pdf: new option -T to specify page titles
- scripts/Makefile (UPLOAD): also upload html_*
2010-08-30 06:05:57 -03:00
Werner Almesberger
6bef1d9458 Commit entries now show date date, not the hash.
- scripts/schps2pdf: changed commit entry format from commit hash and author
  to author and date
- scripts/schps2pdf: reordered sanitizing of commit entry to avoid having
  to special-case the link
2010-08-30 04:46:19 -03:00
Werner Almesberger
ab89a00f5c Generate a PDF with the all the current sheets.
- scripts/schhist2web: don't generate PDF for sheets that no longer exist
  at HEAD
- scripts/schhist2web: generate a PDF containing all sheets existing at
  HEAD
- scripts/schps2pdf: prefix was set to the wrong argument
- scripts/schps2pdf: removed left-over (and functionless) cat into gs
- scripts/schps2pdf: corrected quoting of the TOC entry
2010-08-30 04:13:20 -03:00
Werner Almesberger
337f13a0df Sheet names now link to the sheet's PDF.
- scripts/normalizeschps: by default, don't change the linewidth
- scripts/schhist2web: cache historical Postscript files in directories
  ps_*
- scripts/schps2pdf: new script to convert eeschema Postscript to PDF
- scripts/schhist2web: link the file name in the title to the curent
  PDF of the respective sheet
- scripts/Makefile: changed lazy wildcard thum* to thumb_* and diff* to
  diff_*
- scripts/Makefile: upload also pdf_*
2010-08-30 03:14:07 -03:00
Werner Almesberger
800577353e Merged the functionality of gitsch2ppm into schhist2web.
- scripts/normalizeschps: don't edit in place and thus become capable of
  running in a pipe
- scripts/schps2ppm: considered - to be an option and thus didn't accept
  it as input file name
- scripts/schhist2web: open-coded functionality of "gitsch2ppm"
- scripts/gitsch2ppm: removed
2010-08-30 02:53:41 -03:00
Werner Almesberger
b3f2014863 Split gitsch2ppm into its constituents.
- scripts/gitsch2ps: generate PS files for KiCad schematics in git
- scripts/normalizeschps: normalize eeschema Postscript
- scripts/schps2ppm: generate PPM files from normalized Eeschema Postscript
- scripts/gitsch2ppm: wrapper and cache manager for the above scripts
2010-08-30 01:53:59 -03:00
Werner Almesberger
a61e9da4d9 Removed the CC2520 from AUTHORS as well. 2010-08-29 23:21:28 -03:00
Werner Almesberger
7fbcfaa337 U-turn: The US restrict export of the CC2520. Atmel scores a design win. 2010-08-29 23:19:50 -03:00
Werner Almesberger
e4b7574af7 Put main components for the CC2520-based design on the schematics. 2010-08-29 23:18:24 -03:00
Werner Almesberger
dce1c10d3f Copied WPAN-ARTF design files over for WPAN-CCRF. 2010-08-29 23:18:24 -03:00
Werner Almesberger
a1c5386236 Schematics sheets are now scaled and shifted (may still need some tuning)
- scripts/gitsch2ppm (ps2ppm): shift A4 sheets northwest
- scripts/gitsch2ppm (ps2ppm): shift and scale A3 and A2 sheets
- scripts/gitsch2ppm (ps2ppm): remove "%%Orientation: Landscape" (for later
  development)
2010-08-29 15:08:03 -03:00
Werner Almesberger
081aed3a12 scripts/: minor Makefile cleanup.
- scripts/Makefile: moved redundant parts of rsync commands into variables
  shared among targets
2010-08-29 14:38:20 -03:00
Werner Almesberger
cfbdd45323 Despite trying to be careful with quoting, some spaces in file names still
did upset things.

- scripts/schhist2web: backticks in command invocation need quoting
- scripts/schhist2web: the change below needs a bashism, so we switch from
  /bin/sh to /bin/bash
- scripts/schhist2web: seems that there's no safe way to use ls -1 in the
  word list of "for". Use while read ...; ... done < <(ls -1) instead.
  (We couldn't just pipe this into the while loop, because that would put
  the loop into a subshell and changes to global variables would thus be
  lost.)
2010-08-29 03:41:54 -03:00
Werner Almesberger
02e2bf542f Optimize cache usage by symlinking identical PPMs.
- scripts/schhist2web (symlink): ln -sf two files. If the old file is a
  symlink, link to its target instead of creating a chain of symlinks.
- scripts/schhist2web: if PPMs of the same file are identical in successive
  commits, replace the new one with a symlink to the old one
2010-08-29 03:00:24 -03:00
Werner Almesberger
56a95040ca Generate commit entry and show diffs also for the first commit. Plus cleanup.
- scripts/Makefile: added targets for ben-wpan/cntr
- scripts/schhist2web: removed stray and redundant mkdir of output
  directories
- scripts/schhist2web: added section titles
- scripts/schhist2web: <TR> tag was issued twice per commit
- scripts/schhist2web (commit_entry): moved commit entry generation to a
  separate function
- scripts/schhist2web (commit_entry): replaced "git log $next~1..$next"
  with more robust "git show --quiet $next"
- scripts/schhist2web: generate file creation entries for all files in the
  first commit
2010-08-29 01:44:25 -03:00