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.

EHIF example code for MSP430

Other Parts Discussed in Thread: MSP430F5438, CC8520

Hi all,

The attached CC85xx_Ehif_Example_Code.zip includes a small example on how to use the External Host Interface (EHIF) with the MSP430F5438 as SPI host controlling a CC85xx protocol slave. Functionality for pairing, volume up/down, power toggling and automatic re-join if network drop-out are implemented.

Have a look at the code, and if you want to practically try it out keep reading...

 

Hardware needed:

1 pcs MSP430F5438 Experimenter Board (http://focus.ti.com/docs/toolsw/folders/print/msp-exp430f5438.html)

1 pcs MSP-FET430UIF (http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html) for programming the MSP

1 pcs CC85XXDK (http://focus.ti.com/docs/toolsw/folders/print/cc85xxdk.html)

 

Step-by-step:

1. Download and extract the zip.

2. Open the PurePath Wireless Configurator (downloadable from here: www.ti.com/ppwc), and open the project CC85XXDK Preloaded Demo (available from Start Page).

3. Flash one CC85xx device with the master device configuraton as is.

4. Flash one CC85xx device with the slave device configuraton with the following modifications:

     - Select host-controlled operation.

     - In the IO mapping panel set the "External host interface interrupt" pin to GIO3.

5. Connect the MSP430F5438 Experimenter Board to the slave Audio EB like shown in EHIF_Connection_MSP430.pdf (included in the zip).

6. Program the MSP430F5438 either by debugging in IAR or flash it using the SmartRF Flash Programmer.

 

Feel free to ask if anything is unclear. Enjoy!

CC85xx_Ehif_Example_Code.zip
  • Dear Sir:

    this  code is for EHIF slave control,

    Do you  have the example code for master control ? 

    THX

  • Hi Lin,

    No, I don't. The reson for this is because it's not that much to do with the master. The most relevant EHIF commands for the master are the following:

    * NWM_CONTROL_ENABLE (either ON or OFF for enable or disable network)

    * NWM_CONTROL_SIGNAL (either ON or OFF for advertising pairing)

    * The data side channel commands DSC_TX_DATAGRAM and DSC_RX_DATAGRAM

    The commands are well described in the Family User's Guide. If you use the slave example as template a host-controlled master shoud be staright forward to implement.

    -Kristoffer

  • dear sir:

               1.  use  Ehif_NWM_DO_JOIN (network ID 0xFFFFFFFF)for Paring,  Stauts Word display pairing ok (WASP_CONN==1),but  transmit sound error.no sound,why?

                    while use network ID 0x10101010 ,borad Led flash on/off (once )at  ready mode.but use  Ehif_NWM_DO_JOIN (network ID 0xFFFFFFFF) for paring,

                   board Led error (no pairing mode).

                2.use Ehif_NVS_GET_DATA, Read non volatile memory is 0x00000000( program Start),but pairing complete Write  Data to non volatile memory .

                  Stauts Word no Error,Power up again. Read non volatile memory same 0x00000000.why?

     

     

  • Hi Huang,

    First of all, are you using the code attached in the zip or a similar code you have written yourself?

    1.

    If you use NWM_DO_JOIN with network id 0xFFFFFFFF this means you are trying to pair with a master that has the pairing signal enabled. Enabling the pairing signal on a protocol master can be done in two ways:

    * Pressing the pairing button on an autonoumously operated master. The pairing signal will be enabled for as long as configured in the configurator (default 10sec). This is configurable in the "Pairing timeout" field in the Radio panel.

    * Performing the command NWM_CONTROL_SIGNAL on a host controlled master. (Prior to this the network must be enabled by performing NWM_CONTROL_ENABLE on the master).

    Since you read WASP_CONN=1 in the status word you are obviously able to pair successfully. What you must do then is to specify which audio channels you want to consume on your slave and also setting the volume. In main_slave.c this is done on line 155 and 158 for the case where the pairing button is pressed, and line 327 and 330 for the case where we join the previously connected master. The commands for this is the NWM_ACH_SET_USAGE and VC_SET_VOLUME. If you do this correctly you should be able to hear the audio playing.

    Does your master have deviceID 0x10101010? Otherwise it makes no sence to use this as network ID in the DO_JOIN command.

    2.

    If you write to non-volatile memory with the command NVS_SET_DATA, and you do it like described in the family user's guide, you should be able to read the same data out with the NVS_GET_DATA. Remeber to write and read using the same slot index. Again, are you using the attached code for this or code you have written yourself?

     

    Best regards

    Kristoffer

  • Kristoffer,

    Any chance we could get you to update this code for the MSP-EXP430F5529 Experimenter board?


  • Hi Mike, 

    We are currently updating this code with more examples, bug fixes and a more clear split between lower layer and upper layer to ease porting to different MCU and HW platforms. 

    Please keep an eye out on this forum for a update. 
    Kjetil 

  • Hi Kjetil,

    We will design wireless microphone use MSP430 + CC8520, Could you tell me when TI release the MCU + CC8520 new demo code, please? Thank you.

  • Hi, Kjetil.

    I am looking for the newest example with msp430 and cc85xx.

    I have look through the E2E, but i couldn't find the example.

    Could you let me know the link or give a example?

    Best regards.

    Jay.

  • Hi,

    I may found what i looking for.

    I found design note DN120, literature num swra369a.

    Thank you.

    Jay.