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

245 Commits

Author SHA1 Message Date
Werner Almesberger
e5571a26c3 atusb/fw/usb/atu2.c (handle_ep): cancel RX/TX if we receive a SETUP 2011-03-11 17:56:41 -03:00
Werner Almesberger
c265151d2b atusb/fw: introduced function flash_end_write to properly finish flashing
- dfu.h (flash_end_write), flash.c (flash_end_write): write any incomplete
  buffer
- flash.c (flash_write, flash_end_write): call boot_rww_enable only at the
  very end, it won't erase our buffer in mid-page
- usb/dfu.c (my_setup): call flash_end_write at the end of a download
2011-03-11 17:56:41 -03:00
Werner Almesberger
2978afe92b atusb/fw/flash.c: simplified logic of flash_write and corrected several small bugs
- flash.c (flash_write): we don't use eeprom_busy_wait, removed it
- flash.c (flash_write): write the page only at one place
- flash.c (flash_write): corrected the address of the page write
- flash.c (flash_write): value being added to word wasn't shifted
2011-03-11 17:56:41 -03:00
Werner Almesberger
553c981551 atusb/fw/flash.c: implemented flash_can_write and flash_read (were stubs) 2011-03-11 17:56:41 -03:00
Werner Almesberger
f87bdce41f atusb/fw/Makefile: added auxiliary Flash programming target (for development)
- Makefile (prog-app): flash the application, without the boot loader
- Makefile (prog-read): retrieve the Flash content
2011-03-11 16:24:49 -03:00
Werner Almesberger
e29046d19b atusb/fw/Makefile (prog): corrected boot loader size in hfuse 2011-03-11 16:23:42 -03:00
Werner Almesberger
edfb8a94eb atusb/fw/Makefile: clean up handing of boot loader base address
- Makefile (BOOT_ADDR, boot.elf): use variable instead of hiding the
  address in a command
- Makefile (CFLAGS): pass BOOT_ADDR as a macro
- Makefile: removed commented-out application flashing code
2011-03-11 16:21:39 -03:00
Werner Almesberger
b5fd6e3132 atusb/fw/Makefile: lock fuse refuses 0xef; set it to 0x2f to pass verification 2011-03-09 03:11:15 -03:00
Werner Almesberger
b8fc1a7f54 atusb/fw/flash.c: added basic writing support (untested) 2011-03-09 02:02:05 -03:00
Werner Almesberger
1dcc83391e atusb/fw/Makefile: put -mmcu into CFLAGS so that DEPEND uses it, too
- Makefile ($(NAME).elf, boot.elf, %.o): don't pass -mmcu explicitly
- Makefile (CFLAGS): include -mmcu, so that it's also picked up by
  $(DEPEND)
2011-03-09 01:45:35 -03:00
Werner Almesberger
6ac82fc6c9 atusb/fw/README: avr-libc 1.17.1 has been released 2011-03-09 01:36:18 -03:00
Werner Almesberger
341b348ac0 atusb/fw/Makefile (clean): also remove the boot loader 2011-03-09 00:57:01 -03:00
Werner Almesberger
e8bed1f3c1 atusb/fw/: flash a boot loader instead of the application (in progress)
- boot.c: basic boot loader that runs DFU for 2 s, then starts the payload
- board.h (DFU_USB_VENDOR, DFU_USB_PRODUCT): added USB IDs for DFU
- flash.c: stubs for board-specific Flash functions
- Makefile: build boot.hex for the boot loader
- Makefile (prog): load the boot loader at its rightful place
- Makefile (prog): also set hfuse and the lock fuse
2011-03-09 00:41:32 -03:00
Werner Almesberger
f91738c306 atusb/fw/usb/: adapted DFU engine to current stack and abstracted Flash ops
- dfu.c: updated includes
- dfu.c (device_descriptor): renamed USB IDs from USB_VENDOR/PRODUCT to
  DFU_USB_VENDOR/PRODUCT to allow differentiation
- dfu.c: changed all __bit to "int"
- dfu.c: removed all __xdata and __reentrant
- dfu.c: changed "ep0" to "eps[0]"
- dfu.c (payload, flash_erase_page, flash_write_byte, block_write,
  block_receive, block_transmit, my_setup): abstracted Flash interface
  and removed target-specific operations
- dfu.h: added prototypes for target-specific Flash operations
- dfu,c (my_setup, my_descr): removed SDCC-specific hacks
- dfu.c (my_reset): commented out - did we actually use this ?
2011-03-08 19:10:58 -03:00
Werner Almesberger
fb2204ad84 usb/: added DFU implementation from f386base/fw/boot/ (unported) 2011-03-08 19:05:26 -03:00
Werner Almesberger
0676bef2c1 usb/fw/atusb.c (main): removed 100 ms LED flash 2011-03-08 19:03:25 -03:00
Werner Almesberger
79b5daf5a4 atusb/fw/: moved USB IDs from descr.c to board.h
- descr.c (USB_VENDOR, USB_PRODUCT): moved to board.h
- descr.c: include board.h
2011-03-08 19:01:54 -03:00
Werner Almesberger
0293911fed atusb/fw/usb/: corrected type of user-provided descriptor
- usb.h, usb.c (user_get_descriptor): "reply" is simply "const uint8_t *",
  not "const uint8_t * const *"
2011-03-08 18:56:52 -03:00
Werner Almesberger
4759ea6f0c atusb/fw/atusb.c (main): enabled blinking the LED for the prototypes 2011-03-04 21:51:18 -03:00
Werner Almesberger
2f85fa9d14 atusb/fw/Makefile: abstract host so that one can use HOST=ben instead of jlime 2011-03-04 21:50:01 -03:00
Werner Almesberger
313fb7c190 atusb/fw/Makefile (CFLAGS): simplify -I../fw/include to -Iinclude 2011-02-22 00:24:53 -03:00
Werner Almesberger
78cfc8ffeb moved atusb/fw3/ to atusb/fw/ 2011-02-22 00:24:07 -03:00
Werner Almesberger
2642b9e1c3 atusb-sil/: moved C8051F326-related material out of atusb/
- Makefile, atusb.pro, atusb.sch, atrf.sch, usb.sch, atusb.cmp, atusb.brd:
  resurrected from git history (commit
  14b00823b0)
- fw/: moved all C8051F326-specific files over from atusb/fw/
- fw/include/: copied MCU-independent files over from atusb/fw/include/
2011-02-22 00:17:13 -03:00
Werner Almesberger
125055b0fe Updates CAM processes of various sub-projects
- atben/cam/mkmk: introduced variables for board corner
- atben/cam/mkmk: updated for new raw board
- atusb-pgm/cam/Makefile: updated for new board
- atusb/cam/Makefile: introduced abstraction with $(NAME)
- atusb/cam/Makefile: use cameo/templates/mkmk-simple instead of local mkmk
- atusb/cam/mkmk: removed
- atusb/cam/Makefile: updated for new board
2011-02-21 23:31:04 -03:00
Werner Almesberger
c3ac7d9cb8 atusb/fw3/README: build instructions for firmware and prerequisites 2011-02-18 09:53:48 -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
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
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
Werner Almesberger
6aa4e30833 atusb: replaced the C8051F326 with an ATmega32U2 (still needs cleanup)
- atusb.pro (LibName5): changed from c8051f326 to atmega8u2
- atrf.sch: export CLKM and added filter for 8 MHz clock
- atusb.sch: connect CLK between RF and USB side
- usb.sch: changed design frim C8051F326 to ATmega32U2 (needs cleanup)
2011-01-28 03:42:35 -03:00
Werner Almesberger
e6b0ee5655 atusb/cam/mkmk: updated for latest board parameters 2011-01-28 02:05:52 -03:00
Werner Almesberger
50bd38c13e atusb/cam/mkmk: move project name to central NAME variable
Also prematurely updated alignment, oops.
2011-01-23 15:51:16 -03:00
Werner Almesberger
dda673e8bf atusb.brd: updated balun footprint
- atusb.brd: updated 0805-6 footprint of the balun and rearranged its
  surroundings accordingly
2011-01-23 15:23:38 -03:00
Werner Almesberger
daaac58f88 atben, atusb: set solder mask and solder paste clearances to NXP's values
Settings according to
http://www.nxp.com/documents/mounting_and_soldering/AN10365.pdf

- atben.pro, atben.brd, atusb.pro, atusb.brd: set solder mask clearance
  to 50 um (copper-defined pads)
- atben.pro, atben.brd, atusb.pro, atusb.brd: set solder paste clearance
  to 25 um
2011-01-23 11:43:08 -03:00
Werner Almesberger
b0a5a0cad7 atusb.brd: some more cleanup after checking the gerbers
- atusb.brd: enabled back solder mask layer, just in case
- atusb.brd: rearranged references and values for printing/display
2011-01-23 11:25:53 -03:00
Werner Almesberger
83b903d71b atben.brd, atusb.brd: added design name (ATBEN, ATUSB) to silk screen text 2011-01-23 01:50:49 -03:00
Werner Almesberger
bcc8ea7f2f atusb.sch, atrf.sch, usb.sch, atusb.brd: bumped version to 20110123 2011-01-23 01:48:31 -03:00
Werner Almesberger
1b5abff8ba atusb.brd: added title, origin, and license on silk screen layer 2011-01-23 01:42:03 -03:00
Werner Almesberger
1f959d9873 atusb: updated C8051F326 and AT86RF321 footprints
- usb.sch, atusb.cmp, atusb.brd: updated C8051F326 footprint
- atrf.sch, atusb.cmp, atusb.brd: updated AT86F231 footprint
- atusb.brd: redid some traces that mysteriously got disconnected
2011-01-23 01:32:14 -03:00
Werner Almesberger
1d2fdb34c6 atusb.brd: rearranged component references and values for printing/display
- atusb.brd: moved component references for proper printing on silk screen
- atusb.brd: moved component values for easy display (do not print on
  silk screen !)
2011-01-22 13:39:25 -03:00
Werner Almesberger
30aff8160b atusb: introduced optional antenna matching capacitor
- atrf.sch (C16): optional antenna matching capactor (typ. 0.5 pF)
- atben.cmp, atben.brd: added C16
2011-01-22 13:22:58 -03:00
Werner Almesberger
836c89e8fd atusb: replaced old chip components with updated ones
- atusb.brd, atusb.cmp: changed all 0402-M to the new 0402
- atusb.brd, atusb.cmp: changed 0603-M to the new 0603
- atusb.brd: updated layout for component changes
2011-01-22 12:53:47 -03:00
Werner Almesberger
478f600502 atben/Makefile (clean), atusb/Makefile (clean): remove Gerbers 2011-01-17 22:40:15 -03:00
Werner Almesberger
af4ce1f5f9 atusb.brd: removed unused Adhesive Front layer 2011-01-17 22:38:19 -03:00
Werner Almesberger
7d91ee60c6 atusb/Makefile: replaced board name by $(NAME) or pattern 2011-01-17 22:35:55 -03:00
Werner Almesberger
2c96bcb85a atben/atben.brd, atusb/atusb.brd: updated PAD_60x60 to update pad type 2011-01-17 22:29:09 -03:00
Werner Almesberger
c6532c7435 meander.fpd: use new pad type "trace" without solder paste and mask opening
- ants/meander.fpd: changed all pads from "normal" to "trace"
- atben/atben.brd, atusb/atusb.brd: updated MEANDER-110
2011-01-17 22:18:51 -03:00
Werner Almesberger
766b5759ea atusb/Makefile: removed claim that zones have to be filled in the .brd file 2011-01-08 09:46:24 -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
f67a79b04e atusb/fw/include/at86rf230.h: many corrections, some additions
- at86rf230.h (REG_BATMON): address is 0x11, not 0x10
- at86rf230.h (TRX_CMD_MASK): width is 5 bits, not 3
- at86rf230.h (CLKM_CTRL_MASK): width is 3 bits, not 2
- at86rf230.h (PA_EXT_EN, IRQ_2_EXT_EN, TX_AUTO_CRC_ON_231): shifted by one
  bit
- at86rf230.h (RX_BL_CTRL, AACK_DIS_ACK): added missing field
- at86rf230.h: added fields PA_BUF_LT and PA_LT
- at86rf230.h (ANT_DIV): added fields of this register
- at86rf230.h (NATMON_VTH_SHIFT, NATMON_VTH_MASK): corrected typo
2011-01-07 14:29:00 -03:00
Werner Almesberger
4387d844dc atusb/fw/include/at86rf230.h: added remaining AT86RF231 values 2011-01-07 11:52:45 -03:00
Werner Almesberger
bd5b008c44 atusb/fw/include/at86rf230.h: make one section per register, not one per field
Looked too confusing.
2011-01-07 09:16:51 -03:00
Werner Almesberger
337e5d227d atusb/fw/include/at86rf230.h: started updates for AT86RF231 2011-01-07 09:11:29 -03:00
Werner Almesberger
b44e731ee1 atusb/atrf.sch: defined footprint of B1 (0805-6) 2011-01-04 01:43:16 -03:00
Werner Almesberger
9f8a77e879 atusb: switched from the AT86RF230 to the AT86RF231, added missing RF ground
- atrf.sch: replaced the AT86RF230 with the AT86RF231
- atusb.sch, usb.sch, atrf.sch: removed TST signal
- atrf.sch: grounded former TST pin
- atusb.brd: updated for TST removal
- atusb.brd: increased space between SLP_TR and nRST_RF vias
- atusb.brd: connect U2 pin 6 to ground pad
- atusb.sch, usb.sch, atrf.sch, atusb.brd: changed version to 20110104
2011-01-04 01:19:54 -03:00
Werner Almesberger
155dfba7ec atusb/cam/mkmk: update for on-going work; showcase use of "rotate" 2011-01-03 23:11:00 -03:00
Werner Almesberger
9851e3ca88 atusb/atrf.sch: changed C3, C8, C9 to "22pF/RF", to make BOOM select UHI Q type 2011-01-03 17:21:20 -03:00
Werner Almesberger
08eec5b3a9 atusb/usb.sch: specified capacitance of TVSs (33 pF) and explained why 2011-01-03 16:32:52 -03:00
Werner Almesberger
882558b953 atusb/usb.sch: typo: the LED is called LTST-C190KRKT, not LTST-C190KTKR 2011-01-03 15:54:35 -03:00
Werner Almesberger
04d3cec2ba atusb/usb.sch: typo in VR1 footprint, should be 0402 instead of 0403 2011-01-03 15:41:51 -03:00
Werner Almesberger
59ae88ddf4 atusb/cam2: renamed to atusb/cam 2011-01-03 13:43:54 -03:00
Werner Almesberger
2ac2420227 atusb/cam: it's obsolete now - removed 2011-01-03 13:43:10 -03:00
Werner Almesberger
fd76be6f91 atusb.brd: increased RF ground zone
- atusb.brd: increased RF ground zone by 150 mil in an attempt to reduce
  interferences between the the antenna and the rest of the circuit
- atusb.brd: added more vias around and inside the RF ground zone
- atusb.brd: set version to 20110102
2011-01-02 18:02:46 -03:00
Werner Almesberger
478bfb558f atusb.brd: moved via and bumped version number
- atusb.brd: moved nRST_RF MCU-side via away from SLP_TR via, to avoid
  accidental solder bridges
- atusb.brd: increased version number to 20101230
2010-12-30 01:28:23 -03:00
Werner Almesberger
6a7b2de8b3 atusb/fw/atusb/Makefile: pass board version to cpp (when determining USB ID) 2010-12-29 20:42:06 -03:00
Werner Almesberger
f33b86b317 atusb.brd: reduced XTAL front ground to shorted "tongue" between pads 24 and 25 2010-12-29 18:51:01 -03:00
Werner Almesberger
cec090f7b2 atusb.brd: more layout cleanup to improve solderability
Traces leaving a pad on the side may invite solder bridges to "false pads"
exposed at the edges of the chip, with unknown consequences.

- atusb.brd: make trace from P0.0 (IRQ_RF) leave pad at the front, not
  at the side
- atusb.brd: make trave from P0.7 (SCLK) leave pad at front, not at the
  side
2010-12-29 17:45:50 -03:00
Werner Almesberger
6f956290c3 atusb/cam2/mkmk: double backslash to put into generated makefile
With one backslash, the newline was removed, so it still worked. It just
looked odd.
2010-12-29 17:44:08 -03:00
Werner Almesberger
7514fa8400 atusb.brd: added via from nRST/C2CK, to allow for addition of pull-up
- atusb.brd: nRST may need an external pull-up to VDD. Added via to bring
  nRST and VDD within reach (pull-up suggested by Joerg Reisenweber)
- atusb.brd: increased version to 20101229
2010-12-29 03:32:49 -03:00
Werner Almesberger
ed591cf635 atusb.brd: increased zone clearance from 8 mil to 10 mil, for solderability 2010-12-29 02:22:32 -03:00
Werner Almesberger
228eb2091b atusb/Makefile: add --fill-all-zones to PLOT_BRD, to make sure zones are filled 2010-12-28 13:05:44 -03:00
Werner Almesberger
aae86ca644 atusb/Makefile: move common plot command parts to variable $(PLOT_BRD) 2010-12-28 13:02:43 -03:00
Werner Almesberger
3385afca0d atusb: added "clean" targets to main and CAM makefile
- Makefile: added "clean" target
- cam2/Makefile: added "clean" target (for file generated in cam2/)
- cam2/mkmk: added "clean" target to generated makefile
2010-12-27 23:50:00 -03:00
Werner Almesberger
a0b064bd79 atusb/cam2/: streamlined CAM data processing, added generation of prerequisites
- mkmk: call generated makefile "Makefile.mkmk"
- Makefile: generate mkmk prerequisites, run mkmk, and execute targets in
  Makefile.mkmk
2010-12-27 23:37:10 -03:00
Werner Almesberger
fe607055f7 atusb/Makefile: targets "front" and "back" to print layers for toner transfer 2010-12-27 23:20:42 -03:00
Werner Almesberger
5dde617de5 atusb.brd: saving with the zones filled, to avoid surprises 2010-12-27 23:14:41 -03:00
Werner Almesberger
d5f7820329 atusb/fw/common/config.h: corrected BOARD_xxx names in #if defined() 2010-12-19 21:19:16 -03:00
Werner Almesberger
8f2dbf73f0 atusb/cam2/mkmk: compensate deflection when cutting the board outline 2010-12-19 21:17:58 -03:00
Werner Almesberger
63e17049f9 atusb: more small layout improvements
- atusb.brd: increase clearance between RF clock front ground area and MCU
  (ground area acted as solder trap)
- atusb.brd: route nRST_RF trace out of corner (to avoid accidental
  contact)
- atusb.brd: don't route VBUS corner trace underneat chip (for general
  tidiness)
- atusb.brd: bumped version to 20101219
2010-12-19 20:24:40 -03:00
Werner Almesberger
429e054e57 atusb.brd: several small solderability improvements
- atusb.brd: reduced RF front ground area to avoid interconnections very
  close to the chip
- atusb.brd: reduced RF power front ground area to avoid interconnections
  very close to the chip
- atusb.brd: moved via next to TXRX pad 18 (GND) to make room for making
  CLK trace leave the pad at its end, not at its side
- atusb.brd: bumped design date to 20101217
2010-12-17 23:39:27 -03:00
Werner Almesberger
3cb382744a usb.sch: explain how the the ID pin works 2010-12-17 23:04:37 -03:00
Werner Almesberger
9fa026eae5 atusb.brd: avoid track leaving pad 16 of U2 laterally, for better solderability 2010-12-17 23:02:00 -03:00
Werner Almesberger
ad2c72fa7f atusb: firmware update for the 2010-12-16 board series
- fw/Makefile: replaced "make" with $(MAKE) (just for style)
- common/Makefile.common: Makefile settings shared within project. For now,
  this contains only the board version, which defaults to 2010-12-16.
- fw/common/Makefile, fw/boot/Makefile, fw/atusb/Makefile: include
  common/Makefile.common
- fw/common/Makefile, fw/boot/Makefile, fw/atusb/Makefile: pass board
  version to cpp and gcc
- fw/atusb/atusb.c (init_io): individually set IRQ_RF to one, LED and TST
  to zero
- fw/atusb/atusb.c (init_io): added macros to set all unused pins to zero
  in a way that doesn't need updating if a signal moves from one pin to
  another
- include/atusb/ep0.h: added hardware type 1 (2010-12-16 design)
- common/config.h: set hardware type depending on board version
- common/io.h: assign pins depending on board version
2010-12-17 23:01:31 -03:00
Werner Almesberger
ba310a8ce4 atusb: updated and improved CAM script
- atusb/cam2/mkmk: updated for new board
- atusb/cam2/mkmk: further increased board to board spacing, to reduce
  board deflection
- atusb/cam2/mkmk: decreased nominal mill diameter to 20 mil to compensate
  for board/tool deflection
- atusb/cam2/mkmk: added target "dplot" to visualize the sequence in which
  holes are drilled
2010-12-16 16:35:06 -03:00
Werner Almesberger
d7719afb5b atusb.brd: removed stray pad
- atusb.brd: bumped version number to 20101216
- atusb.brd: removed stray TST pad
2010-12-16 05:18:21 -03:00
Werner Almesberger
1bef41f0d7 mkmk: further improvements and updates
- mkmk: adjust board position
- mkmk: reorder output such that the edge is cut last, reducing board shift
- mkmk: reduce nominal mill diameter for large holes and slots, to increase
  hole/slot size
- mkmk: generate "plot" target in Makefile, to visualize the output
- mkmk: use toolpath file for "cngt" instead of calculating the reference
  point manually
2010-12-16 04:56:01 -03:00
Werner Almesberger
000d270b85 atusb/cam2/mkmk: new-style CAM script
Run ./mkmk to generate toolpaths and a Makefile. Then
make cng	changes tools (used for drill and mill)
make drill	does the drilling
make mill	does the milling
2010-12-16 02:39:10 -03:00
Werner Almesberger
b8877e0cf2 atusb: add automatic board revision detection; clean up feed line
- usb.sch: use P0.2 as board revision ID pin
- atrf.sch: label feed line
- atusb.brd: set feed line width via design rule, not as user size
- atusb.brd: increase feed line width from 18 mil to 19 mil (it should be
  58 mil, but we don't have room for more)
2010-12-02 23:56:03 -03:00
Werner Almesberger
876e12b0a9 atusb/cam: updated CAM process for new board
- cam/Makefile: added "spool" target
- cam/pcb.pl: removed rotation
- cam/pcb.pl: updated board outline (now it's just a rectangle)
- cam/pcb.pl: updated step sizes
2010-12-02 23:27:16 -03:00
Werner Almesberger
fb2694116a atusb: bumped version number to 20101202
- atusb.brd: bumped version number to 20101202
- atusb.brd: put version number on PCB
- atusb.sch, usb.sch, atrf.sch: bumped version number to 20101202
2010-12-02 22:05:27 -03:00
Werner Almesberger
a641eb7198 atusb: move traces to coincide with thermal relief
- atusb.brd: moved traces into USB plug such that they coincide with
  thermal relief
- atusb.brd: moved trace into antenna ground such that it coincides
  with thermal relief
2010-12-02 21:56:52 -03:00
Werner Almesberger
c7d485a395 atusb/atusb.brd: added ground zones on front layer as well 2010-12-02 21:02:29 -03:00
Werner Almesberger
8a3a428e35 atusb: added bottom ground zones (on-going)
- atusb.pro: reduced edge and drawing line width from 15 mil to 5 mil
- atusb.brd: added ground zones on bottom layer
- atusb.brd: moved IRQ_RF and VDD traces for better ground area coverage
2010-12-02 20:48:44 -03:00
Werner Almesberger
20c0517010 atusb.brd: more layout work (on-going)
- atusb.brd: move antenna to its rightful place
- atusb.brd: added two more GND vias after antenna move
- atusb.brd: added proper board edge
- atusb.brd: added board dimensions (16.3 x 33.2 mm)
- atusb.brd: moved via next to C11 closer to C11 and away from RF section
2010-12-02 17:34:23 -03:00
Werner Almesberger
ecaab606e9 atusb.brd: new layout (in progress)
- atusb.brd: update for component changes
- atusb.brd: change board orientation to mimick USB stick
- atusb.brd: add vias, mainly around the antenna (before: 24 vias, now: 35)
2010-12-02 12:18:11 -03:00
Werner Almesberger
36ea2be989 atusb: rearrange I/Os for new layout
- usb.sch: rotated and reordered TST, nRST_RF, SLP_TR, SCLK, MISO, MOSI,
  and nSS for new layout
- atrf.sch: commit noise
2010-12-02 12:16:49 -03:00
Werner Almesberger
521dab850d atusb: remove two unnecessary test points
- atrf.sch (P15): removed TST test point
- usb.sch (P10): removed nSYSCLK test point
- atusb.sch: commit noise
2010-12-01 13:28:05 -03:00
Werner Almesberger
e137bc42c5 atusb/cam: modernize, and change setup for current workpiece
- atusb/cam/doit: new workpiece parameters
- atusb/cam/doit: use "cameo", increase feed rate, increase tool clearance
- atusb/cam/pcb.pl: removed radii from toolpath (cameo takes care of them)
2010-12-01 11:08:41 -03:00
Werner Almesberger
9ad0609d97 atusb: updated footprint assignment
- atusb/atusb.pro: instead of modules/meander, use experimental ants/meander
- atusb/atusb.pro: typo - it's modules/usb_a_plug_smt, not
  modules/usb_a_plug
- atusb/atusb.cmp (ANT1): change antenna from "meander" to "MEANDER-110"
  (10% enlarged)
- atusb/atusb.cmp (CON1): change from "miniUSB_B" USB receptacle to
  "USB-A-PLUG-SMT" plug
- atusb/atusb.cmp (VR1, VR2, VR3): update value from schematics
2010-12-01 11:08:41 -03:00
Werner Almesberger
23c37261b7 atusb: use 0402 as the preferred component size and replace bad TVS
We know from CNTR that the capacitance of the 0603 TVS (EPCOS CT0603M4G,
200 pF) is too large and can disturb the USB signal. The 0402 TVS
(Panasonic EZJ-P0V080GA, 100 pF) works much better.

Since we have lots of 0402 components already, just change the remaining
0603 to 0402, too.

- usb.sch (VR1, VR2, VR3): change from 0603 to 0402 and from 5V5 to 5V6
- usb.sch (C1, C2, R1): change from 0603 to 0402
- atrf.sch (R3): set footprint to 0402
- atusb.pro: replaced modules/mini-usb with modules/usb_a_plug
- atusb.pro: removed extension from components/balun-smt6.lib
- atusb.cmp: update footprints for above changes
- atusb.cmp: change 0402 to 0402-M and 0603 to 0603-M, for easier
  soldering
2010-11-30 06:39:48 -03:00
Werner Almesberger
11202dde8c atusb: since we always drive TST, we don't need the pull-down
- atusb.sch (R2): removed TST pull-down
2010-11-30 05:36:02 -03:00
Werner Almesberger
370cf83041 atusb: use Johanson 2450FB15L0001 instead of discrete balun circuit
- components/balun-smt6.lib: balun using all six contacts (for Johanson
  2450FB15L0001)
- components/INFO: added balun-smt6.lib
- components/INFO (balun): added BOOKSHELF reference (to "748421245")
- AUTHORS: added forgotten balun.lib and new balun-smt6.lib
- atrf.sch: replaced discrete balun with integrated balun
- atrf.sch (C3): replaced output DC block with 0R resistor
2010-11-30 05:25:58 -03:00
Werner Almesberger
0463d30d89 atusb: switch from mini-USB receptacle to full-size USB plug
This way, we can plug the device into a USB port, like a USB stick.
We use a real plug (instead of shaping the PCB in the form of a plug)
for better mechanical stability.

- atusb.pro: change from components/mini_usb_b to components/usb_a_plug
- usb.sch (CON1): replace MINI_USB_B with USB_A_PLUG
2010-11-30 04:56:31 -03:00
Werner Almesberger
ee6c945db9 atusb: shrink C2 pads to test point size
The C2 pads were originally sized for permanently soldering a 100 mil
header. For development, a temporary connection is sufficient. Eventually,
we will just use pogo pins to make this connection.

- usb.sch: changed C2 pads from PAD_120x60 to PAD_60x60
- usb.sch: added comment that pads should be spaced at 100 mil interval
2010-11-30 04:45:54 -03:00
Werner Almesberger
6b639b2d1e atusb: remove test points from MCU-RF interconnect
- atusb.sch: removed test points for signals going between USB and RF side
- atusb.sch: TST is no longer a rework item - removed comment saying it is
- atusb.sch, usb.sch, atrf.sch: bumped version number to 100930
2010-11-30 04:34:22 -03:00
Werner Almesberger
000c087789 fw/atusb/atusb.c: make the LED flash 1/4 the previous time in test mode
This is purely for esthetical reasons.
2010-11-11 21:40:03 -03:00
Werner Almesberger
d1953cd47f The Great ATSPI Renaming, part 10: more title comment fixes
- atusb/fw/boot/Makefile: still referred to the project as ATSPI (not ATRF)
  in title comment
- atusb/fw/include/atusb/usb-ids.h: still had old atspi path in title comment
2010-11-11 10:47:39 -03:00
Werner Almesberger
4d7cb125ee atusb.sch: mention that the TST connection is a rework and not in the layout 2010-11-11 10:36:57 -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
2337557a8c atusd firmware now supports setting the TST pin.
- common/io.h: TST is connected to P0_7
- include/at86rf230.h: added test mode registers REG_CONT_TX_0 (0x36) and
  REG_CONT_TX_1 (0x3d), with their values
- atspi/atspi.c (set_test_mode): set or reset TST and the LED
- atspi/atspi.c (reset_rf): leave test mode
- atspi/atspi.c (test_mode): enter test mode
- atspi/atspi.c (main): flash the LED when in test mode
- include/atspi/ep0.h (enum atspi_requests), atspi/ep0.c (my_setup): new
  command ATSPI_TEST to enter test mode
- include/atspi/ep0.h (EP0ATSPI_MINOR): bumped protocol to version 0.1
- include/at86rf230.h: corrected comment before TRX_CMD field to indicate
  that the register is called TRX_STATE
2010-11-11 02:25:54 -03:00
Werner Almesberger
c45f1bb3c8 atusb/: connect TST to P0_7 (rework of existing boards) 2010-11-11 02:12:45 -03:00
Werner Almesberger
a0f0781a96 atusb/atrf.sch (X1): don't explicitly say that the tolerance is a maximum 2010-10-25 00:53:35 -03:00
Werner Almesberger
9d6906d7d8 Cleanup of values in atusb/*.sch
- atusb/atrf.sch (C6, C7): use canonical name 820fF instead of 0.82pF
- atusb/usb.sch (VR1, VR2, VR3): changed value from 5V6 to 5V5 for
  compatibility with selected part
- atusb/atusb.sch: commit noise
- atusb/atusb.brd: reloaded for value changes
2010-10-25 00:26:27 -03:00
Werner Almesberger
b493f09363 Great renaming: atrf/wpan-atrf* becomes atusb/atusb*
- atrf/: rename to atusb/
- atrf/wpan-atrf.pro, atrf/wpan-atrf.sch, atrf/wpan-atrf.brd,
  atrf/wpan-atrf.cmp: rename to atusb.*
- atrf/Makefile: change ben-wpan to atusb
- atrf/atusb.pro (LastNetListRead): update for name change
- tools/Makefile.common (CFLAGS): change fw/ include location from atrf/
  to atusb/
2010-10-25 00:10:00 -03:00