- Posts: 95
Esky 150X, which protocol ?
- dado099
- Topic Author
- Offline
Anybody tried it, I guess with esky150 protocol ?
Thanks
Please Log in or Create an account to join the conversation.
- lamlawrence3c3c
- Offline
- Posts: 5
Please Log in or Create an account to join the conversation.
- dado099
- Topic Author
- Offline
- Posts: 95
He promised to make an spi capture, but unfortunately he didn't do already.
Please Log in or Create an account to join the conversation.
- lamlawrence3c3c
- Offline
- Posts: 5
Please Log in or Create an account to join the conversation.
- dado099
- Topic Author
- Offline
- Posts: 95
I just updated my previous post with new one, please look at 3:00 minute.
Thanks
Please Log in or Create an account to join the conversation.
- lamlawrence3c3c
- Offline
- Posts: 5
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
I think the problem is very possibly only a minor one. E.g some different ID codes or something.
@lamlawrence3c3c:
As I saw from the CC3D-config-file. CH5 is used to select flight mode.
But what are CH6 and CH7 for?
Hmm probably they're just spare. But CH6 one could certainly use for gain adjustment in flight to get the proper PID values.
And what should rotation resistor for CH6 mean?
@all:
I could attach a SPI protocol analyzer to my TX. What are the important parts to log? Probably the init.
Please Log in or Create an account to join the conversation.
- lamlawrence3c3c
- Offline
- Posts: 5
Käseknigger wrote: Any news?
I think the problem is very possibly only a minor one. E.g some different ID codes or something.
@lamlawrence3c3c:
As I saw from the CC3D-config-file. CH5 is used to select flight mode.
But what are CH6 and CH7 for?
Hmm probably they're just spare. But CH6 one could certainly use for gain adjustment in flight to get the proper PID values.
And what should rotation resistor for CH6 mean?
@all:
I could attach a SPI protocol analyzer to my TX. What are the important parts to log? Probably the init.
I think that the CH6 and CH7 are not in used in this ESKY150X.
i agree that CH6 is spare for adjust the PID values in flight.
By the way, i find that there a button on the upper right corner.it should be for CH6.
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
So it is a FixedPitch (FBL) heli.
With two servos it does NOT have collective pitch (on main blades)!
For flying outdoors in light / mid wind you better get a CP heli like NanoCPx/NanoCPS (brushed) or XK K110 (brushless main motor).
Please Log in or Create an account to join the conversation.
- lamlawrence3c3c
- Offline
- Posts: 5
FBL is it mean there have a tail motor for the tail blade?
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
CP = collective pitch (usually for main blades and most of the times also for tail blades)
FP = fixed pitch
FBL = flybarless (without 90 degree (real) flybar: don't confuse with entry level FP which only have a self-stabilizing 45 degree flybar "Stabistange")
belt driven (BD) = belt from main motor to tail blades (collective pitch on tail as well as)
torque tube (TT) = tail blades are connected to front with gears (collective pitch on tail as well as)
motor driven = tail has separate motor instead of collective pitch
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
Sure there are other helis. And yes, this is a FP heli. But I don't think this is the place to discuss which heli you favor.
I think the topic is rather about the protocol the 150X uses, and to get it working with the devo.
But JFYI: I'm interested in this one, as the heli is tiny and due to FP has a low headspeed (ideal for indoors) and additionally has a CC3D compatible FC onboard.
When I find the time I will make an SPI log of the binding process, as I think the difference of the 150 to the 150x is probably only a binding issue (IDs)...
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
First just what the TX send to bind, without the RX powered ON.
It continuously sends those packets, in 4 different variants (always in the same order):
0.003240250000000,2,0xA0,0xFF (write payload)
0.003311000000000,2,0x22,0xFF
0.003381541666667,2,0x4A,0xFF
0.003452083333333,2,0x03,0xFF
0.003522625000000,2,0xD4,0xFF
0.003593166666667,2,0x35,0xFF
0.003663708333333,2,0xDC,0xFF
0.003734250000000,2,0xE5,0xFF
0.003804791666667,2,0xDC,0xFF
0.003875333333333,2,0x85,0xFF
0.003945875000000,2,0xDA,0xFF DA DA DB DA DA
0.004016458333333,2,0x00,0xFF
0.004087000000000,2,0x00,0xFF
0.004157541666667,2,0x40,0xFF
0.004228083333333,2,0x00,0xFF
0.004298625000000,2,0xB4,0xFF B4 B4 B5 B4 B4
0.004596916666667,3,0x27,0x00 (set/read status, ...)
0.004652125000000,3,0x70,0x1F (...and clear ACK status bits ints etc)
0.004721958333333,4,0x25,0xFF (change channel)
0.004777208333333,4,0x22,0xFF 4A 22 4A 22 4A
(The extended Hex are the variations of the next packages. As you can see after 4 it starts over again)
As said the TX uses a BK2425.
Can anybody already see here, that the TX tries something different than for the already implemented esky 150 protocol?
EDIT:
Hmm, had a look at the source of the 150 protocol implementation. Can it be, that it doesn't have any binding process??? To me it looks like that.
That would mean, that the above package I logged is already the data package, which BTW seems to have the same payload size.
The DA DB difference would then be just a jitter from the throttle ADC, and the B4 B5 difference the corresponding different checksum.
Edit2:
Hmm, I saw a difference:
The last 4 bytes before the checksum in the payload are like that in the esky 150 implementation:
// Constant values 00 d8 18 f8
packet[10] = 0x00;
packet[11] = 0xd8;
packet[12] = 0x18;
packet[13] = 0xf8;
But the same values are 0x00, 0x00, 0x40, 0x00 in the esky 150x SPI capture!
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
It really seems there are only 2 differences between the 150 and 150x.
First I have a different TX_ID. But probably all TXs have different ones.
So the only thing remaining different is really just these 4 bytes in the normal data package.
So I almost bet my left hand, that it will work with the 150X, if one would make these 4 bytes different for a 150x. How to implement this, with a subselection?
0.216965875000000,0,0x07,0xFF read status reg
0.217020250000000,0,0xFF,0xFF NOP (for reading)
0.217091625000000,1,0x37,0xFF write fifo status reg
0.217146875000000,1,0x00,0xFF
0.217215250000000,2,0x36,0xFF write RX_PW_P5 reg
0.217270500000000,2,0x20,0xFF (32 bytes)
0.217338875000000,3,0x35,0xFF write RX_PW_P4 reg
0.217394000000000,3,0x20,0xFF (32 bytes)
0.217462375000000,4,0x34,0xFF write RX_PW_P3 reg
0.217517625000000,4,0x20,0xFF (32 bytes)
0.217586000000000,5,0x33,0xFF write RX_PW_P2 reg
0.217641250000000,5,0x20,0xFF (32 bytes)
0.217709625000000,6,0x32,0xFF write RX_PW_P1 reg
0.217764750000000,6,0x20,0xFF (32 bytes)
0.217833125000000,7,0x31,0xFF write RX_PW_P0 reg
0.217888375000000,7,0x0F,0xFF (15 bytes)
0.217956750000000,8,0x2F,0xFF write RX_ADDR_P5
0.218012000000000,8,0xC6,0xFF (default value)
0.218080375000000,9,0x2E,0xFF write RX_ADDR_P4
0.218135500000000,9,0xC5,0xFF (default value)
0.218203875000000,10,0x2D,0xFF write RX_ADDR_P3
0.218259125000000,10,0xC4,0xFF (default value)
0.218327500000000,11,0x2C,0xFF write RX_ADDR_P2
0.218382625000000,11,0xC3,0xFF (default value)
0.218451000000000,12,0x29,0xFF write CD reg
0.218506250000000,12,0x00,0xFF (this is useless, as it is read only???)
0.218574500000000,13,0x28,0xFF write OBSERVE_TX reg
0.218629750000000,13,0x00,0xFF (this is useless, as it is read only???)
0.218698125000000,14,0x27,0xFF write status reg
0.218753250000000,14,0x07,0xFF
0.218821625000000,15,0x26,0xFF write RF_SETUP reg
0.218876875000000,15,0x0E,0xFF (2Mbps)
0.218945250000000,16,0x25,0xFF select RF channel (will be overwritten later)
0.219000375000000,16,0x01,0xFF
0.219068750000000,17,0x24,0xFF write SETUP_RETR reg
0.219124000000000,17,0x00,0xFF (250us wait, no retransmit)
0.219192375000000,18,0x23,0xFF write SETUP_AW reg
0.219247500000000,18,0x02,0xFF (4 Byte RX/TX addresses)
0.219315875000000,19,0x22,0xFF (write 02:EN_RXADDR register)
0.219371125000000,19,0x00,0xFF
0.219439375000000,20,0x21,0xFF (write 01:EN_AA register)
0.219494625000000,20,0x00,0xFF
0.219563000000000,21,0x20,0xFF (write 00:config register)
0.219618125000000,21,0x5E,0xFF TX_DS on int pin,
0.219684000000000,22,0x2A,0xFF write RX address
0.219754750000000,22,0x73,0xFF
0.219825250000000,22,0x73,0xFF
0.219895750000000,22,0x74,0xFF
0.219966250000000,22,0x63,0xFF
0.220032500000000,23,0x30,0xFF write TX address (will be overwritten later)
0.220103125000000,23,0x73,0xFF
0.220173750000000,23,0x73,0xFF
0.220244250000000,23,0x74,0xFF
0.220314750000000,23,0x63,0xFF
0.220375000000000,24,0x1D,0xFF read feature reg
0.220429250000000,24,0xFF,0xFF NOP (get value)
0.220487500000000,25,0x50,0xFF activate...
0.220542750000000,25,0x73,0xFF ...activate (rest
)
0.220610125000000,26,0x3D,0xFF write feature reg
0.220665375000000,26,0x07,0xFF
0.220733625000000,27,0x3C,0xFF write DYNPD reg
0.220788875000000,27,0x3F,0xFF
(now starts BK2425 specific initialization, not needed for Nrfl chip)
0.220851125000000,28,0x07,0xFF read current active register bank
0.220905375000000,28,0xFF,0xFF NOP (read the bank no)
0.220965500000000,29,0x50,0xFF activate...
0.221020625000000,29,0x53,0xFF ...BANK 1
0.221322500000000,30,0x20,0xFF init bank 1,00
0.221393125000000,30,0x40,0xFF
0.221463750000000,30,0x4B,0xFF
0.221534250000000,30,0x01,0xFF
0.221604750000000,30,0xE2,0xFF
0.221914250000000,31,0x21,0xFF init bank 1,01
0.221984875000000,31,0xC0,0xFF
0.222055375000000,31,0x4B,0xFF
0.222126000000000,31,0x00,0xFF
0.222196500000000,31,0x00,0xFF
0.222505875000000,32,0x22,0xFF init bank 1,02
0.222576500000000,32,0xD0,0xFF
0.222647125000000,32,0xFC,0xFF
0.222717625000000,32,0x8C,0xFF
0.222788125000000,32,0x02,0xFF
0.223097500000000,33,0x23,0xFF init bank 1,03
0.223168250000000,33,0x99,0xFF
0.223238750000000,33,0x00,0xFF
0.223309250000000,33,0x39,0xFF
0.223379750000000,33,0x21,0xFF
0.223689250000000,34,0x24,0xFF init bank 1,04 (not as in datasheet!)
0.223760000000000,34,0xD9,0xFF
0.223830500000000,34,0x96,0xFF
0.223901000000000,34,0x82,0xFF
0.223971500000000,34,0x1B,0xFF
0.224281000000000,35,0x25,0xFF init bank 1,05 (not as in datasheet!)
0.224351625000000,35,0x24,0xFF
0.224422125000000,35,0x06,0xFF
0.224492750000000,35,0x7F,0xFF
0.224563250000000,35,0xA6,0xFF
0.224872750000000,36,0x26,0xFF init bank 1,06 (reserved in datasheet!)
0.224943500000000,36,0x00,0xFF
0.225014000000000,36,0x00,0xFF
0.225084500000000,36,0x00,0xFF
0.225155000000000,36,0x00,0xFF
0.225464500000000,37,0x27,0xFF init bank 1,07 (reserved in datasheet!)
0.225535250000000,37,0x00,0xFF
0.225605750000000,37,0x00,0xFF
0.225676250000000,37,0x00,0xFF
0.225746750000000,37,0x00,0xFF
0.226056250000000,38,0x28,0xFF init bank 1,08 (not as in datasheet!)
0.226126875000000,38,0x00,0xFF
0.226197375000000,38,0x00,0xFF
0.226267875000000,38,0x00,0xFF
0.226338375000000,38,0x00,0xFF
0.226645875000000,39,0x29,0xFF init bank 1,09 (reserved in datasheet!)
0.226716625000000,39,0x00,0xFF
0.226787125000000,39,0x00,0xFF
0.226857625000000,39,0x00,0xFF
0.226928125000000,39,0x00,0xFF
0.227234250000000,40,0x2A,0xFF init bank 1,0A (reserved in datasheet!)
0.227304875000000,40,0x00,0xFF
0.227375375000000,40,0x00,0xFF
0.227445875000000,40,0x00,0xFF
0.227516375000000,40,0x00,0xFF
0.227822500000000,41,0x2B,0xFF init bank 1,0B (reserved in datasheet!)
0.227893125000000,41,0x00,0xFF
0.227963625000000,41,0x00,0xFF
0.228034125000000,41,0x00,0xFF
0.228104625000000,41,0x00,0xFF
0.228410750000000,42,0x2C,0xFF init bank 1,0C (not as in datasheet!)
0.228481375000000,42,0x00,0xFF
0.228551875000000,42,0x12,0xFF
0.228622500000000,42,0x73,0xFF
0.228693000000000,42,0x00,0xFF
0.228999000000000,43,0x2D,0xFF init bank 1,0D (not as in datasheet!)
0.229069625000000,43,0x46,0xFF
0.229140125000000,43,0xB4,0xFF
0.229210625000000,43,0x80,0xFF
0.229281250000000,43,0x00,0xFF
0.229351125000000,44,0x2E,0xFF init bank 1,0E (not as in datasheet!)
0.229423125000000,44,0x41,0xFF
0.229494875000000,44,0x10,0xFF
0.229566625000000,44,0x04,0xFF
0.229638375000000,44,0x82,0xFF
0.229710125000000,44,0x20,0xFF
0.229781875000000,44,0x08,0xFF
0.229853750000000,44,0x08,0xFF
0.229925500000000,44,0xF2,0xFF
0.229997125000000,44,0x7D,0xFF
0.230068875000000,44,0xEF,0xFF
0.230140750000000,44,0xFF,0xFF
0.230421000000000,45,0x24,0xFF init bank 1,04 (not as in datasheet!)
0.230491750000000,45,0xDF,0xFF
0.230562250000000,45,0x96,0xFF
0.230632750000000,45,0x82,0xFF
0.230703250000000,45,0x1B,0xFF
0.230771375000000,46,0x24,0xFF init bank 1,04 (not as in datasheet!)
0.230842125000000,46,0xD9,0xFF
0.230912625000000,46,0x96,0xFF
0.230983125000000,46,0x82,0xFF
0.231053625000000,46,0x1B,0xFF
0.235156875000000,47,0x07,0xFF read current active register bank
0.235211125000000,47,0xFF,0xFF NOP (read the bank no)
0.235270500000000,48,0x50,0xFF activate...
0.235325625000000,48,0x53,0xFF ...BANK 0
(done with BK2425 specific initialization)
0.235383250000000,49,0xE1,0xFF flush TX
0.235438375000000,49,0x00,0xFF read config reg
0.235493625000000,50,0x00,0xFF read config reg
0.235547875000000,50,0xFF,0xFF NOP
0.235604750000000,51,0x20,0xFF (write 00:config register)
0.235660000000000,51,0x5E,0xFF
0.235718875000000,52,0x25,0xFF change rf channel
0.235774125000000,52,0x01,0xFF
0.236068750000000,53,0x25,0xFF change rf channel
0.236124000000000,53,0x22,0xFF
0.236184750000000,54,0x30,0xFF write TX_addr
0.236255375000000,54,0xC6,0xFF
0.236325875000000,54,0xF3,0xFF
0.236396500000000,54,0xD6,0xFF
0.236467000000000,54,0x02,0xFF
(now starts the normal data transmission, as shown above)
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
No, I never did anything like that ever.
Was this explained like that in the manual?
As said, from the source of the 150 implementation, it doesn't look, like there is a binding process...
The later activation of the CC3D with Rudder right is when the RX/TX work and has nothing to do with the protocol itself.
EDIT:
BTW are you aware of my posts on rcgroups (How to connect the CC3D via USB)
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
In fact, for the first implementation, the binding procedure was not really known.
No I am not aware aboit the CC3D connexion .... I should have a look
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
Has this binding been implemented for the 150?
I think I should have a look at the newest source files...
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
Please Log in or Create an account to join the conversation.
- Käseknigger
- Offline
- Posts: 36
But will make a capture, to see what's going on...
Please Log in or Create an account to join the conversation.
- Home
- Forum
- General
- General Discussions
- Esky 150X, which protocol ?