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

723 Commits

Author SHA1 Message Date
Werner Almesberger
640195e6b1 atben.brd: increased board size by 0.1 mm on each side and relaxed layout 2011-02-18 11:24:13 -03:00
Werner Almesberger
c3ac7d9cb8 atusb/fw3/README: build instructions for firmware and prerequisites 2011-02-18 09:53:48 -03:00
Werner Almesberger
f7f8eb28ba atben.brd: layout cleanup; removed de facto contacts between ground zones
- atben.brd: increased separation between VDD and SLP_TR via in upper left
  corner
- atben.brd: rearranged ground zone around above vias
- atben.brd: separated ground zones for RF and analog power
- atben.brd: made antenna ground wrap around contact
2011-02-16 21:27:35 -03:00
Werner Almesberger
c75274fdc4 atben: rotated the CPU for much tighter layout; removed C9
- atben.sch: removed C9 (only exists in Jonhanson's reference design;
  neither Atmel not Wuerth have it; in experiments, no effect was
  observed)
- atben.brd: rotated the transceiver by 90 degrees and redid layout
- atben.brd: aligned 8:10 card shape and antenna to metric (0.1 mm) grid
  and adjusted outline accordingly
- atben.sch, atben.brd: version is now 20110215
2011-02-15 19:06:08 -03:00
Werner Almesberger
110619622c atusb-pgm/cam/Makefile: use mkmk-simple 2011-02-15 03:46:38 -03:00
Werner Almesberger
68b2627d4b bom: added the ATmega32U2
- atrf.equ: alias ATMEL ATMEGA32U2 to ATMEL ATMEGA32U2-MU
- dk/digi-key.equ: alias DIGI-KEY ATMEGA32U2-MU-ND to ATMEL ATMEGA32U2-MU
2011-02-14 23:47:09 -03:00
Werner Almesberger
81818ca61a atusb.brd: moved some component refernces to improve visual appearance 2011-02-14 23:32:10 -03:00
Werner Almesberger
3bdc2da53c atusb/fw2/usb/: clean up comments left over from C8051F326
- usb.c, atu2.c: removed reference to C8051F326 reference stack
- usb.c, atu2.c: updated list of known issues
2011-02-14 12:54:29 -03:00
Werner Almesberger
10fb0146c3 fw3/: remove probably useless RF debug output code from board.c
- board.h, board.c: removed rf_init, rf_send, and "wr"
2011-02-14 12:49:44 -03:00
Werner Almesberger
f9f0d16f6e atusb/fw3/: added copyright headers and title comments 2011-02-14 12:48:42 -03:00
Werner Almesberger
96f0f2cfc9 atusb/fw2: removed FreakUSB-based firmware 2011-02-14 12:06:04 -03:00
Werner Almesberger
983d330294 atusb/fw3: split USB driver into chip-specifc and general part
- usb/usb.c: moved chip-specific functions to usb/atu2.c
- Makefile (USB_OBJS): added usb/atu2.c
- usb/usb.h, usb/usb.c, ep0.c: made argument to my_setup and user_setup
  "const"
- usb/ubs.h (handle_setup): call from chip driver to generic stack
- usb/ubs.h (set_addr): call from generic stack to chip driver
2011-02-14 12:01:11 -03:00
Werner Almesberger
908e04c309 atusb/fw3: added proper versioning
- Makefile (atusb.elf): generate a new version iff generating a new
  executable
- Makefile (atusb.bin): print the build number and the file size
- Makefile (clean): remove the various constituend files of the version
- Makefile (version.c): generate version.c
- version.h: definitions for the generated version.c
- ep0.c (build_number, build_date): removed dummy version information
  and include version.h instead
2011-02-14 11:26:17 -03:00
Werner Almesberger
23f84bc8b0 atusb/fw3/: tighten compiler warnings
- Makefile (CFLAGS): tighten -Wno-unused to -Wno-unused-parameter
- usb/usb.c (handle_ep): removed unused variable "res"
2011-02-14 10:22:51 -03:00
Werner Almesberger
57b908d261 atusb/fw3: renamed usb2/ to usb/ in move away from FreakUSB
- usb2/: renamed to usb/
- Makefile (FreakUSB): removed $(FreakUSB) and commented-out items for
  FreakUSB
- Makefile: changed vpath from usb2/ to usb/
- Makefile (CFLAGS): changed include from -Iusb2 to -Iusb
- Makefile (CFLAGS): don't define NUM_EPS (it's already in usb/usb.c)
2011-02-14 10:14:06 -03:00
Werner Almesberger
fa99266fc9 atusb.brd: update and silk screen cleanup
- atusb.brd: updated for schematics changes
- atusb.brd: rearranged component references and values for
  printing/display
- atusb.brd: bumped version to 20110214
2011-02-14 02:11:41 -03:00
Werner Almesberger
138a1beeff atusb: slightly adjusted some component values for easier sourcing
- usb.sch (R1): changed from 68 Ohm to 180 Ohm, to decrease BOM size
- atrf.sch (C17): changed from 1 pF to 2.2 pF (value is more common,
  and it can only help to reduce harmonics)
- atusb.sch, usb.sch, atrf.sch: bumped version to 20110214
- atusb.cmp: updated
2011-02-14 01:55:46 -03:00
Werner Almesberger
da6677b3d9 atusb/fw3/: adaptation of the f32xbase USB stack 2011-02-13 23:46:36 -03:00
Werner Almesberger
f4d299d22b atusb/fw3/an/: USB debugging scripts 2011-02-13 23:00:35 -03:00
Werner Almesberger
c1dc00ee44 fw2/Makefile: dependencies, verbosity control, cleanup
- Makefile (SHELL): require bash for PIPESTATUS used for dependencies
- Makefile: added copyright header
- Makefile: added section titles
- Makefile: added verbosity control
- Makefile: added automatic dependency generation
- Makefile (clean): also remove .d files
2011-02-11 09:42:21 -03:00
Werner Almesberger
075c379d21 fw2/Makefile: cleaned up FreakUSB object file location
The Makefile didn't see the FreakUSB object files at the expected place,
so it always rebuild them.

- Makefile (USB_OBJS): removed paths from object file names
- Makefile: added vpaths for the FreakUSB source file locations
- Makefile (atusb.elf, clean): we no longer need $(notdir ...) for the
  object files
2011-02-11 09:10:53 -03:00
Werner Almesberger
85612e5150 fw2/Makefile: use the ATmega32U2 configuration (experimental) of avrdude
- Makefile (prog): use $(CHIP) instead of $(CHIP_AVRDUDE)
- Makefile (CHIP_AVRDUDE): removed
2011-02-11 08:53:11 -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
f8fbb02bb0 atusb/fw2: further abstract board functions
- atusb.c (main), board.h (board_init), board.c (board_init): moved
  clock and I/O initialization to board file
- board.h (led), board.c (led), atusb.c (main): abstracted LED setting
  in function "led" instead of open-coding it
- spi.c (spi_init): set nSS to 1 before enabling the output, so that we
  don't generate what looks like an empty SPI transaction
2011-02-10 20:49:23 -03:00
Werner Almesberger
509542af73 atusb.brd: draw in bottom edge by 5 mil to prevent touching the connector 2011-02-10 14:40:56 -03:00
Werner Almesberger
69684413ad atusb.brd: small layout improvements, mainly for solderability
- atusb.brd: moved C14 and adjacent via 10 mil away from the transceive,
  for improved solderability
- atusb.brd: moved nRST_RF via and trace by 5 mil, for better access to
  the trace
- atusb.brd: reduced crystal front ground zone such that it does not
  creep under XTAL2 corner (where it might meet exposed metal)
2011-02-10 14:10:15 -03:00
Werner Almesberger
e8b68041a5 atusb/fw2: autonomously restore the clock output settings after an RF reset
- atusb.c (main), board.c (set_clkm): moved CLKM initialization to
  board.c
- board.c (reset_rf): initialize the CLKM after each transceiver reset
2011-02-10 10:05:38 -03:00
Werner Almesberger
3e9f9613cb atusb/fw2: added proper support for interrupt polling
- board.h (read_irq), board.c: return status of the RF IRQ
- board.h (PIN, PIN_1, PIN_2): macros to read port pins
- ep0.c (my_setup): make ATUSB_POLL_INT return the real interrupt
2011-02-10 07:42:34 -03:00
Werner Almesberger
dcfa689936 atusb/fw2/: assigned hardware revision code point; some cleanup
- fw/include/atusb/ep0.h (HW_TYPE_110131): defined hardware type 2 for
  ATmega32U2-based boards
- fw/ep0.c: define HW_TYPE as HW_TYPE_110131, not directly as 2
- fw2/atusb.c: include atusb/ep0.h instead of declaring ep0_init locally
2011-02-10 07:24:37 -03:00
Werner Almesberger
4f0af39d4d atusb/fw2/: move board-specific items to board-specific file
- io.h: renamed to board.h
- Makefile (OBJS): added board.o
- atusb.c (reset_rf): moved to board.c
- board.h (reset_rf): give reset_rf a proper declaration
- atusb.c, ep.c, spi.c: include board.h instead of io.h
2011-02-10 07:19:55 -03:00
Werner Almesberger
6969e7d689 atusb/fw2/ep0.c: make commands needed for sending work
- ep0.c (do_usb_recv, usb_recv): implemented creepy buffer reception
- ep0.c (my_setup): added dummy for ATUSB_POLL_INT (always return 0)
- ep0.c (my_setup): send a zero-length packet at the end of
  ATUSB_RF_RESET and ATUSB_REG_WRITE to indicate status stage
2011-02-10 07:01:28 -03:00
Werner Almesberger
dadc683d71 atusb/cam/mkmk: updated board parameters for latest run
This sort of data really ought to live somewhere locally ...
2011-02-10 06:50:22 -03:00
Werner Almesberger
ec21e4ba47 atusb/fw2: support device -> host side of the ATUSB EP0 protocol
- ep0.c: the ATUSB EP0 protocol engine
- Makefile (OBJS): added ep0.o
- atusb.c (main): initialize the EP0 protocol
- spi.h: whitespace cleanup

usb/patches/support-vendor-requests.patch:

- usb/ctrl.c (ctrl_handler): also pass vendor-specific requests to the
  class handler
- class/CDC/cdc.c (cdc_req_handler): reject vendor requests
2011-02-08 23:53:25 -03:00
Werner Almesberger
06f6174966 fw2/usb/patches/correct-array-size.patch: correct memset in ctrl_get_status
This caused lsusb -v to fail with
cannot read device status, Broken pipe (32)
2011-02-08 23:16:09 -03:00
Werner Almesberger
1c004ee2d2 atusb/fw2: moved board-specific functions (SPI, RF reset) out of main()
- Makefile (OBJS): added spi.o
- spi.h, spi.c, atusb.c: moved SPI functions to new file
- spi.h (spi), spi.c (spi), atusb.c (main): renamed function "spi" to
  "spi_io"
- atusb.c (reset_rf, main): moved transceiver reset to separate function
2011-02-08 21:32:24 -03:00
Werner Almesberger
259400fdb8 atusb/fw2: firmware for the AVR-based atusb (in progress)
- ./: basic framework to build a firmware that can enumerate
- usb/patches/: patches to make FreakUSB 0.7 compile cleanly and to make
  it work in our context
2011-02-08 19:32:15 -03:00
Werner Almesberger
bb2894f293 atben: straightened traces inside 8:10 card slot to reduce risk of shorts
- atben.brd: make traces inside 8:10 card slot go straight as long as
  possible, to avoid shorts with exposed contacts
- atben.brd: removed "IEEE 802.15.4" and "CC-BY-SA" from copper layer
- atben.brd: reduced date code to two-digit year
- atben.brd: bumped version to 20110207
2011-02-07 07:41:26 -03:00
Werner Almesberger
ecd9f4a038 atusb-pgm: leave CLK unused (reserved for boards needing an external clock)
- atusb-pgm.sch: moved nRESET from DAT0 to DAT1
- atusb-pgm.sch: moved the LED from CLK to DAT0
- atusb-pgm.brd: updated for above changes
2011-02-04 04:14:29 -03:00
Werner Almesberger
0e11d58468 atusb-pgm: changed pogo pad footprint from 60 mil diameter to 80 mil (PAD_80x80) 2011-02-03 13:52:49 -03:00
Werner Almesberger
4521837dff atusb-pgm: programming adapter that connects to the Universal Breakout Board 2011-02-03 03:47:48 -03:00
Werner Almesberger
b323100c40 atmega8u2.lib (PB2): end list of pin names with a slash if wrapped 2011-02-01 05:01:27 -03:00
Werner Almesberger
5a9ec34420 qfn.fpd: added draft for Atmel VQFN28 (ATmega48) 2011-01-31 18:53:21 -03:00
Werner Almesberger
847b3546d9 usb.sch: cleanup and track layout
- usb.sch: cleaned up programming/auxiliary/LED signals
- usb.sch: swapped LED and nRST_RF (tracking the layout)
- atusb.brd: updated for corrected netlist
2011-01-31 11:52:30 -03:00
Werner Almesberger
8e842bab8e atusb.brd: ground zone adjustments; corrected date code location
- atusb.brd: moved date code which overlapped with traces
- atusb.brd: reduced front RF and power ground zones to avoid ground
  fill between transceiver pads
- atusb.brd: added ground traces around crystal to widen ground zone
2011-01-31 11:41:07 -03:00
Werner Almesberger
ebaffb53e4 usb.sch: corrected symbol name 2011-01-31 05:08:36 -03:00
Werner Almesberger
d8dfb509ac atusb: new layout for the ATmega32U2
- atusb.pro, atusb.cmp: updated for ATmega32U2-based design
- usb.sch: rearranged LED, nRST_RF, and SLP_TR, to make layout easier
- atusb.brd: redid layout for the ATmega32U2-based design
2011-01-31 04:57:02 -03:00
Werner Almesberger
318f29c5d5 atusb: cleaned up USB schematics
- usb.sch: renumbered test points for serial programming
- usb.sch: moved everything down to make room on top
- usb.sch: moved description of pad placement near the pads
- usb.sch: added footprint of U1
2011-01-28 03:54:38 -03:00