decoding data from a Turnigy 9x receiver in an Ardiono

1,667 views
Skip to first unread message

Jason Lewis

unread,
May 30, 2012, 1:52:55 AM5/30/12
to sydney-h...@googlegroups.com
Hi Guys,

Just thought I'd start a new thread on this because the other one was
getting a bit long.

From what I understand, if you want to easily get data from an RC
receiver into an Ardiuno, it's best to get the mixed PCM (or is it PPM?)
data line from the receiver and decode that in the Arduino.

Unfortunately the 8ch receiver that comes with the Turnigy 9x, to the
best of my knowledge, does not have any such output from the little
micro controller. However it is available on some other receivers.

So anyone know of a turnigy compatible receiver which can be interfaced
to a uC?

Or if you have done it, how did you go about it?

Thanks,

Jason

signature.asc

Gav

unread,
May 30, 2012, 2:02:19 AM5/30/12
to sydney-h...@googlegroups.com
Coincidentally, I have this open in another tab:
which has lots of useful info on servo signals and the arduino.

There's this example, which is a bit complicated and I'm still working through, but explains how to do multiple channels at the same time:

Only hitch is that it uses the multiple input pins. I'm not sure how to coax a turnigy to give mixed output on a single wire, although I'd wager it's possible. If you can make it do that then there's an example decoder sketch:

Ada Lim

unread,
May 30, 2012, 2:09:27 AM5/30/12
to sydney-h...@googlegroups.com

I'll test this

--
You received this message because you are subscribed to the Google Groups "Robots & Dinosaurs" group.
To post to this group, send email to sydney-h...@googlegroups.com.
To unsubscribe from this group, send email to sydney-hackspa...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sydney-hackspace?hl=en.

Ada Lim

unread,
May 30, 2012, 2:10:15 AM5/30/12
to sydney-h...@googlegroups.com

at some point, but I am told by my unreliable memory that one of the top two ports (bind/bat) has mixed pwm signal.

Max Nippard

unread,
May 30, 2012, 2:10:34 AM5/30/12
to sydney-h...@googlegroups.com
It's ppm, all channels combined in to one wire. Often called "sum ppm" by the MikroKopter people. 
You can make an adaptor Or by one http://diydrones.com/profiles/blogs/new-product-in-the-diy-drones?xg_source=activity but many receivers have ppm internally which is then broken out to the separate channel connectors. 
Hunting around with a scope could turn up an easy to solder to ppm signal inside the receiver. Most likely someone has already done the hunting and posted on DIY drones or RCgroups. 

Ada Lim

unread,
May 30, 2012, 2:14:19 AM5/30/12
to sydney-h...@googlegroups.com

one of the pins on the a7105 is all channels mixed; this goes to another chip which demultiplexes it into the various channels.  you can also get SPI data off the A7105.

I'll post a diagram in a little bit.

-A

Max Nippard

unread,
May 30, 2012, 3:48:07 AM5/30/12
to (unknown)
I have  attached the bom & schematic for the first link. 'Someone' forgot move the guide from smugmug before cancelling his account there. oops.
Ignore the pic it just looks for the Spektrum ar7000 receiver's failsafe output and cuts the signal to the quad controller board triggering the controllers failsafe.

from the quad/multicopter mega link index
Converters and tools and mods for composite PPM signal:
--Arthur/Richard/Thomas aka Mr. RC-Cam Spektrum AR7000 PPM converter:http://www.rcgroups.com/forums/showt...m#post12011142 andhttp://www.rcgroups.com/forums/showt...m#post12381038 andhttp://www.rcgroups.com/forums/showt...m#post10413385
--Berg 4L composite PPM mod: http://www.rcgroups.com/forums/showp...&postcount=140
--BIY PPM adapter by Rich Smith: http://www.rcgroups.com/forums/showthread.php?t=1000132
--Composite PPM conversions list of receivers WIKI and how to convert them at the Mikrokopter site:http://translate.google.com/translat...n&hl=&ie=UTF-8
--Corona RPD81 composite PPM mod: http://www.rcgroups.com/forums/showt...ght=corona+mod
--DIYDrones 8 Channel PPM converter (same as Paparazzi) by Chris Anderson:http://store.diydrones.com/ProductDe...Code=BR%2DPPME 
--Flyboard 8-12 channel RC PPM serializer converter: http://www.flashrc.com/flyboard/5470...ms_soudes.html
--Free Oscilloscope and Logic analyzer: http://www.rcgroups.com/forums/showt...e#post13771796
--FoxTechFPV 12ch PPM adapter: http://www.foxtechfpv.com/ppm-encoder-p-236.html
--FrSky V87R-SP and D8R Rx's can output PPM on ch8:http://www.rcgroups.com/forums/showt...ight=frsky+ppm and http://code.google.com/p/uavp-mods/w...SkyProgramming
--Futaba R156F composite PPM mod: http://www.mikrokopter.de/ucwiki/R156F
--Futaba R617RS BIY PPM converter: http://jreise.de/PPM/R617FS.html
--Futaba R617RS 5ch composite PPM signal mod: http://www.mikrokopter.de/ucwiki/R607FS
--HiTec HFS 05S composite PPM mod: http://www.rcuniverse.com/forum/m_6665974/tm.htm
--Logic Analyzer Displays of PPM Rx Channels thread by Dleroi:http://www.rcgroups.com/forums/showt...7#post14013766
--Logic Analyzer: The Fabulous Free Logic Analyzer: http://tfla-01.berlios.de/ 

AR7K-PPM_PartsListB.pdf
AR7K-PPM_SchematicB.pdf

Ada Lim

unread,
May 30, 2012, 4:38:01 AM5/30/12
to sydney-h...@googlegroups.com
On Wed, May 30, 2012 at 5:48 PM, Max Nippard <mnip...@gmail.com> wrote:
> I have  attached the bom & schematic for the first link. 'Someone' forgot
> move the guide from smugmug before cancelling his account there. oops.
> Ignore the pic it just looks for the Spektrum ar7000 receiver's failsafe
> output and cuts the signal to the quad controller board triggering the
> controllers failsafe.
>
> from the quad/multicopter mega link index

I thought about suggesting a bunch of OR gates to do it, until I
realised I knew how to program microcontrollers. Why not put a cheap
high-pin-count micro onto it? a tiny2313 would be plenty.

-A

Max Nippard

unread,
May 30, 2012, 4:49:03 AM5/30/12
to sydney-h...@googlegroups.com
No reason, My guess is because that design evolved on a couple of RC and quadcopter forum threads where many were more comfortable with non micro based electronics.

Jake Anderson

unread,
May 30, 2012, 4:51:34 AM5/30/12
to sydney-h...@googlegroups.com, Ada Lim
On 30/05/12 18:38, Ada Lim wrote:
> On Wed, May 30, 2012 at 5:48 PM, Max Nippard<mnip...@gmail.com> wrote:
>> I have attached the bom& schematic for the first link. 'Someone' forgot
>> move the guide from smugmug before cancelling his account there. oops.
>> Ignore the pic it just looks for the Spektrum ar7000 receiver's failsafe
>> output and cuts the signal to the quad controller board triggering the
>> controllers failsafe.
>>
>> from the quad/multicopter mega link index
> I thought about suggesting a bunch of OR gates to do it, until I
> realised I knew how to program microcontrollers. Why not put a cheap
> high-pin-count micro onto it? a tiny2313 would be plenty.
>
> -A
>
diode OR with a pulldown would be sufficient.

Ada Lim

unread,
May 31, 2012, 9:41:12 PM5/31/12
to sydney-h...@googlegroups.com

Tracing my receiver, it turns out that I'm wrong.  It sends SPI to a decoder chip which then sends channel data out.

Also, I found this
www.rcgroups.com/forums/showthread.php?t=1626362
which suggests that my flaky memory was right.

Also:  I know that everyone in the RC world calls it PPM, but if you say that to someone with a clue, they'll get very confused and design their arduino software wrong.   or even better, as has already happened, arduino is the stupidity vector for another piece of misinformation.

for those who are confused:
a standard servo signal (I think futaba pioneered this, but basically all the chinese clones follow this standard) consists of a 1-2ms pulse.  the position of the servo is determined by the width of the pulse, with 1.5ms (usually) being centre.  the mixed signal has these stacked one after the other in a frame that is usually around 20ms long (so you can fit 9-10 signals in this timeframe).

tALSit de CoD

unread,
Jun 1, 2012, 1:43:05 AM6/1/12
to sydney-h...@googlegroups.com


On Jun 1, 2012 2:41 AM, "Ada Lim" <a...@panda2.net> wrote:
>
>
> for those who are confused:
> a standard servo signal (I think futaba pioneered this, but basically all the chinese clones follow this standard) consists of a 1-2ms pulse.  the position of the servo is determined by the width of the pulse, with 1.5ms (usually) being centre.  the mixed signal has these stacked one after the other in a frame that is usually around 20ms long (so you can fit 9-10 signals in this timeframe).
>

Also, these pulses are separated by 400us.

Ada Lim

unread,
Jun 1, 2012, 2:24:52 AM6/1/12
to sydney-h...@googlegroups.com

is there an enforced 2.4ms channel size, or is that 400 us after the trailing edge?

--

tALSit de CoD

unread,
Jun 1, 2012, 3:30:22 AM6/1/12
to sydney-h...@googlegroups.com
From what i've seen it's just after trailing edge. That is, if ALL your channels are set to min, the whole message will be shorter than if all the channels are set to max. 

Here's the code that I use to send the stream on an arduino to a graupner transmitter over DSC:

int P=3;
int values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};


void loop()
{
  // wait for the start
  //
  // set values
  //

  digitalWrite(P,HIGH);
  delayMicroseconds(400);
  digitalWrite(P,LOW);
  for ( int i = 0; i < 12 ; ++i )
  {
    int v = values [i] + 1100;
    delayMicroseconds(v);
    digitalWrite(P,HIGH);
    delayMicroseconds(400);
    digitalWrite(P,LOW);
  }
}

Note, this is on my Graupner that has 12 channels. 12 channels at max 2.4ms each is a minimum of 28.8ms, which pushes it over the 20ms packet time. So I use a packet time of 35ms, which seams to work fine for me. For your use, you probably want to limit yourself to 6 channels and the 20ms packet time.

Also, I'm getting the values from the ADC and this seems to work fine for my case:

    values[ 6 ] = ((1024-analogRead( PITCH_POT )) - 512);
    values[ 10 ] = ((1024-analogRead( ROLL_POT )) - 512) >> 1;

kris

unread,
Jun 1, 2012, 4:23:22 AM6/1/12
to sydney-h...@googlegroups.com
just out of interest (as this topic is well above my comfort zone) is this technique so you can use an audrino to control an RC aircraft.
So you could built an "auto hover" drone or similar using a tilt sensor and an on board audrino?

forgive me if i sound as technical as your cat.

Nick Johnson

unread,
Jun 1, 2012, 4:32:58 AM6/1/12
to sydney-h...@googlegroups.com
On Fri, Jun 1, 2012 at 6:23 PM, kris <kr...@sleepingplanet.com> wrote:
just out of interest (as this topic is well above my comfort zone) is this technique so you can use an audrino to control an RC aircraft.
So you could built an "auto hover" drone or similar using a tilt sensor and an on board audrino?

forgive me if i sound as technical as your cat.

If you're going to put the Arduino onboard, there's probably no point in doing this encoding - you can just control the servos directly. See, for instance, Ardupilot.

-Nick

tALSit de CoD

unread,
Jun 1, 2012, 4:34:27 AM6/1/12
to sydney-h...@googlegroups.com
My Okto had a camera gimbal that auto-levels, but you can also control the roll and tilt. However, to control the roll&tilt, you needed an extra pair of hands, so I made an external box that feeds into the "training port" of the transmitter. That way I could have another person standing next to me controlling the roll&tilt while I fly the Okto.

You wouldn't really use it to control the RC aircraft really. Though people have been making Tx/Rx combos using arduinos and Xbees.

Another point of interest for this is when you have a flight controller board for a multicopter that requires 4+ inputs (Throttle, Yaw, Aileron, Elevator, etc). Your radio receiver has an individual cable for each of these channels, so typically you would need to plug in 4+ cables from your Rx to your flight controller. If you have a single cable carrying all channels, it simplifies cabling, and also the board design can be simplified too.

Ada Lim

unread,
Jun 2, 2012, 3:05:36 AM6/2/12
to sydney-h...@googlegroups.com

Jason and I just put a scope to a 6ch receiver.  No joy;  could see the SPI signal but the pins only had a single signal each.  The signals were stacked sequentially without the 400us separator.   There's a 24c02 onboard which is probably configuration rom for the 7105.

Tom Davies

unread,
Jun 2, 2012, 7:35:44 AM6/2/12
to sydney-h...@googlegroups.com


On Saturday, 2 June 2012 17:05:36 UTC+10, Dr Ada Not-a-fruit wrote:

Jason and I just put a scope to a 6ch receiver.  No joy;  could see the SPI signal but the pins only had a single signal each.  The signals were stacked sequentially without the 400us separator.   There's a 24c02 onboard which is probably configuration rom for the 7105.

So with no separator you can't OR them together and recreate the combined signal? 

Jason Lewis

unread,
Jun 2, 2012, 7:19:53 PM6/2/12
to sydney-h...@googlegroups.com
So does the transmitter encode the position of the sticks and then send
over SPI a packet containing that info to the radio chip? which then
transmits the packet? Then the radio chip on the receiver receives the
packet, and then outputs it on the SPI bus on the receiver?

Is that more or less how it works?

So if I can tap into the SPI bus on the receiver, and decode the packet,
all the info should be there?

This thread seems to have some info about the SPI packet, but on the
transmitter side I think?

http://www.rcgroups.com/forums/showthread.php?t=1626362

Jason

On 2/06/12 5:05 PM, Ada Lim wrote:
> Jason and I just put a scope to a 6ch receiver. No joy; could see the
> SPI signal but the pins only had a single signal each. The signals were
> stacked sequentially without the 400us separator. There's a 24c02
> onboard which is probably configuration rom for the 7105.
>
> On Jun 1, 2012 11:41 AM, "Ada Lim" <a...@panda2.net
> <mailto:a...@panda2.net>> wrote:
>
> Tracing my receiver, it turns out that I'm wrong. It sends SPI to a
> decoder chip which then sends channel data out.
>
> Also, I found this
> www.rcgroups.com
> <http://www.rcgroups.com/forums/showthread.php?t=1626362>/forums/
> <http://www.rcgroups.com/forums/showthread.php?t=1626362>showthread.php
> <http://www.rcgroups.com/forums/showthread.php?t=1626362>?t=1626362
> <http://www.rcgroups.com/forums/showthread.php?t=1626362>
> which suggests that my flaky memory was right.
>
> Also: I know that everyone in the RC world calls it PPM, but if you
> say that to someone with a clue, they'll get very confused and
> design their arduino software wrong. or even better, as has
> already happened, arduino is the stupidity vector for another piece
> of misinformation.
>
> for those who are confused:
> a standard servo signal (I think futaba pioneered this, but
> basically all the chinese clones follow this standard) consists of a
> 1-2ms pulse. the position of the servo is determined by the width
> of the pulse, with 1.5ms (usually) being centre. the mixed signal
> has these stacked one after the other in a frame that is usually
> around 20ms long (so you can fit 9-10 signals in this timeframe).
>
> On May 30, 2012 4:14 PM, "Ada Lim" <a...@panda2.net
> <mailto:a...@panda2.net>> wrote:
>
> one of the pins on the a7105 is all channels mixed; this goes to
> another chip which demultiplexes it into the various channels.
> you can also get SPI data off the A7105.
>
> I'll post a diagram in a little bit.
>
> -A
>
> On May 30, 2012 4:10 PM, "Max Nippard" <mnip...@gmail.com
> <mailto:sydney-h...@googlegroups.com>.
> To unsubscribe from this group, send email to
> sydney-hackspa...@googlegroups.com
> <mailto:sydney-hackspace%2Bunsu...@googlegroups.com>.
signature.asc

Terry Dawson

unread,
Jun 2, 2012, 8:12:12 PM6/2/12
to sydney-h...@googlegroups.com
On Sun, Jun 3, 2012 at 9:19 AM, Jason Lewis <ja...@dickson.st> wrote:
> So does the transmitter encode the position of the sticks and then send
> over SPI a packet containing that info to the radio chip? which then
> transmits the packet? Then the radio chip on the receiver receives the
> packet, and then outputs it on the SPI bus on the receiver?
>
> Is that more or less how it works?
>
> So if I can tap into the SPI bus on the receiver, and decode the packet,
> all the info should  be there?
>
> This thread seems to have some info about the SPI packet, but on the
> transmitter side I think?
>
> http://www.rcgroups.com/forums/showthread.php?t=1626362

There are a bunch of different standards that have been used over the
years, and like many evolved technologies the result today is a
mish-mash of old and new reflecting desires to preserve backward
compatabiliity, at least to some extent.

In the article you referred to they've intercepted the communications
between the encoder and the transceiver module. Both the encoder and
the transceiver module do a fair bit of data mangling, so what you're
seeing at that point is neither what the actual controls sent to the
encoder, or what the transceiver sends to air. It's an intermediary
protocol, primarily governed by the design of the transceiver module
which is an off-the-shelf module not designed specifically for this
purpose. It's probably reasonable to assume that same occurs in the
receive path, again the decoder must interpret what the transceiver
module tells it in order to recover the source data so you could
expect a similar protocol in the receiver between the transceiver
module and decoder too.

It's probably reasonable to assume that Turnigy have based many of
their designs around similar transceiver modules supporting much the
same protocol, so you may well be in luck, even if you don't have that
specific transmitter/receiver combination.

The protocol isn't as simple as you describe because some of the
messages passed between the encoder and the transceiver module are
signalling packets necessary to initialise the transceiver module.
I've had a quick read of the A7105 transceiver module data sheet. It's
typical of a number of radio transceiver modules out there, they're
capable of being configured to operate in a number of subtly different
ways so there is sometimes a fair bit of tinkering necessary before
you can actually get them to exchange data. I found the data-sheet
here: http://www.avantcom.com.tw/AVANTCOM/TC/DATA/PRODUCT/SOLVE/18_3.pdf
take a look, you can see what I mean.

Suffice it to say, the receive side is likely to be a little simpler
than the transmitter side, but not much. Receiving data isn't a
passive activity, to receive data you must poll the transceiver
module.

It is possible that if you open up the 'receiver' you might find that
there is re-use evident there and it might be based on the same
chipset as the more expensive ones. It's possible that by poking a
CRO/logic analyser probe around you might find a rendering of the
multiplexed signal sitting on an unused pin somewhere.

If it were me, I probably wouldn't bother. For the relatively low cost
of them I'd buy a receiver that had the output you're looking for.
Unless you're interested in the academic challenge, it'd certainly be
an interesting learning exercise.

regards
Terry

Jason Lewis

unread,
Jun 3, 2012, 12:16:40 AM6/3/12
to sydney-h...@googlegroups.com
Yes I'd totally prefer to find a receiver that had the summed output but
I've not managed to find one using google. Anyone know of a receiver
that has the summed output for sure?

Jason
signature.asc

Ada Lim

unread,
Jun 3, 2012, 3:23:19 AM6/3/12
to sydney-h...@googlegroups.com
On Sun, Jun 3, 2012 at 2:16 PM, Jason Lewis <ja...@dickson.st> wrote:
> Yes I'd totally prefer to find a receiver that had the summed output but
> I've not managed to find one using google. Anyone know of a receiver
> that has the summed output for sure?

it seems that HK took it off their 6ch receivers late last year. I
will try looking at my older receivers at some point.

-A

Ada Lim

unread,
Jun 3, 2012, 3:35:47 AM6/3/12
to sydney-h...@googlegroups.com
On Sat, Jun 2, 2012 at 9:35 PM, Tom Davies <tgda...@gmail.com> wrote:
>
>
> On Saturday, 2 June 2012 17:05:36 UTC+10, Dr Ada Not-a-fruit wrote:
>>
>> Jason and I just put a scope to a 6ch receiver.  No joy;  could see the
>> SPI signal but the pins only had a single signal each.  The signals were
>> stacked sequentially without the 400us separator.   There's a 24c02 onboard
>> which is probably configuration rom for the 7105.

um, I mean configuration rom for the micro, apparently. it's only a
2k bit of flash so I don't know if it actually contains the code for
the micro or only contains some ID stuff.

> So with no separator you can't OR them together and recreate the combined
> signal?

it would look pretty glitchy and be hard to deglitch.

for the 6ch at least, you need a micro.

too bad there aren't that many micro people around...

Nick Johnson

unread,
Jun 3, 2012, 4:24:10 AM6/3/12
to sydney-h...@googlegroups.com
On Sun, Jun 3, 2012 at 2:16 PM, Jason Lewis <ja...@dickson.st> wrote:
Yes I'd totally prefer to find a receiver that had the summed output but
I've not managed to find one using google. Anyone know of a receiver
that has the summed output for sure?

Sounds like a good excuse for an RC receiver Arduino shield. ;)

-Nick

tALSit de CoD

unread,
Jun 3, 2012, 4:32:03 AM6/3/12
to sydney-h...@googlegroups.com
Here's a summer done with an atmel, I believe:

Jan Dreier

unread,
Apr 7, 2014, 4:15:10 AM4/7/14
to sydney-h...@googlegroups.com
Dear Max Nippard,

I am a bloody noob with all of this, just got a Turnigy TGY 9X with the enclosed receiver and try to figure out if that receiver (9X8C-V2) is capable of putting out a PPM signal ( I am trying hard to use a PixHawk controller) Since you seem to be extremely knowlegable it would be greatly appreciated if you have an answer or could point me towards som info.

I had the help from some experience flyers today, but nobody seemed to be able to figure out if this was possible. Clearly the radio/transmitter is, but what about the receiver? And which port would carry the PPM signal.

Thanks for any info you could provide
Jan

Jason Ball

unread,
Apr 7, 2014, 4:33:08 AM4/7/14
to sydney-h...@googlegroups.com

As far as I'm aware with the 9X it depends on  the transmitter board you have installed.   It uses the same motherboard as the 9XR which I'm using with a pixhawk.

I'm using a 9XR with the OrangeRX DSM/DSM2 transmitter and OrangeRX R710 receiver with my pixhawk, using the SBUS output to the px4 (1 connection, all channels).   Its apparently also possible to use one of the satellite receivers that only have the SBUS output.

I've updated to the latest version of the ER9X firmware and it just... works...

J.




--
You received this message because you are subscribed to the Google Groups "Robots & Dinosaurs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sydney-hackspa...@googlegroups.com.

To post to this group, send email to sydney-h...@googlegroups.com.



--

--

Teach your kids Science, or somebody else will :/

ja...@ball.net
vk2...@google.com
callsign: vk2vjb


Jason Ball

unread,
Apr 7, 2014, 4:40:42 AM4/7/14
to sydney-h...@googlegroups.com

Hirsch, John

unread,
Apr 7, 2014, 8:31:53 PM4/7/14
to sydney-h...@googlegroups.com

Hi Jan

I don’t think you can do PPM with the standard 9X receiver.

I have a 9XR with FRSKY DJT transmitter module and D8R receiver http://www.hobbyking.com/hobbyking/store/__14355__FrSky_DF_2_4Ghz_Combo_Pack_for_JR_w_Module_RX.html

I have upgraded the firmware in the receiver to output PPM.

Jon

 

John Hirsch
Electronics Engineer,
Interactives
Powerhouse Museum
500 Harris Street, Ultimo, Sydney, NSW 2007 Australia
T +61 2 92170233
W www.powerhousemuseum.com



Game Masters
Featuring over 100 playable games this exhibition celebrates the world’s most influential videogame designers.


 

This email plus any attachments to it are confidential and may be privileged. Any unauthorised use is strictly prohibited. If you receive this email in error, please delete it and any attachments.

--

You received this message because you are subscribed to the Google Groups "Robots & Dinosaurs" group.

To unsubscribe from this group and stop receiving emails from it, send an email to sydney-hackspa...@googlegroups.com.

To post to this group, send email to sydney-h...@googlegroups.com.

Jason Lewis

unread,
Apr 8, 2014, 2:44:31 AM4/8/14
to sydney-h...@googlegroups.com
Hi,

I did a bit of googleing around and it seems as though the 9x uses an SPI bus to communicate between the chips on the board. You could tap into that maybe:

http://www.instructables.com/id/I2C-interface-to-the-FlySkyTurnigy-9x/

Jason
--
You received this message because you are subscribed to the Google Groups "Robots & Dinosaurs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sydney-hackspa...@googlegroups.com.
To post to this group, send email to sydney-h...@googlegroups.com.

-- 
Jason Lewis
http://emacstragic.net
signature.asc
Reply all
Reply to author
Forward
0 new messages