Hi,

Following on from a suggestion on the main PBP forum, it is hoped to get people to post up code snippets for anything RC model related. I'll start the ball rolling by posting code that makes an LED pulse like a beacon and is controllable from a transmitter. - This was a result of my own bit of code and suggestions from guys on this forum on how to use pulsein command to detect the signal from the receiver.

Code:
'****************************************************************
'*  Name    : RC Input - 12F675                                 *
'*  Author  :                                                   *
'*  Notice  : Copyright (c) 2009                                *
'*          : All Rights Reserved                               *
'*  Date    : 27/10/2009                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************

' set up PIC config

@ __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BODEN_ON

 __CONFIG
 _INTRC_OSC_NOCLKOUT
 _WDT_ON
 _PWRTE_ON
 _MCLRE_OFF
 _BODEN_ON

OPTION_REG = %10000000                      ' Pull-ups = off, GPIO.2 = I/O, prescaler to Timer1
GPIO = %00000000                            ' All outputs = 0 on boot
TRISIO = %00001000                          ' GPIO.3 input, GPIO.0,2,3,4,5 output
ANSEL = 0	                                ' Set all digital
WPU = 0                                     ' Internal pull-ups = off
ADCON0 = 0                                  ' A/D off

;set varibles

signal VAR GPIO.3                           'GPIO.3 is used to the receiver
pulse  VAR BYTE                             'pulse is used to store the result
led var GPIO.0                              'GPIO.0 is the output we want to flash
i var byte                                  'i is used for the for next loop to generate width of pulses
getout var bit                              'used to check switch routines

'-------------------------------------------------------------------------------

main:
PulsIn signal, 1, pulse                     ' reads signal from receiver
IF (pulse >= 100) AND (pulse <= 160) Then   ' threshold for activation
Low GPIO.0                                  ' turns LED off
Else
goto flash                                  'if pulse is ouside range goto flash
EndIF
GoTo main                                   ' do it all again

flash:
for i = 1 to 254                            ' for next loop                                             
Pwm GPIO.0,i,1                              ' send pulse to GPIO.0 for lenght i increasing brightness
pause 1
if i=253 then                               ' test to see value of i
i=1                                         ' if test is true then set 1 to 1 and getout to 1
GetOut=1 
if Getout=1 then goto down                  ' if getout is q then jump to down routine
endif
next i

down:                                       ' same as flash but decreases brightness
for i = 254 to 1 step -1                                              
Pwm GPIO.0,i,1
pause 1
if i=2 then                                 ' test of value i, if i =1  then
i=1                                         ' set i to 1 and getout to 0
GetOut=0  
if Getout=0 then goto main                  ' test value of getout - if 0 go to start of program
endif
next i