Hello,

since I've seen some activity on the list with people doing IR drivers, I 
figured maybe someone knows what's up with the following:

I tried to use Linux 3.4.103 and a lirc Linux kernel module from 
<https://github.com/matzrh/sunxi-lirc> on an A20 connected to ir0_rx, which is 
connected (with 50 cm cable) to an IR detector module by Vishay (TSOP) and a 
capacitor in parallel, with script.fex like this:

[ir_para]
ir_used = 1
ir0_tx = port:PB03<2><default><default><default>
ir0_rx = port:PB04<2><default><default><default>

I adapted it to print more debugging messages, so it ends up as 
<http://www.scratchpost.org/software/keyboard/IR/sunxi-lirc.c>.

Highlevel LIRC doesn't seem to work then with any remote or IR keyboard I 
tried. 

So I tried the lowlevel mode2 and filtered it through 
<http://www.scratchpost.org/software/keyboard/IR/pulsedisp> in order to make it 
readable, and this shows the following (I pressed the same remote button, "1", 
multiple times):

#####   #####   ######   ############ #####        ##########  #####        
###########  #                       # E
#####   ######## #####    ##########    #####        ###########   #####        
                                        # E
#####   #####   #####   #                            #               ##         
##########    #                    ########## E
#        #####    ##             ##    #            ##########    #             
#                      #  #         ########## E
#####   #####   #####   ##########    #####        ##########    #####        
##########    #####    #####        ########## E
#####    #############     ##########   #####        ###########  ######        
##########    #####    #####        ########## E
#####    ##########    ## ####################     ##############  #####        
##########  #######   #####        ########## E
#                ##                ##    #             ##########    ## #       
  ##########    #                       # E
#####   ##########         ###########   #####        ##########   #####        
##########   #                       # E
#####   ##########        ##########    #####        ##########   #####        
##########   #####   #####        # E
#####    #####    #####    ####################        ############# #####      
   ###########   #####    #####        ############### E
#####    #####    #####    ###########  #######   #  ############# #####        
 ########### ########  #####        ##########   # E
#####    #####    #####    #######################     ########## ########      
############ #####    #####         ##########   E
#####    #####    #####   ############ #####         ###########  #####         
###########   #####    #####         ########### E
#####   #####   #####    ##########   #####        ####################   
################  #####    #####        ############ E
#####    #####    #####    ############ #####         ###########   #####       
  ###########  #######  #####         ############       # E
#          ###             ##########    #            ##########    #           
  #             # #                   ##  E
#####    #####    #####    ##########   #####         ##########    #####       
  ##########   #####    #####        ########## E
#####    #####   #####    ####################        ##########    #####       
 ##########    #####   #####        ########## E
#####    #####    #####    ############ #                     ##    #####       
  ##########    ## #      ##         # E
#        #                         ##    ##           ##########    #           
  #                                     ########## E
#                                             ##         ##########    #        
     #               ##    #             ########## E
#####    #####   #####   ###########  #####        ###########   #####         
#                                     ########## E
#####   #####   #####    ##########   #####        ##########   #####        
###########   #####    #####        ########## E
#####    ##########         #########    #####         ##########    #####      
   #########    #####    #####         ######### E
#####    #########         #########    #####         #########    #####        
 #########    #####    #####         ######### E
#####    #########         #           ####                 #                   
#########    ####     ###          ######## E

Pressing and releasing the "1" button once is

#####    #####    #####    #################### ##  ###########  #########    
############   #####    #####  ## ############ # E
#####    #####    #####    ###########  #####         ########## #######  
#################  ######    #####         ##########     #### E
#          ##    #          #######   ######         #########    #            
#                #    #             # E
#####    #####    #####    ###########  #####         ##########  #######       
 ##              ##    #             # E
##                             #######    ####         #########    #           
 #########    #          #         ######### E
#####    #####    #####    ##########    #####         ##########    #####      
   ##########    #####    #####         ########## E

And pressing the "1" button and then de-adjusting the receiver before releasing 
it again is:

#####   ############      ##########   #####        ###################         
###########  #####   #####        ############ E
#####    ##########         #########    #             #             #          
   #                       ####         ######### E

If I make it really dark in the room (you never know) and press the same button 
again (and again), then it's:

#####   #####   #####   ###########   #####        ##########    #             
#                                     #       # E
#####   #####   #####   ##########    #####        ##########    #              
      ##    #                              ## E
#                                   ##                                 ##       
   ##########    ##                      ## E
#                                   ##    ##            #            #          
   #                                     # E
#####    #####   #####   ##########   #####        ##########   #            #  
                                   # E
#####   ##########         ##########    #####        ##########    #####       
 ##########   #####   ##### E
#####   ##########  ###  ###########  #####        ##########    #####        
##########    #####   #####        ########### E
#####   ##########         ##########    #####        #                         
                 #                       # E
#####    ##########         ##########                ##########    #           
  ##                                   ## E
# #                       ##     #    ##            ##                          
 #                                     # E
#####   ##########        ##########   #####        #                           
#      #    #                       ########## E
#####    ##########        ##########   #####        ##########   #####         
#                                     # E

On the horizontal axis is time within a packet, on the vertical axis is the 
packet number, "E" means end, "#" means on and " " means off.

The above graph is also at 
<http://www.scratchpost.org/software/keyboard/IR/result>, in case it got 
garbled.

As you can see, sometimes the length of some pulses is misdetected.

When I put detailed debugging messages in the interrupt handler for each Byte, 
it gets too slow and it loses packets, so no use debugging it like that...

I haven't rigged a IR sender LED as control yet, but I have 20 (or so) of 
these. 

But I thought I'd ask first:

Does this sunxi-lirc.c have obvious problems?

Thanks,
   Danny

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to