fm/qcom/fmradio/FmTransmitter.java
public boolean startRTInfo(String rtStr, int pty, int pi){

       if((pty < 0) || (pty > 31 )) {
           Log.d(TAG,"pTy is expected from 0 to 31");
           return false;
       }
       //Set the PTY
       int err = FmReceiverJNI.setPTYNative( sFd, pty );
       if( err < 0 ){
           Log.d(TAG,"setPTYNative is failure");
          return false;
       }

       if((pi < 0) || (pi > 65535)) {
           Log.d(TAG,"pi is expected from 0 to 65535");
           return false;
       }

       err = FmReceiverJNI.setPINative( sFd, pi );
       if( err < 0 ){
           Log.d(TAG,"setPINative is failure");
          return false;
       }


       if( rtStr.length() > FM_TX_MAX_RT_LEN )
       {
          //truncate it to max length
          rtStr = rtStr.substring( 0, FM_TX_MAX_RT_LEN );
       }

       err = FmReceiverJNI.startRTNative( sFd, rtStr, rtStr.length() );

       if( err < 0 ){
          Log.d(TAG, "FmReceiverJNI.startRTNative returned false\n");
          return false;
       }   else {
           Log.d(TAG,"mRTStarted is true");
          mRTStarted = true;
          return true;
       }
   }
/**
    *  Continuously transmit RDS/RBDS RadioText information over an
    *  already tuned station.
    *
    *  <p>
    *  This is a synchronous function used to continuously transmit RadioText
    *  information over an already tuned station. While RadioText
    *  information can be transmitted using
    *  {@link #transmitRdsGroups} and 2A/2B groups, this function
    *  makes the same output possible with limited input needed from
    *  the application.
    *  <p>
    *  Included in the RadioText information is an RDS/RBDS program type (PTY),
    *  and a single string of up to 64 characters. The program type (PTY) is used
    *  to describe the content being transmitted and follows the RDS/RBDS program
    *  types described in the RDS/RBDS specifications.
    *  <p>
    *  RadioText information also includes a string that consists of up to 64
    *  characters. This string can be used to display any information, but is
    *  typically used to display information about the audio being transmitted.
    *  This RadioText string is expected to be at 64 characters in length, or less
    *  than 64 characters and terminated by a return carriage (0x0D). All strings
    *  passed to this function must be terminated by a null character (0x00).
    *  <p>
    *  <p>
    *  Maximux Radio Text string length that can be sent is
    *  FM_TX_MAX_RT_LEN. If the application sends RT string longer than
    *  this threshold, string will be truncated to FM_TX_MAX_RT_LEN.
    *
    *  @param rtStr the Radio Text string to transmit
    *  @param pty the program type to use in the Radio text
    *             transmissions.
    *  @param pi the program identifier to use in the Radio text
    *             transmissions.
    *
    *  @return true if RT information String was successfully sent
    *             to the driver, false if RT information string
    *             could not be sent to the driver.
    *
    *  @see #stopRTInfo
    */
Continuously transmit RDS/RBDS RadioText information over an
already tuned station.


This is a synchronous function used to continuously transmit RadioText
information over an already tuned station. While RadioText
information can be transmitted using
#transmitRdsGroups and 2A/2B groups, this function
makes the same output possible with limited input needed from
the application.

Included in the RadioText information is an RDS/RBDS program type (PTY),
and a single string of up to 64 characters. The program type (PTY) is used
to describe the content being transmitted and follows the RDS/RBDS program
types described in the RDS/RBDS specifications.

RadioText information also includes a string that consists of up to 64
characters. This string can be used to display any information, but is
typically used to display information about the audio being transmitted.
This RadioText string is expected to be at 64 characters in length, or less
than 64 characters and terminated by a return carriage (0x0D). All strings
passed to this function must be terminated by a null character (0x00).


Maximux Radio Text string length that can be sent is
FM_TX_MAX_RT_LEN. If the application sends RT string longer than
this threshold, string will be truncated to FM_TX_MAX_RT_LEN.

@param rtStr the Radio Text string to transmit
@param pty the program type to use in the Radio text
transmissions.
@param pi the program identifier to use in the Radio text
transmissions.

@return true if RT information String was successfully sent
to the driver, false if RT information string
could not be sent to the driver.


Continuously transmit RDS / RBDS RadioText information over an already tuned station . This is a synchronous function used to continuously transmit RadioText information over an already tuned station . While RadioText information can be transmitted using #transmitRdsGroups and 2A / 2B groups this function makes the same output possible with limited input needed from the application . Included in the RadioText information is an RDS / RBDS program type ( PTY ) and a single string of up to 64 characters . The program type ( PTY ) is used to describe the content being transmitted and follows the RDS / RBDS program types described in the RDS / RBDS specifications . RadioText information also includes a string that consists of up to 64 characters . This string can be used to display any information but is typically used to display information about the audio being transmitted . This RadioText string is expected to be at 64 characters in length or less than 64 characters and terminated by a return carriage ( 0x0D ) . All strings passed to this function must be terminated by a null character ( 0x00 ) . Maximux Radio Text string length that can be sent is FM_TX_MAX_RT_LEN . If the application sends RT string longer than this threshold string will be truncated to FM_TX_MAX_RT_LEN . @param rtStr the Radio Text string to transmit @param pty the program type to use in the Radio text transmissions . @param pi the program identifier to use in the Radio text transmissions . @return true if RT information String was successfully sent to the driver false if RT information string could not be sent to the driver .
public boolean startRTInfo(String rtStr, int pty, int pi){
       if((pty < 0) || (pty > 31 )) {
           Log.d(TAG,"pTy is expected from 0 to 31");
           return false;
       }
       int err = FmReceiverJNI.setPTYNative( sFd, pty );
       if( err < 0 ){
           Log.d(TAG,"setPTYNative is failure");
          return false;
       }
       if((pi < 0) || (pi > 65535)) {
           Log.d(TAG,"pi is expected from 0 to 65535");
           return false;
       }
       err = FmReceiverJNI.setPINative( sFd, pi );
       if( err < 0 ){
           Log.d(TAG,"setPINative is failure");
          return false;
       }
       if( rtStr.length() > FM_TX_MAX_RT_LEN )
       {
          rtStr = rtStr.substring( 0, FM_TX_MAX_RT_LEN );
       }
       err = FmReceiverJNI.startRTNative( sFd, rtStr, rtStr.length() );
       if( err < 0 ){
          Log.d(TAG, "FmReceiverJNI.startRTNative returned false\n");
          return false;
       }   else {
           Log.d(TAG,"mRTStarted is true");
          mRTStarted = true;
          return true;
       }
   }
public boolean startRTInfo ( String rtStr , int pty , int pi ) { if ( ( pty < 0 ) || ( pty > 31 ) ) { Log . d ( TAG , "pTy is expected from 0 to 31" ) ; return false ; } int err = FmReceiverJNI . setPTYNative ( sFd , pty ) ; if ( err < 0 ) { Log . d ( TAG , "setPTYNative is failure" ) ; return false ; } if ( ( pi < 0 ) || ( pi > 65535 ) ) { Log . d ( TAG , "pi is expected from 0 to 65535" ) ; return false ; } err = FmReceiverJNI . setPINative ( sFd , pi ) ; if ( err < 0 ) { Log . d ( TAG , "setPINative is failure" ) ; return false ; } if ( rtStr . length ( ) > FM_TX_MAX_RT_LEN ) { rtStr = rtStr . substring ( 0 , FM_TX_MAX_RT_LEN ) ; } err = FmReceiverJNI . startRTNative ( sFd , rtStr , rtStr . length ( ) ) ; if ( err < 0 ) { Log . d ( TAG , "FmReceiverJNI.startRTNative returned false\n" ) ; return false ; } else { Log . d ( TAG , "mRTStarted is true" ) ; mRTStarted = true ; return true ; } }
Continuously transmit RDS/RBDS RadioText information over an
  already tuned station.
Continuously transmit RDS / RBDS RadioText information over an already tuned station .
//Set the PTY //truncate it to max length