Search the Community

Showing results for tags 'usb'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks

Calendars

There are no results to display.


Found 32 results

  1. Hi I wonder if anybody can give a newbie some advice. I just started using my MSP430G2553 today. Was working great through USB and getting to grips with the basics using energia 101E0017 (I couldnt get R18 working). Then decided to disconnect the USB cable and power at 3.6V through the 3 pin header (Vcc GND, GND) was working good until I knocked the board and a cable must have shorted something, as the board will no longer power through Vcc but will when using the USB cable. Powering through the Vcc on the 3 pin header or the 10 pin header on the left side of the board I get 3.6 volts on pin1 of the chip (+ve supply of the chip) but also on pin 20 I believe the ground pin of the chip. I cant understand why this should happen with external power but not when powered by the USB. Programs can be uploaded to the board. I've tried various sketches they all work. I'm just getting back in to electronics so I've probably missed something obvious. (A side note should the Vcc jumper be removed when powering externally or does that not matter.) Any help would be gratefully appreciated.
  2. Hi I wonder if anybody can give a newbie some advice. I just started using my MSP430G2553 today. Was working great through USB and getting to grips with the basics using energia 101E0017 (I couldnt get R18 working). Then decided to disconnect the USB cable and power at 3.6V through the 3 pin header (Vcc GND, GND) was working good until I knocked the board and a cable must have shorted something, as the board will no longer power through Vcc but will when using the USB cable. Powering through the Vcc on the 3 pin header or the 10 pin header on the left side of the board I get 3.6 volts on pin1 of the chip (+ve supply of the chip) but also on pin 20 I believe the ground pin of the chip. I cant understand why this should happen with external power but not when powered by the USB. Programs can be uploaded to the board. I've tried various sketches they all work. I'm just getting back in to electronics so I've probably missed something obvious. (A side note should the Vcc jumper be removed when powering externally or does that not matter.) Any help would be gratefully appreciated.
  3. FYI: If you are looking for a good quality touch screen for a Odroid, Raspberry Pi or other SBC project, the Kickstarter for Manga Screen 2 is out now: Full disclosure: I am a backer, and I know Elias (the maker of Manga Screen 2)
  4. I know I haven't finished off my desk clock project just yet, But I've been requested to design a new GPS logging device for my sisters Beagle Club, The basic idea is that a sent is placed with a guy that forms a path, the GPS logger is taken along also. They then attach the device to a beagle (using some kind of vest, I think). And let them follow the scent. Post event they extract the GPS data from the logger and overlay both tracks in google earth. They have one unit that has been working well for them, developed by a previous club member. It consists of off the shelf components from Sparkfun. With a total BOM just over $150 Logomatic V2 (https://www.sparkfun.com/products/12772) GPS (https://www.sparkfun.com/products/8975) 128mb uSD Old Cell phone battery (Li-ion) (~700mAh judging from physical size) All of these are connected together and fit into an off the shelf jiffy box. They would like 5 more made, which would perform identical/similar function Design goals: Lower cost (< $50AUD per unit, making 5 units) Externally operates identically to the old versionUSB MSC Logs start when unit powered on via toggle switch new log created when button pressed All additional tools stored on SD card (GPS utilities, past logs) Long battery life, unit should operate for > 10Hours Physically the same size or smaller (if time allows, a simple PC tool to to reset the device into DFU mode, and update the firmware) I'm planning to source a more slimline case. once I have that I will begin PCB design. I have drawn some quick System level schematics The hardware is pretty straight forward Same with the software, I have already played with the MSP430 USB MSC examples, and am familiar with FATFS. I should be able to glue in some UART code to get it all to work. The device will operate under two modes depending on if it's connected to USB or not. Hopefully someone will find this mildly interesting as I work through it.
  5. Hi there, first of all sorry but I am a greenhorn in programming a ┬ÁController :-/ I set myself a new goal that I program a tiny tool to measurer timings of a self made shutter electronic for a camera. For this I would like to send a String by pushing button1 at my MSP430G2553 LaunchPad. The string should be sending via USB connection to PC and again to another USB Port. The hardware at the end of the second USB Port will drive a solenoid. The primary purpose is to measure the delay between sending at the LaunchPad and receiving the driver signal of the solenoid driver. The problem is, I have no idea how does the communication is possible :-/ At this days I understand how some ENERGIA examples does work and I can program some parts by my own. Possibilities of communication is totally new for me. Please could someone give me some tips on how to solve that ? I am grateful for all information.
  6. Hi I purchased a TUSB3410PDK EVM kit. Also, I downloaded a USB-Serial port interface code from a open source site. By now i understand that the TUSB3410 boots out of a ROM code initially and then loads the code from EEPROM and passes control to the EEPROM code. The issue is if I just execute this code below.it does not toggle P3_3 pin why?. The other question is am i supposed to re-enumerate with the code that I got from opensource ... And if so does anyone here have experience with this open source bootcode... Note, I have got it compiled using SDCC and have tried putting the bin file into EEPROM and reset the connection but the device does not enumerate... Please help!!! void main(void) { int index; //bWDCSR = 0x2a; // this would disable the watchdog (tested!) * //bWDCSR |= WDCSR_WDT; while ( 1 ) { (* (char __xdata *)(0xFF9E))&=0xF7; //P3^=1; for (index=0;index<1000L;index++) { } (* (char __xdata *)(0xFF9E))|=0x08; //P3^=1; bWDCSR |= WDCSR_WDT; } }
  7. For those of you attempting to build USB devices I put together some Launchpad examples as well as a lab type walkthrough of how to create custom devices (mainly HID) Included 1) Examples ported to the Launchpad - Mouse, Keyboard, Composite 2) Updated HID header file with additional device and usage types 3) A new device type called usbdhidcustom - This allows you to make new devices with minimal code changes 4) A complete document in lab type format where you build a volume control device, a gamepad and a keyboard + mouse 5) Completed projects to go with the labs StellarisWare.zip
  8. Hello, in my project I want to use the MSP430G2553 as a master which communicates with another device via USCI_A0 UART mode. Is it possible to program the MSP430G2553 via the other modes, e.g. USCI_B0 SPI or USCI_B0 I2C respectively, without the use of a programmer? Are there any tutorials regarding on how to write a bootloader for the MSP430? Cheers, Tim Torpedo
  9. Hi everyone, TLDNR: How do I set up MIDI descriptors for MIDI over USB so that I can get my PC to recognize my F5510 as a class-compliant MIDI device, either using the TI USB Dev package, api, and descriptor tool, or manually? I'm working on my first MSP430 project and hoping to get some help setting up the USB interface in CCS. I'm working with an MSP430F5510 on a custom board and trying to set it up so that it's recognized as a class-compliant midi device on the PC - then I will send midi messages to the PC to control music programs, etc. I'm stuck on where to start for configuring the USB on the MSP430 and setting up the MIDI descriptors. So far, I've managed to run the empty USB example from TI's USB Developers Package using HID settings from the TI Descriptor Tool - my PC recognized it as an HID device and installed it. It shows in device manager (yet has an error, which I suspect is just due to not running any code yet: "This device cannot start. (Code 10)"). Okay, this seems good - I imagine my hardware is working then. Now how do I set it up to be recognized as a MIDI device? The TI examples and descriptor tool don't support MIDI, but I was hoping I could possibly modify the code to make it work - to save re-inventing some of the wheel. Their code seems quite convoluted and abstracted which is making it difficult for me to figure out what I need to do. I've found some resources on MIDI over USB such as the ones below, but am looking for some direction on how to actually implement it. Resources I've found: MIDI descriptor from microchip: http://www.microchip.com/forums/m297214.aspx Forum question on basics of MIDI over USB: http://electronics.stackexchange.com/questions/87601/implementing-a-class-compliant-usb-midi-device All of TI's USB Dev stuff: http://www.ti.com/tool/msp430usbdevpack http://www.ti.com/lit/an/slaa457a/slaa457a.pdf MIDI over USB Spec for knowing what to put in descriptors: http://www.usb.org/developers/docs/devclass_docs/midi10.pdf Main questions on the topic: Should I be trying to use TI's examples? Also the API? Where do I put the descriptors and how? Are there other resources I should be following? Thanks heaps in advance for any insight you can give! Congrats if you read this far - you're the best =). Thanks, Josh
  10. For those in the US: Fry's has 5V 1A USB chargers from Belkin on sale for 30 cents a piece! Perfect for powering the odd electronics project. http://www.frys.com/product/6517763 According to this test and teardown, it seems to be living up to its spec: http://www.eevblog.com/forum/reviews/teardown-$0-30-usb-power-supply-at-fry%27s/msg671559/ The catch? The connector on the USB cable is for obsolete iProducts. So you even get a solid USB cable that can be cut up without regrets. My local Fry's in Renton, WA still had a few hundred on stock at 3pm today. I don't think they will last when word gets out.
  11. I'm currently doing a project on MSP430F5638. I want to implement USB on it. I got the code from TI website,(I am running the M2_SDCardReader example that came with version 4_20_00 of the USB Developers Package.) but while running this code I am facing some problems. If I run the code I can see unknown device(after calling the function usb_conncet) in my system for a moment, then its disappearing. I used descriptor tool to assign the VID and PID as mentioned in the guide provided by TI. how can i solve this problems..????? Do you have any suggestions?
  12. I recent completed the prototype of my LoginNFC project. It's a combination of MSP430 acting as a USB keyboard (and CDC serial for configuration) and a TRF7970A NFC reader. The prototype was done with a F5529 LaunchPad and TRF7970A Booster - along with a ferrite antenna to improve the read range. It's working well and I did a small write-up here: https://0xfred.wordpress.com/2015/01/14/nfc-login-version-1-0/ However, I don't really feel it's complete until I've got it off the dev board and made a decent PCB. This is my first double-sided PCB, first time with USB, first time with LQFP and QFN. Before I print out the transparencies and start etching (yes - I'm planning to hom eetch this) I thought I'd throw it out there for criticism - constructive or otherwise. Lots of inspiration from @@RobG and his F5510 board along with TI's reference designs.Thanks for that. I'm sure I've have messed up somewhere though! Here's what I've got. The vias are large (and the drill small) because they will be done with 0.6mm copper rivets. I thought I'd give myself a bit of leeway for centering the hole when I drill them. I've tried to minimise them and they'll be done by hand but there still seems to be more than I'd like. The part that's off the board is an inductor that seems to work well as an antenna. I need to get my implant as close as possible beside it. Eagle files attached if anyone wants to take a closer look. LoginNFC.sch LoginNFC.brd
  13. The Examples Guide: MSP430 USB API Stack (contained within the MSP430 USB Developers Package) states that cdcSendDataInBackground alternates between bufferX and bufferY. I stared at the code but still cannot figure out how the program flow does the bufferX-then-bufferY thing. Any thoughts?
  14. I'm in the middle of a project using the f5529 launchpad and Energia. I'm trying to use both the USB and the I2C port at the same time. I can initialize the USB and see it enumerate in the windows device manager and I can read/write to it and it works properly. But as soon as I try to enable the I2C port using the USCI_B1 the USB dies and can no longer be read or written to. The example codes in Energia work for both the USB examples and for the TMP006 example, so the harware is OK. But trying to get them both to play at the same time is a nogo. What am I missing? #include <USBSerial.h> #include "tmp006.h" #define USE_USCI_B1 USBSerial mySerial(1); // USB tmp006 tmp006; void setup() { // open the USBSerial port mySerial.begin(); mySerial.println("setup!"); // Setup the temperature sensors //The following line is killing the USB port tmp006.begin(FOUR_SAMPLES); // Takes 4 averaged samples for measurement } void loop() { mySerial.println("loop!"); }
  15. Greetings, I am currently working on a personal project using Tiva Launchpad together with Eclipse Kepler IDE and GNU ARM Embedded Tools (gcc version 4.8.2). Last week my efforts were focused on making the "usb_dev_serial" example (Tivaware 2.0.1.11577) work with that development setup (also i'm using it all on Windows 8). So far, a simple I2C master + button interrupt + LED toggling example I've made with this development configuration is working OK. When the USB module was added ("usb_dev_serial" skeleton added to my project), some compiling issues arised, but got fixed after I put "libusb.a" as resource library for the linking process. Unfortunately, some linking problems appeared (CDT build console exposed below): C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `HandleRequests': usbdcdc.c:(.text.HandleRequests+0x58): undefined reference to `USBDevEndpointDataAck' usbdcdc.c:(.text.HandleRequests+0x64): undefined reference to `USBDevEndpointDataAck' usbdcdc.c:(.text.HandleRequests+0x88): undefined reference to `USBDevEndpointDataAck' usbdcdc.c:(.text.HandleRequests+0xba): undefined reference to `USBDevEndpointDataAck' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `SendSerialState': usbdcdc.c:(.text.SendSerialState+0x42): undefined reference to `USBEndpointDataPut' usbdcdc.c:(.text.SendSerialState+0x52): undefined reference to `USBEndpointDataPut' usbdcdc.c:(.text.SendSerialState+0x66): undefined reference to `USBEndpointDataSend' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `CDCTickHandler': usbdcdc.c:(.text.CDCTickHandler+0x8c): undefined reference to `USBEndpointDataAvail' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `ProcessDataFromHost': usbdcdc.c:(.text.ProcessDataFromHost+0xa): undefined reference to `USBEndpointStatus' usbdcdc.c:(.text.ProcessDataFromHost+0x18): undefined reference to `USBDevEndpointStatusClear' usbdcdc.c:(.text.ProcessDataFromHost+0x40): undefined reference to `USBEndpointDataAvail' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `ProcessNotificationToHost': usbdcdc.c:(.text.ProcessNotificationToHost+0xa): undefined reference to `USBEndpointStatus' usbdcdc.c:(.text.ProcessNotificationToHost+0x16): undefined reference to `USBDevEndpointStatusClear' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `ProcessDataToHost': usbdcdc.c:(.text.ProcessDataToHost+0xa): undefined reference to `USBEndpointStatus' usbdcdc.c:(.text.ProcessDataToHost+0x16): undefined reference to `USBDevEndpointStatusClear' usbdcdc.c:(.text.ProcessDataToHost+0x52): undefined reference to `USBEndpointDataSend' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `USBDCDCPacketWrite': usbdcdc.c:(.text.USBDCDCPacketWrite+0x20): undefined reference to `USBEndpointDataPut' usbdcdc.c:(.text.USBDCDCPacketWrite+0x46): undefined reference to `USBEndpointDataSend' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `USBDCDCPacketRead': usbdcdc.c:(.text.USBDCDCPacketRead+0x10): undefined reference to `USBEndpointStatus' usbdcdc.c:(.text.USBDCDCPacketRead+0x3c): undefined reference to `USBEndpointDataAvail' usbdcdc.c:(.text.USBDCDCPacketRead+0x50): undefined reference to `USBEndpointDataGet' usbdcdc.c:(.text.USBDCDCPacketRead+0x64): undefined reference to `USBDevEndpointStatusClear' usbdcdc.c:(.text.USBDCDCPacketRead+0x70): undefined reference to `USBDevEndpointDataAck' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdcdc.o): In function `USBDCDCRxPacketAvailable': usbdcdc.c:(.text.USBDCDCRxPacketAvailable+0x16): undefined reference to `USBEndpointStatus' usbdcdc.c:(.text.USBDCDCRxPacketAvailable+0x2a): undefined reference to `USBEndpointDataAvail' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdenum.o): In function `USBDEP0StateTx.clone.0': usbdenum.c:(.text.USBDEP0StateTx.clone.0+0x22): undefined reference to `USBEndpointDataPut' usbdenum.c:(.text.USBDEP0StateTx.clone.0+0x46): undefined reference to `USBEndpointDataSend' usbdenum.c:(.text.USBDEP0StateTx.clone.0+0x36): undefined reference to `USBEndpointDataSend' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdenum.o): In function `USBDCDInit': usbdenum.c:(.text.USBDCDInit+0x40): undefined reference to `USBClockEnable' usbdenum.c:(.text.USBDCDInit+0x4a): undefined reference to `USBULPIEnable' usbdenum.c:(.text.USBDCDInit+0x68): undefined reference to `USBULPIDisable' usbdenum.c:(.text.USBDCDInit+0x74): undefined reference to `USBDevMode' usbdenum.c:(.text.USBDCDInit+0x7e): undefined reference to `USBOTGMode' usbdenum.c:(.text.USBDCDInit+0x94): undefined reference to `USBDevLPMConfig' usbdenum.c:(.text.USBDCDInit+0x9c): undefined reference to `USBLPMIntEnable' usbdenum.c:(.text.USBDCDInit+0xa2): undefined reference to `USBDevLPMEnable' usbdenum.c:(.text.USBDCDInit+0xae): undefined reference to `USBDevLPMDisable' usbdenum.c:(.text.USBDCDInit+0xb6): undefined reference to `USBDevLPMConfig' usbdenum.c:(.text.USBDCDInit+0xfe): undefined reference to `USBIntStatusControl' usbdenum.c:(.text.USBDCDInit+0x104): undefined reference to `USBIntStatusEndpoint' usbdenum.c:(.text.USBDCDInit+0x10c): undefined reference to `USBIntEnableControl' usbdenum.c:(.text.USBDCDInit+0x116): undefined reference to `USBIntEnableEndpoint' usbdenum.c:(.text.USBDCDInit+0x11c): undefined reference to `USBDevConnect' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdenum.o): In function `USBDCDStallEP0': usbdenum.c:(.text.USBDCDStallEP0+0x8): undefined reference to `USBDevEndpointStall' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelRelease': usbdma.c:(.text.iDMAUSBChannelRelease+0x8): undefined reference to `USBDMAChannelDisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelAllocate': usbdma.c:(.text.iDMAUSBChannelAllocate+0x1e): undefined reference to `USBDMAChannelDisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelDisable': usbdma.c:(.text.iDMAUSBChannelDisable+0xa): undefined reference to `USBDMAChannelDisable' usbdma.c:(.text.iDMAUSBChannelDisable+0x12): undefined reference to `USBDMAChannelIntDisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelIntDisable': usbdma.c:(.text.iDMAUSBChannelIntDisable+0x4): undefined reference to `USBDMAChannelIntDisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelIntEnable': usbdma.c:(.text.iDMAUSBChannelIntEnable+0x4): undefined reference to `USBDMAChannelIntEnable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelEnable': usbdma.c:(.text.iDMAUSBChannelEnable+0x36): undefined reference to `USBDMAChannelIntEnable' usbdma.c:(.text.iDMAUSBChannelEnable+0x3e): undefined reference to `USBDMAChannelEnable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBTransfer': usbdma.c:(.text.iDMAUSBTransfer+0x40): undefined reference to `USBDMAChannelAddressSet' usbdma.c:(.text.iDMAUSBTransfer+0x4a): undefined reference to `USBDMAChannelCountSet' usbdma.c:(.text.iDMAUSBTransfer+0x6e): undefined reference to `USBEndpointPacketCountSet' usbdma.c:(.text.iDMAUSBTransfer+0x84): undefined reference to `USBEndpointDMAConfigSet' usbdma.c:(.text.iDMAUSBTransfer+0x98): undefined reference to `USBDMAChannelConfigSet' usbdma.c:(.text.iDMAUSBTransfer+0xc2): undefined reference to `USBEndpointDMAConfigSet' usbdma.c:(.text.iDMAUSBTransfer+0xd2): undefined reference to `USBDMAChannelConfigSet' usbdma.c:(.text.iDMAUSBTransfer+0xea): undefined reference to `USBEndpointDMAEnable' usbdma.c:(.text.iDMAUSBTransfer+0xf2): undefined reference to `USBDMAChannelEnable' usbdma.c:(.text.iDMAUSBTransfer+0xfa): undefined reference to `USBEndpointDMADisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBIntStatus': usbdma.c:(.text.iDMAUSBIntStatus+0x2): undefined reference to `USBDMAChannelIntStatus' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `iDMAUSBChannelStatus': usbdma.c:(.text.iDMAUSBChannelStatus+0x8): undefined reference to `USBDMAChannelStatus' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBUnitSizeSet': usbdma.c:(.text.uDMAUSBUnitSizeSet+0x6e): undefined reference to `uDMAChannelControlSet' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBArbSizeSet': usbdma.c:(.text.uDMAUSBArbSizeSet+0x6e): undefined reference to `uDMAChannelControlSet' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBIntStatus': usbdma.c:(.text.uDMAUSBIntStatus+0x12): undefined reference to `uDMAChannelModeGet' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBChannelRelease': usbdma.c:(.text.uDMAUSBChannelRelease+0xe): undefined reference to `uDMAChannelAttributeDisable' usbdma.c:(.text.uDMAUSBChannelRelease+0x2c): undefined reference to `USBEndpointDMADisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBChannelEnable': usbdma.c:(.text.uDMAUSBChannelEnable+0x5c): undefined reference to `USBEndpointDMAEnable' usbdma.c:(.text.uDMAUSBChannelEnable+0x62): undefined reference to `uDMAChannelEnable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBTransfer': usbdma.c:(.text.uDMAUSBTransfer+0x4a): undefined reference to `USBFIFOAddrGet' usbdma.c:(.text.uDMAUSBTransfer+0x84): undefined reference to `uDMAChannelTransferSet' usbdma.c:(.text.uDMAUSBTransfer+0xa2): undefined reference to `USBEndpointPacketCountSet' usbdma.c:(.text.uDMAUSBTransfer+0xb6): undefined reference to `USBEndpointDMAConfigSet' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBChannelDisable': usbdma.c:(.text.uDMAUSBChannelDisable+0x2e): undefined reference to `USBEndpointDMADisable' usbdma.c:(.text.uDMAUSBChannelDisable+0x34): undefined reference to `uDMAChannelDisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `uDMAUSBChannelAllocate': usbdma.c:(.text.uDMAUSBChannelAllocate+0x86): undefined reference to `USBEndpointDMAChannel' usbdma.c:(.text.uDMAUSBChannelAllocate+0x8e): undefined reference to `uDMAChannelAttributeDisable' usbdma.c:(.text.uDMAUSBChannelAllocate+0x9a): undefined reference to `uDMAChannelControlSet' usbdma.c:(.text.uDMAUSBChannelAllocate+0xb0): undefined reference to `USBEndpointDMADisable' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbdma.o): In function `USBLibDMAInit': usbdma.c:(.text.USBLibDMAInit+0x7c): undefined reference to `USBControllerVersion' C:\ti\TivaWare_C_Series-2.0.1.11577\usblib\gcc\libusb.a(usbulpi.o): In function `ULPIConfigSet': usbulpi.c:(.text.ULPIConfigSet+0x8): undefined reference to `USBULPIRegRead' usbulpi.c:(.text.ULPIConfigSet+0x18): undefined reference to `USBULPIRegWrite' usbulpi.c:(.text.ULPIConfigSet+0x20): undefined reference to `USBULPIRegRead' usbulpi.c:(.text.ULPIConfigSet+0x32): undefined reference to `USBULPIRegWrite' usbulpi.c:(.text.ULPIConfigSet+0x3a): undefined reference to `USBULPIRegRead' usbulpi.c:(.text.ULPIConfigSet+0x50): undefined reference to `USBULPIRegWrite' collect2.exe: error: ld returned 1 exit status All undefined references point to functions declared in driverlib/usb. Does anybody have a clue where to start to fix this issue?
  16. Hello everyone, FIrst - its not the permission issue of not having a proper udev rule. I am on Debian Wheezy with all the msp related packages installed from the official repos - including mspdebug. But after I connect the launchpad and give: mspdebug rf2500 I get usbutil: unable to find a device matching 0451:f432 My computer is not detecting the board. The output of lsusb is: Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 003: ID 1210:25f4 DigiTech Bus 002 Device 003: ID 04f3:0232 Elan Microelectronics Corp. Mouse I get *no* information at dmesg while I plug in or disconnect the launchpad. Absolutely nothing. The output of lsmod | grep ti confirms that the ti's usb driver module has not been loaded. So I manually loaded that one with modprobe ti_usb_3410_5052 Now I see something in dmesg: [ 1496.709197] usbcore: registered new interface driver usbserial [ 1496.709227] USB Serial support registered for generic [ 1496.709266] usbcore: registered new interface driver usbserial_generic [ 1496.709273] usbserial: USB Serial Driver core [ 1496.722267] USB Serial support registered for TI USB 3410 1 port adapter [ 1496.722313] USB Serial support registered for TI USB 5052 2 port adapter [ 1496.722733] usbcore: registered new interface driver ti_usb_3410_5052 [ 1496.722741] ti_usb_3410_5052: v0.10:TI USB 3410/5052 Serial Driver Now I plugged in the board again. But absolutely *no* change in the dmesg or lsusb output. The board is a fresh one, and its working well - when I plug in into USB, I can see its demo program blinking those red and green leds. Now, as mentioned in http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Getting_Started_with_Debugging, I looked for the firmware file to copy, but the file ti_3410.fw doesnt exist anywhere in my /lib/firmware. But I do have a file ti_3410.fw.ihex in /usr/lib/mspdebug which obviously came with mspdebug. What's wrong? What should I do to get the USB port detected? It might be irrelevant, but I can connect an Arduino board on the same port, and it works well. Thanks in advance!
  17. I'm calling in the MSP430 USB specialists. On Rev A of my standalone AIS Receiver board, I connect DP/DM (D+/D-) backwards to the MSP43F5508. After I realized the error, I cut the traces and patched it up with two short wires. Unfortunately the device is still not enumerated by the host. I use TI's USB library. USB_setup() completes successfully, but USB_connectionState() stays in the enumerating state forever while nothing happens on the PC. Could it be, that I killed the USB data inputs by having DP and DM connected the wrong way around? Any other suggestions on how to debug this situation?
  18. Hi, I am planning to build a logic analyser using my Tiva-C launchpad. I have seen a logic analyser using the SUMP protocol but it uses the USB CDC (serail port) to transfer data. http://www.fischl.de...aris_launchpad/ I need a better sampling rate for my GPIO. My plan is to copy the contents of GPIO data register using DMA into the USB FIFO. Then use some custome device driver in USB to transfer data to PC instead of using USB CDC class drivers.There is a similar example for STM32(but for a different application) http://www.st.com/st.../CD00256689.pdf How to find out the sampling rate for a GPIO ? If I use DMA to copy the data from GPIO, will the performance(i.e sampling rate) of the logic analyser increase ? Could anyone let me know how fast DMA can copy data from GPIO and write to USB FIFO ? How fast can USB CDC then transfer data to the PC ? Do I have to implement USB "BULK" mode(or some custom driver) to transfer data? I found that Saleae logic analyser uses this same concept(copy data from GPIO directly to USB) http://www.saleae.com/logic There is a open source driver for this device to understand the implementation http://sigrok.org/wiki/Fx2lafw Is it worth to design a logic analyser using GPIO <-> DMA <-> USB concept if there wont be much improvement in the performance since there already exist one based on the SUMP protocol(the first link that I have shared). Thanks!
  19. Okay, so I found out from my previous post that the output value from the ADC can be accessed through pui32ADC0Value...now, im trying to send that data via USB device mode in Tiva, however, my concerns are will my code work? And if it works, how do I access that data via MatLab. Thanks Once again, credits to the maker of the ADC code. #include <stdbool.h> #include <stdint.h> #include "inc/hw_memmap.h" #include "driverlib/adc.h" #include "driverlib/gpio.h" #include "driverlib/sysctl.h" #include "driverlib/adc.h" #include "inc/hw_types.h" #include "driverlib/debug.h" #include "driverlib/usb.h" #include "usblib/usblib.h" #include "usblib/usblibpriv.h" #include "usblib/device/usbdevice.h" #include "usblib/device/usbdevicepriv.h" main(void) { uint32_t pui32ADC0Value[1]; SysCtlClockSet(SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN| SYSCTL_XTAL_16MHZ); //Set clock at 40 Mhz , Sometimes //ADC may not work at 80Mhz SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); ADCReferenceSet(ADC0_BASE, ADC_REF_INT); //Set reference to the internal reference // You can set it to 1V or 3 V GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_5); //Configure GPIO as ADC ADCSequenceDisable(ADC0_BASE, 3); //It is always a good practice to disable ADC prior //to usage ,else the ADC may not be accurate // due to previous initializations ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0); //Use the 3rd Sample sequencer ADCSequenceStepConfigure(ADC0_BASE, 3, 0,ADC_CTL_CH8 | ADC_CTL_IE | ADC_CTL_END); //Configure ADC to read from channel 8 ,trigger the interrupt to end data capture // ADCSequenceEnable(ADC0_BASE, 3); //Enable the ADC ADCIntClear(ADC0_BASE, 3); //Clear interrupt to proceed to data capture uint8_t* Data = "pui32ADC0Value"; // // Configure Endpoint 1. // USBDevEndpointConfigSet(USB0_BASE, USB_EP_1, 64, //DISABLE_NAK_LIMIT, USB_EP_MODE_BULK | USB_EP_DEV_IN); // // Configure FIFO as a device IN endpoint FIFO starting at address 64 // and is 64 bytes in size. // USBFIFOConfigSet(USB0_BASE, USB_EP_1, 64, USB_FIFO_SZ_64, USB_EP_DEV_IN); while (1) { ADCProcessorTrigger(ADC0_BASE, 3); //Ask processor to trigger ADC while (!ADCIntStatus(ADC0_BASE, 3, false)) { //Do nothing until interrupt is triggered } ADCIntClear(ADC0_BASE, 3); //Clear Interrupt to proceed to next data capture ADCSequenceDataGet(ADC0_BASE, 3, pui32ADC0Value); //pui32ADC0Value is the value read SysCtlDelay(SysCtlClockGet() / 12); // // Put the data in the FIFO. // USBEndpointDataPut(USB0_BASE, USB_EP_1, Data, 64); // // Start the transmission of data. // USBEndpointDataSend(USB0_BASE, USB_EP_1, USB_TRANS_IN); //USBEndpointDataGet(USB0_BASE, USB_EP_1, Data, 32); } //Suitable delay }
  20. Hi, I recently found a ADC code in the forums. I plan to input it with a signal, but I dont know where to test the output. Here's the code, credits to the maker. #include <stdbool.h> #include <stdint.h> #include "inc/hw_memmap.h" #include "driverlib/adc.h" #include "driverlib/gpio.h" #include "driverlib/sysctl.h" #include "driverlib/adc.h" #include "inc/hw_types.h" #include "driverlib/debug.h" main(void) { uint32_t pui32ADC0Value[1]; SysCtlClockSet(SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN| SYSCTL_XTAL_16MHZ); //Set clock at 40 Mhz , Sometimes //ADC may not work at 80Mhz SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); ADCReferenceSet(ADC0_BASE, ADC_REF_INT); //Set reference to the internal reference // You can set it to 1V or 3 V GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_5); //Configure GPIO as ADC ADCSequenceDisable(ADC0_BASE, 3); //It is always a good practice to disable ADC prior //to usage ,else the ADC may not be accurate // due to previous initializations ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0); //Use the 3rd Sample sequencer ADCSequenceStepConfigure(ADC0_BASE, 3, 0,ADC_CTL_CH8 | ADC_CTL_IE | ADC_CTL_END); //Configure ADC to read from channel 8 ,trigger the interrupt to end data capture // ADCSequenceEnable(ADC0_BASE, 3); //Enable the ADC ADCIntClear(ADC0_BASE, 3); //Clear interrupt to proceed to data capture while (1) { ADCProcessorTrigger(ADC0_BASE, 3); //Ask processor to trigger ADC while (!ADCIntStatus(ADC0_BASE, 3, false)) { //Do nothing until interrupt is triggered } ADCIntClear(ADC0_BASE, 3); //Clear Interrupt to proceed to next data capture ADCSequenceDataGet(ADC0_BASE, 3, pui32ADC0Value); //pui32ADC0Value is the value read SysCtlDelay(SysCtlClockGet() / 12); } //Suitable delay }
  21. Hey guys. I recently got a Launch pad -- MSP430G2 board ( Rev B ) [only the board and the USB cable from a friend]. I downloaded Energia for my Mac running OS X 10.9. [maverics]. Though the Power LED lights up, the board is not recognised by the IDE. I don't know if the problem is with the board, the cable or the IDE. Though the board was detected for a short period of time and I was able to just uplaod the Blink sketch into it. Now when I connect to a USB power or my MAC, led1 just keeps blinking. I am unable to program it. I hope you guys can help me spot the problem so that I can rectify it and make use of the board to learn Embedded systems. Thanks in advance.
  22. This project is an update to the binary clock that I used on my desk. The new version has a lot of new features including RGB leds(WS2812), a bigger microcontroller(The Olimexino-5510 board), capacitive touch and light sensor. My first idea was to have something based on the MSP430G2553, a couple of WS2812 leds and capacitive touch. But after comparing the work i would have to do, and very few rewards to the Olimexino-5510 functionality I quickly reconsidered. The Olimexino-5510 provides quite a few things I wanted: MSP430F5510 Battery Charger USB capabilities Arduino Form Factor So all I had to do was make a nice board that went on top with the stuff I wanted for the clock functionality. WS2812 RGB LEDs The main feature of the Clock is the 6x3 WS2812 RGB led matrix. These leds contain a little controller that accept a serial protocol for the color data and they handle the PWM. They're also chainable meaning that only one pin(D11, LED-DATA) is required to quite all of them. In my using @@oPossum's library Power Supply The Olimexino-5510 has a connector for a battery. But it just connects the battery to the 5V rail, the battery could go as low as 3V. The WS2812 aren't meant to run that low, specifically the Blue led get a lot dimmer. In order to fix this I incorporated a SMPSU that can get 5V from the battery voltage. It could in theory handle as much as 2A. The design was done with TI Webench, all parts are the same as the suggested ones. I had to modify the Olimexino a little to actually give me the raw battery voltage on the shield connector, on battery there's no voltage on the 5V pin, i assumed there was. It all works quite well now except it's kinda whiny. The WS2812 leds are very bright, so in the darkness this might be a problem. One could dim them by sending them a darker color but this reduces resolution. Q2's purpose is to PWM is the 5V that the LEDs in order to dim them externally. This essentially gives another scaling factor for the brightness. It's a similar principle to how dynamic contrast works in TVs. Unfortunatelly this did not work as I wanted, the mosfet was too slow to PWM the leds fast enough without aliasing. My next design will probably contain a mosfet driver. Capacitive Touch Pads I have 4 pads acting as buttons. I originally connected them directly to some pins assuming I had PinOsc hardware like on the value line. Unfortunately I discovered this was not the case too late. I fixed it by adding 2 resistors between each of the pairs. This allows me to do a pretty crappy RC measure. It still works quite good though, i can get about 200 discrete values of the reading. As suggested by TI I had a non solid ground plane of the backside to reduce the intrinsic capacitance. Light Sensor The shield also has a light sensor, meant to measure ambient brightness. One can use this to make the display's brightness match the room. The sensor is connected via I2C, since neither the Arduino nor the Olimexino-5510 have I2C exposed on the pins I will have to do a software solution for this. The TCS34725FN sensor is also capable of measuring RGB color; I'm sure something fun can be accomplished using that. Of course I managed to do the footprint wrong for this, so it required some cutting traces to swap some pins; after that it worked just fine. Eagle Files I also have the schematics in PDF format. Code The current code is mostly made to prove the hardware. It could use a lot more work for the UI. Features Clock Functionality with fading SMPSU Off demo Capacitive Touch Demo Light Sensor Demo USB CDC ported from Energia that i used for debugging so far Everything was compiled with msp430-gcc. I uploaded the firmware using the new f5529 launchpad board due to the fact that mspdebug does not support the olimexino usb bootloader. Parts Most parts I got from digikey, except the Olimexino-5510, the beefy 6600mAh battery and the WS2812 leds. I got a pretty good price for the LEDs from Alibaba at only 13 cents each. I ordered the board through Elecrow, I really needed it to be black. Meta My old clock was this boring thing with an attiny44, using a matrix of green leds. I originally started this version(v2.0) as a school project, but I wanted to share it. Due to the many issues I had I'll probably make a version 2.1(if i fix the shield) or a v3 if I make a standalone board. I'm open to ideas. I still have quite a few board leftover(about 7), i'm open to sending them to people if postage is cheap/free/easy. Imgur album for non-users.
  23. i am working on a project that requires my MSP430F5659 to act as a USB host. i want to transfer some data from a pen drive that i connect to the flash memory of the MSP. can you help me with the realization? how can i use the pins of my MSP to connect to a pendrive so that it can act as a USB host? also, some help with the programming would be highly appreciated. i am using Code Composer Studio for programming purposes.
  24. I am using the Tiva C LaunchPad as a USB host for a USB device that requires a small amount of power. The USB host connector for the Tiva C LaunchPad does not supply any power, so currently I am providing this via a breadboard, however to make my prototype cleaner I am wanting to supply power via the USB. One suggestion I received was to short circuit SW3, and that this will provide the LaunchPad and also the USB host connector with power via the ICDI USB connector. I wanted to get opinions about this solution, and whether anyone sees any potential issues? Oh and if I was to do this....I am assuming I would do it by connecting the outer pins of the switch, while leaving the center pin alone??? Glenn.
  25. Anyone experimenting with this or have any thoughts on how this could be done in Energia? I'd like to do something like this with my MAP pressure sensor thing, where the user could drag and drop (or software on the computer could save) 'tuning' files to the device and that the unit would use for mapping its pressure sensor to the DAC. If possible, I'd also like to extend this to applying firmware updates in a similar fashion.