I followed the configuration and installation instructions described in the CIR driver user guide found here:
http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_CIR_Driver_User_Guide
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:
pulse 9000
space 2240
pulse 560
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.
Hello,
Are you on EZSDK? If yes, what version?
Regards,
Pavel
Please Note: If this answer solves your question please mark post as "Answered" - Thanks Pavel!
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.)
BR
Hi Pavel,
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.
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?
Best regards,
Marcus