IR Learner? Need ideas


Closed Thread
Results 1 to 19 of 19

Hybrid View

  1. #1
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: IR Learner? Need ideas

    Have somebody doing something like this (ir-remote, ir-learner, ir-repeater) but using RC10 protocol ?

  2. #2
    Join Date
    Nov 2009
    Location
    London
    Posts
    251


    Did you find this post helpful? Yes | No

    Default Getting there...

    I have been reading a good example of somewhat what I need (requires modifications) at this page: http://home.citycable.ch/flotulopex/...I_Frames_e.htm

    Few questions have arisen in my mind about this code:
    1) Why in this code IRM_OUT is an output but being used as an input?
    Code:
    IRM_Out VAR PORTA.1 'IR RX Module VDD (OUT)
    TRISA      = %00000000 'Set Input/Output
    
    IRM_Out = 1                   'set port HIGH
    
    WHILE IRM_Out = 1 : WEND      'Wait here until a LOW signal is incoming
    FOR Ctr_A = 1 TO Max_Bit
        TMR1H = 0                 'Reset Timer 
        TMR1L = 0                 'Reset Timer 
        T1CON.0 = 1               'Start Timer
        WHILE IRM_Out = 0 : WEND  'stay here as long as input signal is LOW
        T1CON.0 = 0               'Stop Timer
        V_Tmr.LowByte  = TMR1L    ' \ 
        V_Tmr.HighByte = TMR1H    '  > Store data to LOW_BIT var
        L_Bit[Ctr_A]   = V_Tmr    ' /
        TMR1H = 0                 'Reset Timer 
        TMR1L = 0                 'Reset Timer 
        T1CON.0 = 1               'Start Timer
        WHILE IRM_Out = 1 : WEND  'stay here as long as input signal is HIGH
        T1CON.0 = 0               'Stop Timer
        V_Tmr.LowByte  = TMR1L    ' \
        V_Tmr.HighByte = TMR1H    '  > Store data to HIGH_BIT var
        H_Bit[Ctr_A]   = V_Tmr    ' /
    NEXT Ctr_A
    C_Led = 0
    PAUSE 1000                    'wait before continue
    2) It is declared that 'factor is a constant =0', then what does this routine do?
    Code:
    '______________________________________________________________
    ' Factorise (time compensation due to BASIC operations latency)
    FOR Ctr_A = 1 TO Max_Bit
        IF L_Bit[Ctr_A] >= Factor THEN L_Bit[Ctr_A] = L_Bit[Ctr_A] + Factor
        IF H_Bit[Ctr_A] >= Factor THEN H_Bit[Ctr_A] = H_Bit[Ctr_A] + Factor
    NEXT Ctr_A
    3) Also it will be much appreciated if someone can explain the following three routines as well, as this purpose is not clear to me
    Code:
    '_______________________________________________
    ' Rescale values (according to acquiring method???)
    FOR Ctr_A = 1 TO Max_Bit
        IF L_Bit[Ctr_A] > 0 THEN L_Bit[Ctr_A] = L_Bit[Ctr_A]/2
        IF H_Bit[Ctr_A] > 0 THEN H_Bit[Ctr_A] = H_Bit[Ctr_A]/2
    NEXT Ctr_A
     
    '______________________________________
    ' Find the longest H_Bit = interval bit
    '  This to determine how many bits in pattern
    FOR Ctr_A = 1 TO Max_Bit
        IF H_Bit[Ctr_A] > Itv_Bit THEN
            Itv_Bit = (H_Bit[Ctr_A] + 100) 'store the highest H_Bit value in Itv_Bit
            Bit_Cnt = Ctr_A            'is the count of bits in the original pattern --- How can bit_cnt count the bits in the original pattern if it only enters this loop if H_Bit[Ctr_A] > Itv_Bit
        ENDIF
    NEXT Ctr_A
     
    '___________________________________________________
    ' Replace all "after pattern" bits with value "zero"
    FOR Ctr_A = (Bit_Cnt + 1) TO Max_Bit
        L_Bit[Ctr_A] = 0
        H_Bit[Ctr_A] = 0
    NEXT Ctr_A

  3. #3
    Join Date
    Nov 2009
    Location
    London
    Posts
    251


    Did you find this post helpful? Yes | No

    Default Re: IR Learner? Need ideas

    Anyone there???

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts