This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3000 Full SPI Command Set Documentation ?

I will likely use the supplied host driver code but I always like to be prepared for a deep dive debug situation.  And, in general, it's always good to be able to get access to full documentation for every piece of silicon on a board.

So...does a document exist containing the above?  Could I please get access to it?  Thanks, Chris

  • I have found the API document and I'm able to read some of it using annotated.html as a starting point but the main page won't display.  I could hunt around and try all the files but it would be easier for users to know how to use it.  Readme.txt?

    This doesn't eliminate my original request as it appears the document is just a high-level API, not the actual byte mapping on the SPI link.

  • And, it would be helpful to have documentation of the conditions under which the module will present IRQ to the host, and how the IRQ is cleared.

  • The more I wander through the documentation and code, the more frustrated I become in terms of understanding the module's true operation.  Which commands generate a response?  All?  Why do we need to poll the module every 500ms? -- huge burden on host.  Yes, I could continue to go through the code and reverse engineer module operation by carefully studying every nuance in the code...or we could have a document.

    If the document doesn't exist and can't be created in a reasonable amount of time (days), it would be helpful to know that quickly.  Then it can be clear to all that the code is the documentation for the module's operation.  I just want to make sure before I make a large investment in reusing/porting the code for production use.

    Thanks, Chris

  • Hi Chris,

    Please find CC3000 main wiki page:

    http://processors.wiki.ti.com/index.php/CC3000_Wi-Fi_for_MCU

    From this page you can find links to all our wiki guides and software downloads.

    For start I think it it best to read the programming guide:

    http://processors.wiki.ti.com/index.php/CC3000_Host_Programming_Guide

    Regarding the Doxygen, please start with index.html file.

    Regarding the polling the module every 500 ms in order to catch unsolicited events - it will be removed in the upcoming release. This is done due to historical reasons and is not mandatory for the current release in the wiki (v1.10.2 which already includes a fix in the SPI driver).

     

    Yael

     

     

  • Hello Yael,

    I am also trying to find such low level documentation.

    Example: SPI Command Set and Memory Map of the CC3000. I am also getting frustrated with TI's infrastructure of documents the CC3000 as it feels very incomplete and there are no PDF documents only the Wiki. Basically, I cannot find this necessary documentation. The best I can find is on the Host Programming Guide page and it only shows four command/receipt transactions, however I read on one of these forum entries that there around 35 total SPI commands that the device supports. Please post this complete set of commands of the SPI interface for the CC3000.

    I am in a situation where I am required to write my own code and therefore low level documentation is required.

    My situation also allows me to choose a new Wifi target device if necessary.

    Thank you for your help in advance!

    -Dustin B

  • I'm also having trouble finding the spi info as well.

    For example on the doc http://processors.wiki.ti.com/index.php/CC3000_Serial_Port_Interface_(SPI)

    under the section

     CC3000 ->> Host - HCI_CMND_SIMPLE_LINK_START command complete

    It states the data returned should be: 02 00 00 00 05 04 00 40 01 00 (command complete for opcode 0x4000)

    I get 02 00 00 00 07 04 00 10 02 00 02 00 

    I can't find anywhere what the extra data is 

    Thanks,

    Kyle


  • Hello Kyle,

    02 00 00 00 07 / 04 00 10 02 00 02 00

    first part is normal answer format, length 7.

    In the second part you see a "00 10" after the 0x04. This is the opcode 0x1000, which means HCI_EVNT_PATCHES_REQ.

    "02 00" means 0x0002, which is the length of the following parameter.

    Second "02 00" means 0x0002, which is the parameter HCI_EVENT_PATCHES_FW_REQ.

    So i assume this event means the CC3000 requests a "Firmware Patch" (for whatever reason).

    Best regards,

    Martin




  • Hello Yael, I am also use low level MCU to work with CC3000. Could you provide more information about the SPI and CC3000 EEPROM memory address. We are under development the firmware for SPI. Thanks Roderick
  • Hi Roderick,

    if you search for a description of raw SPI commands, unfortunately TI has not yet published a documentation on them, even though requested by different people a lot of times.

    But there is a independent documentation, which is not complete, buggy at some places, also not updated for a long time even after reporting errors, but a start at all:

    http://www.embeddedadventures.com/datasheets/WRL-3000_hw_v2_doc_v1.pdf

    For EEPROM, at least a overview (unfortunately without details) can be found here:

    http://processors.wiki.ti.com/index.php/CC3000_Flashing_Guide

    (last big table)

    Best regards,

    Martin

  • This is BEYOND a doubt the worst documented product I have EVER tried to work with. There should be easy access to the raw SPI commands. I have spent hours digging through this BS trying to find some real docs designed for some one other than a damn Aurdino user. I was thinking about using this in a product, but now I'm looking elsewhere. I don't need to spend 3 days looking through all this crappy code to dig out the commands. If you come out with a REAL programmer guide, let me know I *might* take a second look at this thing.
  • Is there any more complete version after 2 years? I need the SPI command to control the CC3000 with a low level MCU. I am getting stuck at receiving the TCP data part now. And, neither the RECV or RECVFROM SPI command is showing from the links you posted or the website in TI. May I get some support on this? I just need to get to know how to receive a TCP or UDP data package.
  • Any suggestion? I am thinking the same as you now...