Hi
People who needed RC for their projects know that you can use pulsein() to read the signal on any pin you like.
As Duane points out very clearly on his website pulsein() is not something you want to use in a "real life" project.
see following posts of duane that explain this principle
http://rcarduino.blogspot.be/2012/01/how-to-read-rc-receiver-with.htmlhttp://rcarduino.blogspot.be/2012/01/how-to-read-rc-receiver-with_20.htmlAs the excellent code duane provides is impacting the sketch readaility I decided to put the code in a library. Using my 6 channel RC receiver I made following snapshots of my arduino scope
Here with the duemilanove on A0 til A5

Here with the mega on A8 til A13

You can see peeks on both images but these can easily be ignored. you can also see that all 6 channels are changing.
The library is available at github
https://github.com/jantje/librariesI included the code I used for the mega in the library as an example.
As I'm using eclipse I did not provide a keyword.txt. Feel free to fork the repository and add a keyword.txt.
If you like it feel free to use it.
If you don't like it feel free to provide better code.
Best regards
Jantje
The example code extract
#define NUM_RC_CHANNELS 6 //You need to specify how many pins you want to use
#include "PinChangeInt.h" //If you need pinchangeint you need to include this header
const uint8_t RC_Channel_Pin[NUM_RC_CHANNELS]={ A8,A9,A10,A11,A12,A13};//Here I specify I want to listen to pins A8 to A13 of my mega
uint16_t RC_Channel_Value[NUM_RC_CHANNELS]; //This variable will contain the values read from the RC signal
#include "RCLib.h" //This include needs all declarations above. Do not try to move it up or it won't compile
void setup()
{
Serial.begin(57600);
SetRCInterrupts(); //This method will do all the config foe you.
//Note some problems will be reported on the serial monitor
}
void loop()
{
int flag;
if(flag=getChannelsReceiveInfo()) //Here you read the RC flag contains all the channels that have a response
// see duane's excellent articles on how this works
{
//do your stuff here
}
}