Hi Alan,

finially getting somewhere...

But first let me thank You for the explanation an the analyzer result. Finally it starts to makes sense!!!

right at the beginning of the program I added a

`high PPM`

before outputting the first pulse I added

`low PPM`

pauseus breaktime

Then come the seven pulses. After that

pauseus breaktime

high PPM

Here´s the result

That´s recognized by the TX1 and I can control the motor and servo (somewhat). So I´m back to "scaling" the pulses.

I still haven´t come to grips with "**". So I went back to post #12, where I found the following line:

W6=W6-800**39322+640 '(New width=(Old Width-1msec)*0.6+0.8msecs)

I took the comment and came up with this:

Servo1=((Servo1-584)*0,6557)+960

584 is the SRXL Value for 1ms

960 is the Pulsout value for 0.6ms

0.6557 = (Pulsout for 1.8ms - Pulsout for 0.6ms) / (srxl for 2ms - srxl for 1ms)

0.6657 = (2880 - 960) / (3512 - 584)

Before outputting a servopuls I used to the following formula, considering PICAXE math going simply from left to right, and there are no decimals:

w1 = w1 -584 *655 /1000 + 960

in a spreadsheet the formula works fine, but not in the program. To get somewhere I used the srxl values without transformation, which gave the following results.

Picture 1: Channels 1 (ctr) and 2 (ctr) taken from the srxl stream, the rest of them are hardcoded CH3 = max, CH4 = min, CH5 ctr, CH6 =max, CH7 = ctr

Picture 2: Channel 1 (min) the rest as in picture 1

Picture 3: Channel 1 (max) the rest as in picture 1

And as I said, I just can´t figure out the "**" operator. I found a post of Yours in another thread, where You explained it, in terms of "high" and "low byte", which helped a bit. In post #12 it says "W6=W6-800**39322" - where do You get the number "39322" from?

Looks like I´m going to need some (or even some more) help on that.

regards

Herbert