I followed the configuration and installation instructions described in the CIR driver user guide found here:
On my hardware, the IR is connected to UART4, so I made the following adjustments:
#define LIRC_UART_BASE TI814X_UART5_BASE /* The BASE #define's start at 1 so this is really UART4 */#define LIRC_IRQ_UART TI814X_IRQ_UART4 /* The IRQ #define's start at 0 so this is really UART4 */
I have a lirc device and mode2 can see activity, although the pulse/space timing does not match what I see on a logic analyzer:
# mode2 -d /dev/lirc0 some.conf
space 99727pulse 8960space 99727pulse 8960space 99727pulse 8960space 399727pulse 8960pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240space 2240pulse 2240space 2240pulse 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240space 2240pulse 2240pulse 2240pulse 2240space 2240pulse 2240pulse 2240pulse 2240pulse 2240pulse 2240
If I look at a repeat code, I can see the:
space 399727pulse 8960pulse 2240
I'd expect something like:
irrecord can not recognize the pattern as NEC and maps all the keys to the same pulse of 8960. I'm wondering if anyone has gotten this to work and if there is possibly some adjustment needed moving to UART4 that might cause the timing to be wrong.
Are you on EZSDK? If yes, what version?
Please Note: If this answer solves your question please mark post as "Answered" - Thanks Pavel!
In reply to Pavel Botev:
Can you try with the following patches, applied on top of the DM814x EZSDK 5.05.01.04: http://arago-project.org/git/projects/?p=linux-omap3.git;a=commit;h=1d57e679171e4d585272d5968b48775da5463956 (TI81xx:Lirc support for TI81xx) http://arago-project.org/git/projects/?p=linux-omap3.git;a=commit;h=7e20208c2ee88851d1d4bcf78333dd9cb8637a07 (TI8148 : Patch to disable IR_REMOTE_OFF for TI8148) http://arago-project.org/git/projects/?p=linux-omap3.git;a=commit;h=d1c5471c22a91d0f8679ea33b529f176dcfce61c (Lirc_serial : Fix mem leaks and ptr err usage.)
We are on the EZSDK 5.05.01.04. We have already received the patches you mentioned from Tiemen and are using them. The only modifications are for the UART change.
In reply to dc90210:
I can see the output of the UART_RX register matches pretty closely the signal on the input pin of the Centaurus.
I can't see that the data passed up to LIRC through frbwrite matches. Perhaps the state machine for NEC is incorrect.
I made progress in debugging the serial driver. Basically, there are four times the number of samples from the UART as the code expects so the comparisons with num_bits is incorrect which leads to wrong pulse widths and transitions to LIRC. Since I only require NEC protocol I simplified the state machine and it is working well with lircd now.
Hi Sir :
I work on TI8148 platform and use DVRRDK_03.00.00.00 to develop our system.
I connect IR to UART1(consle is UART0) and read "DM81xx AM38xx CIR Driver User Guide" to enable LIRC.
However, when I run the lircd script at the boot time, the follow messages show.
Starting lirc daemon: lircdlircd: could not create socketlircd: Function not implemented
I have no idea what's wrong.
Could you give me some suggestion?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.