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

434 Commits

Author SHA1 Message Date
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
Werner Almesberger
3ca646cd57 Minor code cleanup and robustness improvement.
- scripts/gitsch2ppm, scripts/schhist2web: replace awkward and cryptic
  `dirname "$x"`/`basename "$x" .old`.new
  construct with much more friendly "${x%.old}.new"
- scripts/gitenealogy: put -- before path names in git-log, to prevent
  parsing ambiguities
2010-08-28 23:12:27 -03:00
Werner Almesberger
b3728b5c54 fpd2pdf: ignore fped backup files (and option -a to still use them)
- scripts/fpd2pdf: ignore files whose name contains a tilde
- scripts/fpd2pdf: option -a to also use files whose name contains a tilde
2010-08-28 22:58:04 -03:00
Werner Almesberger
9e91233c56 scripts/fpd2pdf: Print a set of Fped files into a PDF 2010-08-27 23:29:13 -03:00