SLAU533D September   2013  – April 2017

 

  1.   MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP)
    1.     Trademarks
    2. 1 Getting Started
      1. 1.1 Key Features
      2. 1.2 Kit Contents
      3. 1.3 Out-of-Box Experience
        1. 1.3.1 Step 1: Install a Software Development Platform
        2. 1.3.2 Step 2: Connect the Hardware
        3. 1.3.3 Step 3: Verify the storage volume has been loaded
        4. 1.3.4 Step 4: Open a text editor, and press the buttons
        5. 1.3.5 Step 5: Customize the strings
    3. 2 Hardware
      1. 2.1 Block Diagram
      2. 2.2 Hardware Features
        1. 2.2.1 MSP430F5529
        2. 2.2.2 eZ-FET lite Onboard Emulator
        3. 2.2.3 Integrated Full-Speed USB Hub
        4. 2.2.4 Power
        5. 2.2.5 Clocking
        6. 2.2.6 Application (or "Backchannel") UART
        7. 2.2.7 Emulator and Target Isolation Jumper Block
        8. 2.2.8 Isolation Jumper Block: 3.3-V and 5-V Jumpers
        9. 2.2.9 Isolation Jumper Block: Emulator Connection and Application UART
      3. 2.3 Measure Current Draw of MSP430 MCU
      4. 2.4 Using an External Power Source
        1. 2.4.1 External 3.3-V Power Source
        2. 2.4.2 External 5-V Power Source Without USB Connection
        3. 2.4.3 External 5-V Power Source With USB Connection
      5. 2.5 Using the eZ-FET lite Emulator With a Different Target
      6. 2.6 USB BSL Button
      7. 2.7 BoosterPack Plug-in Module Pinout
      8. 2.8 Design Files
      9. 2.9 Hardware Change Log
    4. 3 Software Examples
      1. 3.1 MSP430 Software Libraries: driverlib and the USB API
      2. 3.2 Viewing the Code
        1. 3.2.1 CCS
        2. 3.2.2 IAR
      3. 3.3 Example Project Software Organization
      4. 3.4 USB Configuration Files
      5. 3.5 Out-of-Box Experience: emulStorageKeyboard
        1. 3.5.1  Flowchart
        2. 3.5.2  Pre-Initialization
        3. 3.5.3  Initialization
          1. 3.5.3.1 Configuring the Keyboard
          2. 3.5.3.2 Configuring the MSC Interface
        4. 3.5.4  Handling SCSI Commands
        5. 3.5.5  LPM0 Entry
        6. 3.5.6  LPM0 Exit
        7. 3.5.7  Emulated Storage Volume
        8. 3.5.8  Sending Data as a USB Keyboard
        9. 3.5.9  Properly Handling USB Unplug Events
        10. 3.5.10 Non-Maskable Interrupt (NMI) Vector
      6. 3.6 Example: simpleUsbBackchannel
        1. 3.6.1 What It Does
        2. 3.6.2 Installing the CDC Interface
        3. 3.6.3 Operating the Example
        4. 3.6.4 Backchannel UART Library: bcUart.c, bcUart.h
        5. 3.6.5 Code Description: Initialization
          1. 3.6.5.1 Stopping the Watchdog
          2. 3.6.5.2 Configuring VCORE
          3. 3.6.5.3 Configuring Clocks
          4. 3.6.5.4 Configuring Ports
          5. 3.6.5.5 Initializing the Backchannel UART
          6. 3.6.5.6 Configuring USB
        6. 3.6.6 Code Description: Main Loop
        7. 3.6.7 Modifying to Use an HID-Datapipe Interface
      7. 3.7 Starting Device Manager
    5. 4 Additional Resources
      1. 4.1 LaunchPad Development Kit Websites
      2. 4.2 Information on the MSP430F5529
      3. 4.3 Download CCS, IAR, mspgcc, or Energia
      4. 4.4 USB Developers Package
      5. 4.5 MSP430Ware and TI Resource Explorer
      6. 4.6 F5529 Code Examples
      7. 4.7 MSP430 Application Notes
      8. 4.8 TI E2E Community
      9. 4.9 Community at Large
    6. 5 FAQs
    7. 6 Schematics
  2.   Revision History

Modifying to Use an HID-Datapipe Interface

This demo can be easily converted to use an HID-Datapipe interface instead of CDC (see Figure 34). The advantage of the HID-Datapipe interface is that HID does not require the INF installation process on Windows PCs that CDC does. In exchange for this, it operates with a 64-KB/s bandwidth limit.

HID also does not have the same host-side coding simplicity provided by virtual COM ports. For this reason, TI provides the Java HID Demo App as an example. This demo app and its source code are included in the MSP430 USB Developers Package.

HID-Datapipe is a special version of HID and is part of the MSP430 USB API. It allows communication that is point-to-point, bidirectional, and unformatted, much like a virtual COM port. In contrast, traditional HID relies on highly-formatted reports. HID-Datapipe abstracts the application from these reports and presents an interface that is very much like the one used for CDC.

To convert the simpleUsbBackchannel example to use HID-Datapipe:

  • Use the Descriptor Tool to generate new output in the example's \USB_config directory. A Descriptor Tool input file called simpleUsbBackchannel_HID.dat is provided in the project directory. Open this file with the Tool, and then generate new output files into \USB_config. (For reverting to CDC, another file that is named simpleUsbBackchannel_CDC.dat is provided.)
  • The code shown in Section 3.6.6 includes alternate calls for HID, which are symmetrical to the ones for CDC. Comment out the CDC calls, and uncomment the ones for HID.

Now, build and run. Download the MSP430 USB Developers Package, and run the Java HID Demo App. The app needs to know the VID and PID reported by the F5529; for the HID version of this example, these are 0x2047 and 0x0404, respectively.

Instructions for using the Java HID Demo App are located in the Examples Guide PDF file in the MSP430 USB Developers Package.

movement_of_data_hid-datapipe_slau533.gifFigure 34. Movement of Data in simpleUsbBackchannel: HID-Datapipe