Home | History | Annotate | Download | only in arduino-helper
      1 The code in this directory is intended to be run on an Arduino, which is a
      2 simple, open-source microcontroller platform:
      3     http://arduino.org/
      4 
      5 Essentially, an Arduino is a board for an ATMega microcontroller, and a GUI
      6 IDE project intended for semi-technical developers. The Arduino software
      7 essentially boils down to an IDE which is a text editor & build automater for a
      8 C/C++ library that hides most of the low-level details of configuring a
      9 program to run on the microcontroller. It uses the AVR toolchain and
     10 programmer to work with the device from a host PC. This project includes a
     11 Makefile which replicates work the normally performed by the IDE; that is, it
     12 builds and links the relevant Arduino boilerplate code that sets up the
     13 microcontroller, and then links together a final .hex file and prepares it for
     14 upload to the device.
     15 
     16 A BlueSMiRF Bluetooth SPP-to-TTL (or similar) board is also required; this
     17 device is used to validate Bluetooth API support via the CTS Verifier app.
     18     http://www.sparkfun.com/commerce/product_info.php?products_id=582
     19 
     20 This code running on a simple, inexpensive, known-good microcontroller
     21 platform makes it much easier to validate the Bluetooth API for an Android
     22 candidate device than the "Bluetooth Chat" approach currently required by the
     23 CDD.
     24 
     25 A compatible device can be substituted for some or all of the Arduino
     26 configuration; however it's worth noting that for approximately US$110, a
     27 complete test rig can be completed and used with any number of devices under
     28 test. Organizations are, of course, also free to manufacture their own
     29 Arduino-like devices.
     30 
     31 This code (and especially the Makefile) requires version 0018 of the Arduino
     32 toolchain. Because this software uses a non-Android-standard build, the
     33 Android source tree includes in the prebuilt/ directory a .hex file compiled
     34 from this source suitable for directly flashing to an Arduino
     35 Duemilanove-compatible device.
     36 
     37 The file pulsedtr.py is a Python script using the Serial I/O API that strobes
     38 the DTR line on the serial port. This is a signal to the Arduino to enter
     39 programming mode; this script is thus used in flashing the Arduino board (via
     40 a direct USB connection) with the prebuilt .hex file. If you are building
     41 from source, 'make upload' will handle this for you.
     42 
     43 To build the .hex file on Ubuntu Lucid:
     44 $ sudo add-apt-repository ppa:arduino-ubuntu-team
     45 $ sudo apt-get update; sudo apt-get install arduino
     46 $ make
     47 $ make upload
     48 
     49 Alternatively, the file 'cts-verifier.pde' can be loaded into the Arduino IDE
     50 as a sketch using the normal GUI workflow.
     51 
     52 This Makefile should hypothetically work on a Mac with the appropriate Arduino
     53 toolchain installed, but it has not been tested. Windows is not supported.
     54