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.

DLP-RF430BP with TIVA C

Other Parts Discussed in Thread: RF430CL330H, ENERGIA, MSP430F5529

Hello Guys !! 


I am using an TI  tag type 4, NFC RF430CL330H.

As a starting code I am using one that I looked for by this link "forum.43oh.com/.../

when I approach my Mobile to tag does not read anything. I do not know what I should do ? Or what I'm doing wrong ...

My goal is to be able to read data (random numbers) via nfc.

Any suggestions / help will be welcome.

regards. 

  • Better ask TIVA related questions here:

  • a good example (done by TI) of using the TM4C with the RF430CL330H BoosterPack is located here:

    www.ti.com/.../tidccp3

    make sure your hardware is wired up and configured correctly by referencing this:
    www.ti.com/.../tiduby2a.pdf
    and this: www.ti.com/.../tidrnu0
  • Hello Guys !! 


    I am using an TI  tag type 4, NFC RF430CL330H.

    As a starting code I am using one that I looked for by this link "forum.43oh.com/.../

    when I approach my Mobile to tag does not read anything. I do not know what I should do ? Or what I'm doing wrong ...

    My goal is to be able to read data (random numbers) via nfc.

    Any suggestions / help will be welcome.

    regards. 

  • thank you for your answer !!
    well, i use this but i think is not appropiate for TIVA C LP:

    #define RF430CL330H_BOOSTERPACK_RESET_PIN 8
    #define RF430CL330H_BOOSTERPACK_IRQ_PIN 12

    i can't see these example because i use energia IDE, i'm not familiarized with CCS.
  • what about the I2C pins? you are using those, correct?
    please refer to the pinout of the BoosterPack on page 3 here:
    www.dlpdesign.com/.../dlp-rf430bp-ds-v12.pdf
  • Hello Mohamed,

    I merged your TM4C thread into this one.

    The energia library you've referenced was done for MSP430F5529, so I am not sure exactly how it would port over to TM4C. We don't really have much in the way of Energia support for the NFC/RFID products though, and I'm not too familiar with that code base.

    That said, those 2 pins you highlighted are fine.

    What I would look at is to see what I2C pins are being used. My guess is they are probably using Pins 9 and 10 of the BoosterPack in the I2C code. However, the BoosterPack doesn't come with those connections made by default. The I2C pins are defaulted to Pins 14 and 15. If this is the case, you will need to move the 0 ohm resistors R12 and R13 to the pads for R14 and R15.

    The schematic for the BoosterPack is on the last page of this document if that would help you: www.dlpdesign.com/.../dlp-rf430bp-ds-v12.pdf
  • thanks a lot !!

    Then, what could be the solution? Because I have other code snippets in Energia IDE (basically measures), could I all pass to CCS CLOUD and start doing something with this NFC / RFID module?

    I just need to pass those measurements through that module and read them with my mobile.
  • any example for this module with TIVAC TM4C123G ... ?
  • Hello Mohamed,

    You have two options available:

    1) Use the TI Design example Josh provided in CCS and move forward without Energia

    2) Determine if the Energia project has the I2C pins set for Pin 9 and Pin 10, and if so, make the hardware modification I outlined to the BoosterPack

  • hello again !!

    I like the first one.  but I do not see any demo code. The examples you sent me earlier are for other types of microcontrollers. I have seen codes coming in this link " www.ti.com/.../rf430cl330h-example-code " . But there is no demo for TM4C123.

    A separate question ...  the rf430cl330h has a yellow capacitor in the upper right ? Is the copies I saw on the IT page do not have it, however in the 331H yes.

    
    
  • Hello Mohamed,

    This document describes the examples offered in the firmware package Josh linked: www.ti.com/.../tiduby2a.pdf

    For reference that firmware package is: www.ti.com/.../tidccp3

    This is all we have in terms of code already existing on the TM4C. If that example is too complicated, then you need to do the work to port one of our simpler examples to TM4C on your own.

    You are correct that the www.ti.com/.../rf430cl330h-example-code link doesn't have example code for TM4C, and we have no plans to add this. But this would be the right firmware to use to port to TM4C. I would recommend the G2553 project as that is also on a Flash based MCU so it should be easier to port.

    I'll be very honest with you Mohamed, if you aren't comfortable with IDE's or porting the examples from www.ti.com/.../rf430cl330h-example-code to a TM4C123, the RF430 probably isn't a good fit for you.

    Regarding the capacitor, that is something added to our v2.0 of the BoosterPack. It is there to help support field powered applications on the BoosterPack.

  • thank you so much !!

    regards.
  • Ralph Jacobi, Already works for TIVA LP with energia example. What I need to know is, could I send analog input values?

    the code I use is :

    #include "NDEF.h"
    #include "NDEF_TXT.h"
    #include <RF430CL.h>
    #include <Wire.h>
    
    
    #define RF430CL330H_BOOSTERPACK_RESET_PIN  8
    #define RF430CL330H_BOOSTERPACK_IRQ_PIN    12
    
    RF430 nfc(RF430CL330H_BOOSTERPACK_RESET_PIN, RF430CL330H_BOOSTERPACK_IRQ_PIN);
    
    double randomDouble(double min, double max, int numCasas){
      long _min = min * pow(10, numCasas) + 0.1; 
      long _max = max * pow(10, numCasas) + 0.1;
      return (double) random(_min, _max) / pow(10, numCasas) ; 
    }       
    
            double Freq = randomDouble(10.71, 10.79, 2)+1839755.00;
            double voltage_1 = randomDouble(0.82, 0.88, 2);
            double temperature = randomDouble(18.30, 20.00, 2);
            double vol = randomDouble(3.10, 3.29, 2);
            
    void setup() {
      Serial.begin(115200);
      delay(1000);
      Serial.println("Initializing I2C and RF430CL330H-");
      Wire.begin();                                                              // Initialize I2C subsystem
      nfc.begin();                                                              // Format RF430CL330H, prepare for data
      attachInterrupt(RF430CL330H_BOOSTERPACK_IRQ_PIN, wake_up, FALLING);      // Register interrupt to wake MCU when RF430CL330H INTO (IRQ) line triggers
    
      Serial.println("Creating NFC NDEF_TXT object-");
       
      String Value = "El valor actual de F_Tiva es de "; 
      Value = Value + (Freq/1000000) + " MHz. El V_Tiva detectado es de " + voltage_1;
      Value = Value + ", la temperatura_Nodo1 es" + temperature + ", el voltaje_Nodo1 es" + vol;
      Value = Value + ", la temperatura_Nodo2 es" + temperature + ", el voltaje_Nodo2 es" + vol + ". El informe de estado del equipo ha terminado. Hasta pronto.";
      
      Serial.println("Posting to RF430CL330H-");
      size_t ndef_size;
    
      ndef_size = Value.sendTo(nfc);                                       // Write NDEF data to NFC device memory
      nfc.setDataLength(ndef_size);                                            // Inform NFC device memory how much data is there
    
      Serial.println("Activating RF430CL330H RF link-");
      nfc.enable();  // Now we're live!
    }
    
    void loop() {
      if (nfc.loop()) {
        if (nfc.wasRead()) {
          Serial.println("Something has read the NFC device!");
        }
        if (nfc.available()) {
          Serial.println("Something has re-written the NFC device!");
          nfc.flush();
        }
        nfc.enable();  // If nfc.loop() returns true, it will have disabled the RF link as a side-effect.
      }
    
      Serial.println("<low power sleep>");
      Serial.flush();  // wait for unsent UART data to flush out before going into low-power sleep
      suspend();  // Enter indefinite sleep (LPM4 on MSP430, DEEPSLEEP on ARM)
      Serial.println("<wake up>");
    }
    
    void wake_up()
    {
      wakeup();  // Signal Energia to wake the MCU upon IRQ exit
    }
    

    and I had these problems :

    nfc_1.cpp: In function 'void setup()':
    nfc_1.cpp:40:21: error: 'class String' has no member named 'sendTo'
    Value = Value + (Freq/1000000) + " MHz. El V_Tiva detectado es de " + voltage_1;

    
    
  • Hi Mohamed,

    Not sure about the source of that error.

    In general if you turn the analog data into a text value you can store in a message then sure, you can send it over NFC.

    One thing I don't see which you should make sure to do is define the proper NFC headers in the message. The RF430 code examples have example NDEF messages to reference for this.
  • ookay !! I'll take a look, and then I'll tell you something ... if I bag something