Need help on IR remote

Hi. i know this is not the correct forum but i think you are the only one can help me (there is no so good support on chipkit forum due that it is new product)

i was using IRremote library of ken shirriff A Multi-Protocol Infrared Remote Library for the Arduino
but my project needs a faster proccessor so i am using chipkit uno32.
chipkit can work with most libraries but it doesnt work with this IRremote library.

is it posible to modify it so that can work with uno32? or is there any code that can do the same work?
there are many ways to read infrared signals and convert them to a integer number but i want to be able to check when i need for IR signals becouse in void loop my project do many other things.
i want to make something like this:
void loop(){
readkey=read_ir_remote(); //check here if any IR signal there is and store it to readkey
delay(500);
//other tasks here

}

Hi. i know this is not the correct forum but i think you are the only one can help me (there is no so good support on chipkit forum due that it is new product)

If you got to the Ford dealer, do you really expect help with your Honda?

is it posible to modify it so that can work with uno32?

Anything's possible. If you have to ask, though, I suspect you haven't even tried looking at the source code.

but my project needs a faster proccessor so i am using chipkit uno32.

void loop(){
   readkey=read_ir_remote(); //check here if any IR signal there is and store it to readkey
   delay(500);

Bullshit!

this must be some thosand or so line not to be able to do what your indicating, Is it ?

PaulS:

Hi. i know this is not the correct forum but i think you are the only one can help me (there is no so good support on chipkit forum due that it is new product)

If you got to the Ford dealer, do you really expect help with your Honda?
Sorry but one is AUDI A4 and the other one is VW passat. they have common components

is it posible to modify it so that can work with uno32?

Anything's possible. If you have to ask, though, I suspect you haven't even tried looking at the source code.
I have checked source code but i am not able to undersand that type of code

but my project needs a faster proccessor so i am using chipkit uno32.

void loop(){

readkey=read_ir_remote(); //check here if any IR signal there is and store it to readkey
  delay(500);



Bullshit!
**this was an example, and you forgot to see "//other tasks here"**
**my project have to do with 1920leds STATIC. so you dont know my project to speak like that**

Sorry but one is AUDI A4 and the other one is VW passat. they have common components

Not quite. They might share a floorplan and wheels, but one has a Ford engine and the other a Honda. Who would you go to when the head gasket went?

You say you need a faster processor, and the snippet of code you posted calls delay(). I still say bullshit.

I told you again
//other tasks here

it contains there 80kb code. i think it was not necessary to paste all code....

delay was an example to understand that my code needs to read the ir pulses when i need

Ok. But this still isn't a chipkit forum.

i succed to make my own code without library(thanks to an old code of some on this forum). i modified so it works on external function when someone need to read if there is IR signal.

this works on SONY remotes

int getIRKey() {
  int total_length=10000;
  int header_length=7000;
  int check_on_high=3000; 
  int check_on_low=1000;
  int ir_data[12];
  int ir_result[12];
  long pulselow;

  for (int i=0;i<total_length;i++){//give time to check all pulses. becouse we dont know where the header low bit is  
        delayMicroseconds(1);
        if (digitalRead(ir_pin)==LOW){ //if you found low signal        
            pulselow=pulseIn(ir_pin,LOW);//then store in pulselow the length of pulse
            if (pulselow>header_length){ //if this is the header pulse
                    pulselow=0;
                    for (int j=0;j<12;j++){
                       ir_data[j] = pulseIn(ir_pin, LOW);      //Start measuring bits, I only want low pulses
                    }
                    for(int i=0;i<12;i++) {		  //Parse them
                        if(ir_data[i]>check_on_high) {		  //is it a 1?
                    	ir_result[i] = 1;
                        }  else {
                        	if(ir_data[i]>check_on_low) {		//is it a 0?
                        	    ir_result[i] = 0;
                        	} else {
                        	   ir_result[i] = 2;			  //Flag the data as invalid; I don't know what it is!
                        	}
                        }
                    }
                    for(int i=0;i<12;i++) {		  //Pre-check data for errors
                        if(ir_result[i] > 1) {
                         	return -1;			     //Return -1 on invalid data
                        }
                   }
                   int result = 0;
                   int seed = 1;
                   for(int i=0;i<12;i++) {		  //Convert bits to integer
                        if(ir_result[i] == 1) {
                    	  result += seed;
                        }
                        seed = seed * 2;
                   }
                   return result;		
            }
    }
    }
}

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.