- 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/
- 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
- 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
- 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
- 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)
- atusb.brd: updated for schematics changes
- atusb.brd: rearranged component references and values for
printing/display
- atusb.brd: bumped version to 20110214
- 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
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
- 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
- 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)
- 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
- 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
- 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
- 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
- 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
- ./: 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
- usb.sch: cleaned up programming/auxiliary/LED signals
- usb.sch: swapped LED and nRST_RF (tracking the layout)
- atusb.brd: updated for corrected netlist
- 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
- 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
- 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
- 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)
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
- 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 !)
- 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
- 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
- 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
- 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
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
- 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
- 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
- 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
- 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
- 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
- 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
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
- 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)
- 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