- Posts: 303
New FrSkyX protocol
- TomPeer
- Offline
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
I'll start again from d76 and we'll see where the break happens.
Please Log in or Create an account to join the conversation.
- rasqba
- Offline
- Posts: 24
hexfet wrote: Thanks! The reason is the test builds don't contain the filesystem. It's normally not an issue because the filesystem seldom changes, but wanted to check the possibility.
I'll start again from d76 and we'll see where the break happens.
Does it mean when installing test builds, we should only flash the .dfu and not copy any files?
Thanks,
rasqba
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
I can't upload a test build till I move to git so until that happens I'll just post links. There are 4 more commits to validate not counting the changes on the default (master) branch.
For the frskyx test builds there are no other files to copy (other than protocol directory for 7e). The files to copy to the USB drive should come from the nightly build. No issues if you want to copy other files of yours (e.g. models) onto a test build.Does it mean when installing test builds, we should only flash the .dfu and not copy any files?
Please Log in or Create an account to join the conversation.
- Alexandro
- Offline
- Posts: 204
EDIT:
The new Build does work now on on my Bench.
Some Traps here:
1. follow the Points from hexfet ( Install Nighly, update with FRSKYX Build 7c7 XXXXX .dfu, Copy Protocol Folder onto Drive )
2. Bind with a Distance of around 50 and more cm from the RX ( the new PA on command overdrive the RX input Stage at near Distance ! )
3. Switch it on at Distance to get save on Point 2.
doing Tomorrow a deep test with SBUS and SPORT
greetings Alex
Please Log in or Create an account to join the conversation.
- darker44
- Offline
- Posts: 11
Just wanted to give you a feedback.
I flashed newest nightly then new test build 7c7 on DEVO 7e . X4R-sb connected to sp-r-f3 and in cleanflight everything works. All 8 channels work perfectly.
Thanks hexfet for your work. I am waiting for next builds and I'm ready to test!
EDIT:
When do you plan to release new build to test ? I can't wait till frskyX will be in nightly
Please Log in or Create an account to join the conversation.
- 944storm
- Offline
- Posts: 55
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
Thanks all for the testing!
Please Log in or Create an account to join the conversation.
- Alexandro
- Offline
- Posts: 204
Test Version b3a .
Bind does work normal.
Servos does not move on Channel Number set to greater 8 ( test with Servo on Channel 1)
Green Led is solid on.
Moving the Servo sounds good.
is it ok with max 8 Channel or is it a Bug ?
greetings Alex
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
Please Log in or Create an account to join the conversation.
- darker44
- Offline
- Posts: 11
Same as on the last version. I've got bind, solid green light, all my 8 channels works perfectly in cleanflight, I can't see any lags in the charts.
I haven't checked more channels than 8, don't need them
Waiting for the next version - Thanks!
Please Log in or Create an account to join the conversation.
- Alexandro
- Offline
- Posts: 204
no delay on Stick
->x8r with Dymond d47 on Channel 1
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
set number of channels to 8: binding and working ok, no delay on servo movement
set number of channels to 12: binding light ok but servo not working
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
New test build here . I reverted about half the changes of the last test build.
Please Log in or Create an account to join the conversation.
- Alexandro
- Offline
- Posts: 204
Test Ver. 739
Bind at 12 Channel ok
Servos are working at Channel number more then 8
looking good .
doing Deep Test later
greetings Alex
Please Log in or Create an account to join the conversation.
- Alexandro
- Offline
- Posts: 204
Deep Test Ver. 739:
RX X8R
Pwm to Sbus Converter from Frsky (4 Channel Version )
TX Devo 7e
CC2500 Version ( BG with Blue Foil on RF Shield on Picture )
RX Channel out 1-8 : Ok , no Delay
SBus out 1-12 : Ok , no Delay
Volt 1: Ok
RSSI: Ok
all looks Ok, Time for Flight Test at Sunday
greetings Alex
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
Please Log in or Create an account to join the conversation.
- darker44
- Offline
- Posts: 11
I've got bind, solid green light, tested 12 channels, everything works without lags.
Test report : version '19a'. With x4r-sb , sp-r-f3 , devo 7e .
Green light is blinking, in cleanflight, there are big lags and channels are rewired. (doesn't correspond proper channels in cleanflight)
Waiting for the next version to test
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
Bad news: Can't explain why the problem occurs, so hopefully someone will see what I'm missing.
The difference between the working and non-working versions is only the addition of the "static" qualifier to the frsky_check_telemetry function. On the 7e this causes the function to be inlined since it's only called from one place and the function size is reduced by excluding some extended telemetry code. Also (strangely) the compiler generates some different code in an unrelated function. That code is related to the failsafe function.
I don't know ARM assembly and it's not obvious that the different code produces the same result. I'd appreciate if someone compares the code excerpts below and can say if they're equivalent. The problem is either in that code or in the way the function is inlined. The test build at the link prevents the inlining with a compiler directive. The reported issues of some/all channels not working would be consistent with a problem in the failsafe assembly code below.
Are these snippets equivalent?
With frsky_check_telemetry marked static:
256:protocol/frskyx_cc2500.c **** failsafe_chan += 1;
1112 .loc 1 256 0
1113 014c BDBF ittte lt
1114 014e 0233 addlt r3, r3, #2
1115 0150 03F00F03 andlt r3, r3, #15
1116 0154 43F01003 orrlt r3, r3, #16
259:protocol/frskyx_cc2500.c **** failsafe_count = 0;
1117 .loc 1 259 0
1118 0158 0023 movge r3, #0
256:protocol/frskyx_cc2500.c **** failsafe_chan += 1;
1119 .loc 1 256 0
1120 015a BDBF ittte lt
1121 015c 88F80030 strblt r3, [r8]
257:protocol/frskyx_cc2500.c **** } else if (FS_flag & 0x10) {
1122 .loc 1 257 0
1123 0160 4B1C addlt r3, r1, #1
1124 0162 2370 strblt r3, [r4]
With frsky_check_telemetry not marked static:
256:protocol/frskyx_cc2500.c **** failsafe_chan += 1;
1216 .loc 1 256 0
1217 014c BBBF ittet lt
1218 014e 0233 addlt r3, r3, #2
1219 0150 03F00F03 andlt r3, r3, #15
259:protocol/frskyx_cc2500.c **** failsafe_count = 0;
1220 .loc 1 259 0
1221 0154 0023 movge r3, #0
256:protocol/frskyx_cc2500.c **** failsafe_chan += 1;
1222 .loc 1 256 0
1223 0156 43F01003 orrlt r3, r3, #16
257:protocol/frskyx_cc2500.c **** } else if (FS_flag & 0x10) {
1224 .loc 1 257 0
1225 015a BDBF ittte lt
1226 015c 0131 addlt r1, r1, #1
256:protocol/frskyx_cc2500.c **** failsafe_chan += 1;
1227 .loc 1 256 0
1228 015e 88F80030 strblt r3, [r8]
257:protocol/frskyx_cc2500.c **** } else if (FS_flag & 0x10) {
1229 .loc 1 257 0
1230 0162 2170 strblt r1, [r4]
Relevant C source
static u16 failsafe_count;
static u8 chan_offset;
static u8 FS_flag;
static u8 failsafe_chan;
u8 startChan = 0;
// data frames sent every 9ms; failsafe every 9 seconds
if (FS_flag == 0 && failsafe_count > FAILSAFE_TIMEOUT && chan_offset == 0 && Model.proto_opts[PROTO_OPTS_FAILSAFE] != FAILSAFE_RX) {
FS_flag = 0x10;
failsafe_chan = 0;
} else if (FS_flag & 0x10 && failsafe_chan < (Model.num_channels-1)) {
FS_flag = 0x10 | ((FS_flag + 2) & 0x0f);
failsafe_chan += 1;
} else if (FS_flag & 0x10) {
FS_flag = 0;
failsafe_count = 0;
}
failsafe_count += 1;
Please Log in or Create an account to join the conversation.
- darker44
- Offline
- Posts: 11
After the flash Devo keeps restarting, there is no logo on the screen, just sound and blinking. There is a bootloop.
So I flashed newest nightly 23.04.2016 then I booted devo, changed protocol to ppm. Flashed '225', and turn on devo. It booted ok, I changed protocol to frskyx, and restarted.
The same happened, devo keeps rebooting in a bootloop. There is only turn on sound and flashing blank screen.
(with receiver off the same happened)
So for me the last build that is working is '739'
I wish I could help with the code, but I don't know anything about programming. But I can always help with testing.
Thanks!
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- New FrSkyX protocol