Inside Network processor, I want to convert the received RF signals to RC6 IR signals and I have to transmit this converted IR signal to Host processor.
For that what I have to do?Please guide me on this.
My thought is this one:
From RCN_CbackEvent() function (RCN Network Layer callback function) , rtiOnNldeDataInd() function will be called for every key press that is happened in RF remote control.
I will be having the RF keycode as a argument (pData->prim.dataInd.nsdu) of rtiOnNldeDataInd() function.
So inside function rtiOnNldeDataInd(), if I am using HalIrGenCommand() function and HAL_IRGEN_RC6_CMD macro,will I get converted RC6 IR signals??
Am I going in right way?
Please share your comments.
Thanks in Advance.
Hi Johnson,
The best way to add IR generation for received RF signals using the RNP project is to add the HalIrGenCommand() function inside RTI_ReceiveDataInd(). RTI_ReceiveDataInd() is located in rtis_np.c in the RPC category of the IAR project.
See this thread as well: http://e2e.ti.com/forums/p/10820/42693.aspx#42693
Thanks,Stig
Dear Stig,
As you told,I tried to convert the RF signals to IR signals in the RTI_ReceiveDataInd() with the use of HalIrGenCommand().
I have called HalIrGenInit() in RTIS_Init().In HalIrGenInit(),it is observed that T4 and T1 is used for IR signal generation.
Once the coding for IR conversion is done,while executing that when I looked IR LED (IR transmitter) ,its always turned ON since T4 is used in modulo mode and P1_1 is T4's channel1 pin.What I expected is that it should be turned ON only when I am pressing any key in the RF remote control.
If I want to replace T4 with T3 ,what software configuration settings I have to do.
It will be very useful,If you give me a working code for IR signal genaration in RNP project.Could you please tell me whether it is available or not.
And I want to know one more thing,whether IR signal genaration code is working or not in RF remote control.
Thanks.
Johnson J.
The RemoTI IR signal generation driver (hal_irgen.c/h) included in the RemoTI release works for RC5 and RC6. I understand it would be beneficial with a sample application - we are working on an application note that will take care of this need. In the meantime, here are a few pointers:
1. The Target Board IR circuitry is active low (see schematics: http://www.ti.com/litv/zip/swrc149). The RemoTI IR gen driver is by default configured to active high, as such, you need to include HAL_IRGEN_ACTIVE_HIGH=FALSE in the compiler pre-processor options. This should take care of your issue where the IR LED is always on.
2. The RF remote controller is not equipped with an IR LED - this is something we are looking at for future remote controllers. However, there is a way to enable IR signal generation with the RemoTI IR driver; You can see from the schematics (http://www.ti.com/litv/zip/swrc148) that P1_1 is connected to the activity LED. P1_1 is also connected to J1 pin5 if R3 is populated (NoPop by default). In order to hook up an IR LED, you need to populate R3, remove the D1 & D2 activity LEDs and connect the IR LED to pin 5 of J1. The circuitry is active low so you need to include HAL_IRGEN_ACTIVE_HIGH=FALSE in the compiler pre-processor options.
3. The RemoTI IR driver is written for T1 and T4, however, you can change T4 with T3. In order to do this, you need to change all references to T4 with references to T3, and also change the output port pin selection (HAL_IRGEN_P1SEL_PORT) according to the CC2530 user's guide Table 7-1.
Hope this helps.
Thank you very much for your valuable input.Once I made the change(HAL_IRGEN_ACTIVE_HIGH=FALSE) as you mentioned, it is working as what I expected.
After I made this change, IR LED is turned ON only when I am pressing key from the RF remote control.
Regards,
is johnson statement (My thought is this one: From RCN_CbackEvent() function (RCN Network Layer callback function) , rtiOnNldeDataInd() function will be called for every key press that is happened in RF remote control) right?
how to call RCN_CbackEvent() function in the BasicRemote Project?
thanks in advance
Hi Julian,
this is a very old post you're digging in.
What are you're need exactly?
the RCN_CbackEvent() function is already implemented in rti.c file.
this function is called by the network layer to signal incoming Packet (network command, data, etc...).
then different function will be called at RTI level.
Some of those functionn are implemented inside the application.
for exemple, if you are develloping a target application, and you receive a packet signaling a key press by the remote, then the RTI_receiveDataInd will be called.
Best Regards
_Calimero_
Helps us tracking and improving the quality of our support to the community:
if you were satisfied with the answer and of the support, could you please click on 'Verify this post'?
Hi cali,
i want to use RF4CE for 2 ways communication between target board and remote.
why i can't call "RTI_receiveDataInd" in the remote? or actually there is no datas that is transfered from target board to remote when i call "RTI_SendDataReq" in the Target board?
Julian,
you should never call "RTI_receiveDataInd" directly. This function is called by the network /RTI layer:
You have to do the code insdeit, but you don'thave to call it.
in order to receive packet inside the remote, you need to open the receiver. by defualt the receiver inside the RC is alwasy deactivated to lowe power conssumption.
thre is a function RTI_enableRx() ot do that. please check the RTI API documentation.
Thank you cali, you saved me a lot of time
I missed it. I have to read RTI API carefully I think :D
best regards
Julian
no problem,
If you were satisfied with the answer and of the support, could you please click on 'Verify this post'?
This helps us with tracking and improving the quality of our support to the community.