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

160 Commits

Author SHA1 Message Date
Werner Almesberger
8f744bba63 Minor potential improvements of USB robustness.
- atrf/fw/atspi/atspi.c (main): add a delay to give the host more time to
- atrf/fw/atspi/descr.c: we don't use EP1, so simplify the descriptors we
  send. Keep the EP1 descriptors around (commented out) in case  we need
  them later, e.g., for interrupts.
2010-08-24 21:12:57 -03:00
Werner Almesberger
c01a5e0b7a Added list of to do items and known bugs. 2010-08-24 18:32:30 -03:00
Werner Almesberger
2514804a79 Setting the transmit power was broken. (And LQ works, by the way.)
- atrf/tools/atspi-txrx/atspi-txrx.c (set_power): don't wrap around at
  minimum power to maximum power
2010-08-24 07:17:42 -03:00
Werner Almesberger
73043a52ea Finished and tested TX/RX. (LQ doesn't work yet, the rest does.)
- Makefile.recurse (all): reorder DIRS and TARGET_ONLY_DIRS, so that
  tools/lib/ gets built before the tools that depend on it
- atrf/fw/atspi/ep0.c (do_buf_write): removed duplicate sending of
  AT86RF230_BUF_WRITE
- atrf/fw/atspi/ep0.c (my_setup): generate the PHR in ATSPI_BUF_WRITE
  instead of expecting the host to send it
- atrf/fw/atspi/ep0.c (my_setup): don't send the PHR to the host in
  AT86RF230_BUF_READ
- atrf/fw/include/at86rf230.h (REG_TR_PWR): should be REG_PHY_TX_PWR
- atrf/tools/Makefile: added atspi-txrx and "lib"
- atrf/tools/atspi-txrx/Makefile: corrected path in F32XBASE
- atrf/tools/atspi-txrx/atspi-txrx.c: major rewrite
- atrf/tools/include/atspi.h, atrf/tools/lib/atspi.c: functions
  atspi_buf_write and atspi_buf_read to access the frame buffer
2010-08-24 06:16:48 -03:00
Werner Almesberger
738618a945 Update IRQ_RF after reworking both boards. IRQ_RF was erroneously connected
to P0_2 but it should go to P0_0.

- atrf/fw/common/io.h: IRQ_RF is now at P0_0
- atrf/fw/atspi/atspi.c: updated and simplified P0 initialization
2010-08-23 23:02:43 -03:00
Werner Almesberger
b7700518d9 atspi-trim: utility to set the crystal trimming capacitors.
- atrf/tools/Makefile: added atspi-trim
- atrf/tools/atspi-trim/Makefile, atrf/tools/atspi-trim/atspi-trim.c: show
  and adjust the capacitors to trim the crystal oscillator
- atrf/tools/atspi-rssi/atspi-rssi.c: removed left-over FROM_DEV and TO_DEV
2010-08-23 21:49:20 -03:00
Werner Almesberger
5514c336a5 Completed the basic counter firmware. Now it just has to work ...
- cntr/fw/cntr/Makefile, cntr/fw/cntr/descr.c, cntr/fw/cntr/ep0.c: enabled
  the usual USB stack
- cntr/fw/cntr/cntr.c: initialize and poll USB
- cntr/fw/cntr/cntr.c, cntr/fw/cntr/ep0.c: added counter application
- cntr/fw/common/config.h (PLATFORM_SETUP): enable the crossbar
2010-08-23 19:56:02 -03:00
Werner Almesberger
5109e0bd44 Basic framework for CNTR firmware.
- atrf/fw/common/regs.h: forward to regs-f326.h
- cntr/: added basic framework for CNTR firmware
2010-08-23 14:32:50 -03:00
Werner Almesberger
c2dd23840c Moved fw/ and tools/ into atrf/ as well.
- fw/: moved to atrf/fw/
- tools/: moved to atrf/tools/
- atrf/fw/atspi/Makefile, atrf/fw/boot/Makefile: updated relative path to
  f32xbase
- atrf/tools/Makefile: updated relative path to Makefile.recurse
- atrf/tools/atspi-id/Makefile, atrf/tools/atspi-reset/Makefile,
  atrf/tools/atspi-rssi/Makefile, atrf/tools/lib/Makefile: updated relative
  path to f32xbase
- atrf/fw/include/at86rf230.h: corrected path in title
- atrf/tools/include/atspi.h: added title and copyright header
2010-08-23 13:39:07 -03:00
Werner Almesberger
d6b045c513 Renamed fw/boot/ to fw/atspi-boot/. Fixed build problem in fw/atspi-boot/.
- fw/Makefile, fw/boot/Makefile: renamed fw/boot/ to fw/atspi-boot/
- fw/atspi-boot/Makefile: added -I../include to CFLAGS, so that we find
  usb-ids.h
2010-08-23 02:46:22 -03:00
Werner Almesberger
9c2deb8e0a cntr/cntr.brd: remove the ground fill. The board got a bit messy with it.
Bumped the version to V1.
2010-08-23 00:52:23 -03:00
Werner Almesberger
51de2a5235 Forgot cntr/Makefile. Added ground fill.
- cntr/Makefile: oops, forgot to add this one to the repository
- cntr/cntr.brd: fill unused spaces with ground
2010-08-22 21:45:25 -03:00
Werner Almesberger
5553d3e75b New circuit: an arbitrary-precision counter.
- BOOKSHELF: added the C8051F320 (alias "f320")
- BOOKSHELF: added "atrf" alias for AT86RF230
- BOOKSHELF: added "f326" alias for C8051F326
- AUTHORS, components/INFO, components/c8051f320.lib,
  components/c8051f320.dcm: added Silabs C8051F320
- AUTHORS, modules/INFO, modules/Makefile, modules/qfp.fpd: added LQFP32
  for C8051F320
- cntr/cntr.pro, cntr/cntr.sch, cntr/cntr.brd: arbitrary-precision counter
2010-08-22 21:32:54 -03:00
Werner Almesberger
2c29b5b22e Moved hardware design files from top-level directory to atrf/
- wpan-atrf.pro, wpan-atrf.sch, usb.sch, atrf.sch, wpan-atrf.cmp,
  wpan-atrf.brd, Makefile: moved to atrf/
- atrf/wpan-atrf.pro: updated paths to components/ and modules/
- Makefile: retained "dsv" section
2010-08-22 16:06:43 -03:00
Werner Almesberger
d8c71a3009 Additions to bookshelf: AT86RF230 programmer's guide and 2.4 GHz regulations. 2010-08-22 06:50:35 -03:00
Werner Almesberger
e514c0fff9 Added Makefile to build/install/etc. all the ATSPI utilities.
- tools/Makefile: build/install/etc. all the ATSPI utilities
- Makefile.recurse: general targets for recursive make (from IDBG)
2010-08-22 06:28:40 -03:00
Werner Almesberger
419b596c5d atspi-reset: utility to reset transceiver or entire board.
- tools/include/atspi.h, tools/lib/atspi.c (atspi_reset): new function to
  send the ATSPI_RESET command (MCU reset)
- tools/include/atspi.h, tools/lib/atspi.c (atspi_reset_rf): new function
  to send the ATSPI_RESET_RF command (transceiver reset)
- tools/atspi-reset/Makefile, tools/atspi-reset/atspi-reset.c: reset utility
2010-08-22 06:24:52 -03:00
Werner Almesberger
723cfad924 tools/atspi-rssi/: spectrum scan utility 2010-08-22 05:42:41 -03:00
Werner Almesberger
7a534d2269 Enter TRX_OFF to enable DVDD regulator. Plus minor cleanup.
- tools/atspi-txrx/Makefile, tools/atspi-txrx/atspi-txrx.c: new utility
  that, for now, just turns on the DVDD regulator
- tools/atspi-id/Makefile: corrected path in title
- fw/include/at86rf230.h: changed TRX_STATE_* to TRX_CMD_*
2010-08-21 01:42:58 -03:00
Werner Almesberger
44f0c38980 fw/atspi/atspi.c (reset_rf): added reset timing measurement 2010-08-21 01:08:46 -03:00
Werner Almesberger
1d777aa69e Added register definitons and simplified register naming.
- fw/include/at86rf230.h: added register definitions
- fw/include/at86rf230.h, tools/atspi-id/atspi-id.c (show_info): renamed
  register numbers from AT86RF230_REG_* to REG_*
2010-08-21 01:04:08 -03:00
Werner Almesberger
4b204210e7 We can now read the transceiver's registers.
- fw/atspi/atspi.c (init_io, reset_rf): reset the transceiver after setting
  up the IOs. Contrary to what the manual claims, the chip only produce
  garbage if not reset.
- fw/atspi/ep0.c (my_setup): call reset_rf instead of open-coding the reset
- fw/atspi/atspi.c (init_io): added #ifdef'ed-out code to disable the
  pull-ups, and an explanation why we can't do this.
- tools/atspi-id/atspi-id.c (show_info): also read and print the
  transceiver's ID registers
2010-08-20 22:16:58 -03:00
Werner Almesberger
14c1b4cbfc xxx_MODE were used as if they were port bits, not registers.
- fw/atspi/atspi.c (init_io): comment had the wrong initial value for SCLK
- fw/atspi/atspi.c (init_io): xxx_MODE are registers, not bits ...
- fw/common/io.h (IRQ_RF), fw/atspi/atspi.c (init_io): indicate pending
  moving of IRQ_RF
2010-08-20 17:50:12 -03:00
Werner Almesberger
1d07933a2a Active-high IRQ_RF was routed to active-low interrupt input
- usb.sch: route IRQ_RF to INT0, not nINT0
- wpan-artf.brd: updated layout and date code
- wpan-atrf.pro, wpan-atrf.sch, atrf.sch: KiCad update noise
2010-08-20 17:30:19 -03:00
Werner Almesberger
ac349b0bc0 Introduce library with ATSPI access functions (largely untested)
- tools/include/atspi.h, tools/lib/Makefile, tools/lib/atspi.c: library
  with ATSPI access functions
- tools/atspi-id/Makefile: use libatspi
- tools/atspi-id/atspi-id.c (main) use atspi_open instead of open_usb
- fw/atspi/at86rf230.h: moved to fw/include/
- fw/include/at86rf230.h: added ID registers
- fw/atspi/ep0.c: removed stray #endif
2010-08-20 16:27:24 -03:00
Werner Almesberger
bf74a0348b Fix typo and make "make dfu" work again.
- fw/atspi/atspi.c: fixed typo in title
- fw/atspi/Makefile: added ../include to include path for usb-ids.h
2010-08-20 15:11:41 -03:00
Werner Almesberger
bb4b07f86a Simplified the presentation of build date information and added a
command-line utility to retrieve it.

- fw/include/atspi/ep0.h, fw/atspi/ep0.c (my_setup): merged
  ATSPI_BUILD_NUMBER and ATSPI_BUILD_DATE into single ATSPI_BUILD
- fw/atspi/ep0.c (my_setup): added work-arounds for compiler bugs
- tools/atspi-id/Makefile, tools/atspi-id/atspi-id.c: command-line utility
  to query hardware and firmware version
2010-08-20 15:09:45 -03:00
Werner Almesberger
537c67598d More config rearranging: USB IDs are now in include/atspi/usb-ids.h, which
common/config.h includes.
2010-08-20 03:00:27 -03:00
Werner Almesberger
9a6b3fc20d - fw/atspi/Makefile (USB_ID): corrected and updated USB ID extraction 2010-08-20 02:28:58 -03:00
Werner Almesberger
5447951c6e Implemented AT86RF230 reset and access modes. (Completely untested.)
- fw/atspi/at86rf230.h: AT86RF230 SPI protocol commands and buffer sizes
- fw/atspi/atspi.c (init_io): set all IOs to their initial state
- fw/include/atspi/ep0.h, fw/atspi/ep0.c (my_setup): command ATSPI_RF_RESET
  to reset the AT86RF230
- fw/include/atspi/ep0.h, fw/atspi/ep0.c (my_setup): commands
  ATSPI_{REG,BUF,SRAM}_{READ,WRITE} for the six SPI access modes
2010-08-20 01:50:51 -03:00
Werner Almesberger
3c87d9f8c7 Turn the LED on while in the boot loader.
- fw/common/config.h: added platform defines to enable the LED while in
  the boot loader
- fw/common/io.h: updated path in title
2010-08-19 23:14:55 -03:00
Werner Almesberger
f8cd15e84d Generate port, bit, and output mode definitions from io.h
- fw/common/Makefile: generate related definitions from io.h (from IBDG)
- fw/Makefile: build the various firmware elements (from IDBG, without the
  target parts)
2010-08-19 22:02:38 -03:00
Werner Almesberger
57f34270fb A new try at config.h management: moved it to ../common, along with io.h
- fw/boot/Makefile, fw/atspi/Makefile: add ../common to include path
- fw/boot/config.h, fw/atspi/io.h: moved to ../common
- fw/common/config.h: updated comment - it's no longer specific to boot.c
2010-08-19 21:57:59 -03:00
Werner Almesberger
ada1ee037f fw/atspi/: added application with basic EP0 protocol 2010-08-19 09:04:51 -03:00
Werner Almesberger
2c8c609316 Boot loader Makefile cleanup.
- fw/boot/Makefile: removed object file rules now in Makefile.common (of
  f32xbase)
- fw/boot/Makefile: removed setting of -DLOW_SPEED, which can now go into
  config.h and which was enabled by accident only
  accident
2010-08-19 01:14:21 -03:00
Werner Almesberger
00f28250c5 Added boot loader for C8051F326 (using f326xbase)
- fw/boot/Makefile: build DFU-capable bootloader from f326xbase
- fw/boot/config.h: product-specific configuration
2010-08-19 01:05:04 -03:00
Werner Almesberger
c9e61eedf1 Net name correction, layout update.
- atrf.sch: typo: CLKN net is really CLKM, like the signal driving it
- wpan-atrf.brd: updated layout for VBUS/VDD correction
- wpan-atrf.brd: set date code to "100818"
2010-08-18 17:21:47 -03:00
Werner Almesberger
524665fa14 Brown paper bag time: the VDD net was connected to VBUS, not VDD/VIO. 2010-08-18 15:45:26 -03:00
Werner Almesberger
12ebe2cb20 Typo causing silent failure: forgot the semicolon, so "doit" thought these
were empty lines and didn't add the Z offset.
2010-08-14 23:57:56 -03:00
Werner Almesberger
9bf969ed27 Typo causing silent failure. $z would be Perl, but this is Python. 2010-08-14 23:55:39 -03:00
Werner Almesberger
2cb3f18151 cam/: scripts for cutting the PCB (just the board - traces are etched) 2010-08-14 22:38:47 -03:00
Werner Almesberger
a7c04ad696 More board cleanup.
- wpan-atrf.brd: rearranged ground areas to prevent sections from being
  cut off
- wpan-atrf.brd: on PCB, added descriptive text, chip orientation, and
  version
2010-08-13 07:21:27 -03:00
Werner Almesberger
6b72015e6e Added ground fill areas. 2010-08-12 23:21:05 -03:00
Werner Almesberger
8e6fef19f9 First layout draft. (No GND areas, not quite following design rules.)
- wpan-atrf.brd: first attempt at a layout for the USB prototype
- wpan-atrf.cmp: (redundant) component list, to keep pcbnew from complaining
- atrf.sch: added labels to previously anonymous nets
- wpan-atrf.pro: added libraries (and noise from cvpcb and pcbnew)
2010-08-12 22:35:54 -03:00
Werner Almesberger
090ea77cb4 usb.sch cleanup.
- usb.sch: labeled D+ and D- nets
- usb.sch: moved VDD to avoid connected cross intersection
2010-08-12 16:02:14 -03:00
Werner Almesberger
245d87e93d Updated the LED.
- BOOKSHELF: added LTST-C190KRKT data sheet
- usb.sch: changed R1 to 68 Ohm. C8051F326 VOH at -10 mA is typ.
  VIO-0.8 V = 2.5 V, the LTST-C190KRKT has Vf at 10 mA typ. ~1.8 V
  (fig. 2), so we need to burn about 0.7 V.
- usb.sch: set the value of VR1, VR2, VR3 (add more details later)
2010-08-12 15:50:38 -03:00
Werner Almesberger
91591ff77d Added default footprints to schematics.
- atrf.sch: added footprint defaults, preferring 0402
- usb.sch: added footprint defaults, preferring 0603
- wpan-atrf.sch: added footprint defaults
- usb.sch: tentatively set R1 to 100 Ohm
2010-08-12 15:35:32 -03:00
Werner Almesberger
28e2c757bc Added modules for test points and solder pads. Some cleanup.
- AUTHORS, modules/INFO, modules/Makefile, modules/pads.fpd: added pads
- modules/Makefile: added forgotten "qfn" module
- modules/xtal-4.fpd: renamed crystal module from xtal-4-* to xtal4-*, for
  clarity
2010-08-12 15:28:03 -03:00
Werner Almesberger
0efc213a26 Made first draft of schematics.
- usb.sch: largely based on reference design, with fewer caps
- atrf.sch: reference design plus LC-balun from AVR2004
- wpan-atrf.sch: tie it all together
- components/at86rf230.lib, components/at86rf230.dcm: changed bidirectional
  power pins to passive
2010-08-12 13:09:36 -03:00
Werner Almesberger
73d2b7dbfb Copied antenna symbol from gta02-core. Updated footprint, and added
new items to schematics.

- AUTHORS, components/INFO, components/antenna.lib: copied antenna symbol
  by Rene Harder from gta02-core
- modules/meander.fpd: changed pin "numbers" from "GND" and "FEED" to
  more conventional "1" and "2"
- wpan-atrf.pro, atrf.sch: added crystal and antenna to schematics
2010-08-12 10:59:50 -03:00