|
Post by stefankrupop on Sept 8, 2016 16:50:05 GMT
I worked on a little dumper that actively communicated with the Si4362 via SPI and read back the values of all the parameters in the API PDF. The result is this: 0x0 = 0x40 0x1 = 0x70 0x2 = 0xA 0x3 = 0x61 0x4 = 0x0 0x5 = 0x0 0x6 = 0x1 0x7 = 0x60 0x8 = 0x0 0x100 = 0x1 0x101 = 0x18 0x102 = 0x0 0x103 = 0x4 0x200 = 0x3 0x201 = 0xA 0x202 = 0x9 0x203 = 0x7 0x1000 = 0x8 0x1001 = 0x10 0x1002 = 0x0 0x1003 = 0xCA 0x1004 = 0x3E 0x1005 = 0x0 0x1006 = 0x0 0x1007 = 0x0 0x1008 = 0x0 0x1100 = 0x1 0x1101 = 0x4B 0x1102 = 0xD4 0x1103 = 0x2D 0x1104 = 0xD4 0x120A = 0x0 0x120B = 0x30 0x120C = 0x30 0x120D = 0x0 0x120E = 0x1 0x120F = 0x1 0x1200 = 0x85 0x1206 = 0xA 0x1208 = 0xA 0x1209 = 0x1 0x121A = 0x0 0x121B = 0x0 0x121C = 0x0 0x121D = 0x0 0x121E = 0x0 0x121F = 0x0 0x1210 = 0x82 0x1211 = 0x0 0x1212 = 0x3F 0x1213 = 0x1 0x1214 = 0xA 0x1215 = 0x0 0x1216 = 0x0 0x1217 = 0x0 0x1218 = 0x0 0x1219 = 0x0 0x122A = 0x0 0x122B = 0x0 0x122C = 0x0 0x122D = 0x0 0x122E = 0x0 0x122F = 0x0 0x1220 = 0x0 0x1221 = 0x0 0x1222 = 0x0 0x1223 = 0x0 0x1224 = 0x0 0x1225 = 0x0 0x1226 = 0x0 0x1227 = 0x0 0x1228 = 0x0 0x1229 = 0x0 0x1230 = 0x0 0x1231 = 0x0 0x1232 = 0x0 0x1233 = 0x0 0x1234 = 0x0 0x200A = 0x0 0x200B = 0x6 0x200C = 0xD3 0x2000 = 0x3 0x2001 = 0x80 0x2003 = 0xF 0x2004 = 0x42 0x2005 = 0x40 0x204A = 0xFF 0x204B = 0xC 0x204C = 0x12 0x204D = 0x0 0x204E = 0x2B 0x2049 = 0x80 0x2200 = 0x8 0x2201 = 0x7F 0x2202 = 0x0 0x2203 = 0x5D 0x300A = 0x0 0x300B = 0x0 0x3000 = 0x0 0x3001 = 0x0 0x3002 = 0x0 0x3003 = 0x0 0x3004 = 0x0 0x3005 = 0x0 0x3006 = 0x0 0x3007 = 0x0 0x3008 = 0x0 0x3009 = 0x0 0x4000 = 0x38 0x4001 = 0xF 0x4002 = 0xBB 0x4003 = 0xBB 0x4004 = 0xD 0x4005 = 0xA7 0x4007 = 0xFF 0x5000 = 0x4 0x5001 = 0x1 0x5002 = 0x0 0x5041 = 0x3F See here for the meaning of the parameters: www.xhl.com.cn/upfile/Image/2012/3/20120324095337.pdf (AN625: Si446x API Descriptions) Kind regards, Stefan
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 10, 2016 14:20:31 GMT
Stefan's SPI dump is really excellent as it means we can try and understand how the RF IC is setup and what it expects to see. I'm currently trying variations are around:
(1) 8x Preamble Bytes of 0xAA (2) 2x Sync Bytes of 0x2D and 0xD4 (3) and then the packet....
Packet data could be 1x byte on frame 1....no idea what plus 32x bytes of payload data in the next frame. I guess the latter could include data to make audio on the speaker.
Currently no illumination.
Rodders
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 10, 2016 14:29:11 GMT
I've also tried enabling Manchester Encoding as I think the whole preamble section (8x bytes of 0xAA) should be encoded in this way.
My transmitter (MRF89XAM8A) can encode like this but I suspect it's encoding everything in the FIFO including data.
Also the Xyloband appears to use 2GFSK which is something my module cannot do. I hoping the main modulating frequency of each pulse will still activate in the Xyloband Rx.
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 10, 2016 15:33:59 GMT
I interpretted the sync bytes wrong, the sync byte(s) from 0x1100 as:
16 bits (eg two bytes) using bytes 2 and 3 only. Byte 2=0xD4 and Byte 3=0x4B
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 10, 2016 16:08:19 GMT
Current setup and understanding:
(1) 8x Preamble of 1010 and Manchester Encoded. My Transceiver can only manage 4x bytes but I also see the Xyloband only needs 14x bits of the preamble so hopefully OK.
(2) Sync is as above 0xD44B
(3) One byte in frame 1, don't know what
(4) 64 bytes of payload....don't know what.
I'm currently rotating through random values for the payload, sounds very interesting on my scanner but no flashes of Xyloband colour.
|
|
|
Post by stefankrupop on Sept 10, 2016 16:28:07 GMT
(1) 8x Preamble of 1010 and Manchester Encoded. My Transceiver can only manage 4x bytes 8 times "1010" gives 32 bits - 4 bytes is also 32 bits (3) One byte in frame 1, don't know what I think the first field is the length of the second field. (4) 64 bytes of payload....don't know what. This should be 63 (0x3F), not 64! Kind regards, Stefan
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 10, 2016 17:34:24 GMT
Hi Stefan, Thanks for the replies, my interpretation was as below so happy to discuss further.
(1) I interpret the SPI code as Preamble Tx (Reg: 0x1000) gives a length=8 and in PREAMBLE_CONFIG (Reg: 0x1004) we see 0x3E = 0011 1110 which bit 5=start with 1 e.g. 1010 bit 4=length config, preamble Tx Length is in Byte (rather than nibbles).
So I thought this is 8x Bytes starting with '1' e.g. 10101010 (0xAA) = 64 bits
However the Si4362 seems configured to accept only 14 bits as valid preamble.
(2)&(3) You are right there, I remember reading that somewhere in the spec. The Rx packet appears to be of the format
Frame 1: 1x Byte Frame 2: 63x Bytes
I think they are both with Manchester Encoding and CRC
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 10, 2016 20:15:33 GMT
I might be stuck using my MRF89XAM8A tranceiver ....
The Si4362 has a configured bit rate of 1Mbps (Registers: 0x2003,2004,2005) = 0x0F4220 but my tranceiver can only go to 200kbps.
|
|
|
Post by progman on Sept 11, 2016 16:32:00 GMT
hi all very be carfull to sending the frame on air, because after to sending randomly frame, my xylo he changing the frequency. now i have this : 0x11 0x40 0x06 0x00 0x3C 0x0A 0x22 0x22 0x0D 0xA7 and before 0x11 0x40 0x06 0x00 0x38 0x0F 0xBB 0xBB 0x0D 0xA7 869.5 Mhz i suspicius it's possible to changing the confirugation on air, now my xylo is out .. stephan, it's possible to change boot on samD20 on bootloarder for dump ? best regard example : www.atmel.com/Images/Atmel-42455-SAMD20-SD-Card-Bootloader_Application-Note_AT06037.pdf
|
|
|
Post by progman on Sept 11, 2016 16:48:58 GMT
(1) 8x Preamble of 1010 and Manchester Encoded. My Transceiver can only manage 4x bytes 8 times "1010" gives 32 bits - 4 bytes is also 32 bits (3) One byte in frame 1, don't know what I think the first field is the length of the second field. (4) 64 bytes of payload....don't know what. This should be 63 (0x3F), not 64! Kind regards, Stefan i sending on air via arduino and RFM26W: the configuration is 2GFSK, Manchester PREAMBLE =>10 SYNC_WORD => 0x4B 0xD4 FIELD 1= 1 and FIELD2= 63 FIELD1= number word of frame. FIELD1= Frame. exemple : F1= 03 ; F2=01,01,01 ( TX frame is 03,01,01,01). very becarfull to sending code on air, if you want the testing to air sending TX= 00,00 the xyloband is blinking. ( i suspicius to reset ATSAMD20). PCB = pinout to preamble is ok and sync word detected .
|
|
|
Post by stefankrupop on Sept 11, 2016 19:42:50 GMT
Dear Progman, i sending on air via arduino and RFM26W I have basically the same setup (868 MHz RFM26W and Teensy 2++), but I am struggeling to get data received by the Xyloband. Great idea checking the GPIOs! With my setup I only seldom get a high pulse on the preamble line, but so far it did not recognize the sync word. Currently I am using the parameters I dumped from the receiver to configure the sender. In the meantime I also acquired an RTL-SDR, so I can see the transmitter really sending "something"... Long story short: progman: Would you maybe willing to share your current Arduino code? This would be great! Thanks in advance, Stefan
|
|
|
Post by progman on Sept 12, 2016 1:42:16 GMT
|
|
rodders
New Member
Posts: 21
Xyloband type: Speaker Model
|
Post by rodders on Sept 12, 2016 20:04:49 GMT
very be carfull to sending the frame on air, because after to sending randomly frame, my xylo he changing the frequency. i suspicius it's possible to changing the confirugation on air, now my xylo is out .. So you think the Atmel firmware (or at least the frequency parameters) can be reflashed via the RF data packet ? I'm trying to think if the manufacturer would do that - it kind of makes sense that they could but you'd have to activate the Xylobands to do that. There is an obvious slot on the rear of the Xyloband case where I suspect a plastic battery isolating tab was - they likely pull those as the concert staff issue the wristbands out. Any reprogramming would have to be done en-mass during the concert. However, if they wanted to reprogram to avoid RF interference surely the interference would prevent them reprogramming (if that makes sense )? My other thought was - are we seeing the Xyloband frequency hopping ? This is usually done to either fine better channels or to reduce the chance of the signal being intercepted by someone else. I can't see any reason why they would do either. I note the Si4362 has got a frequency hop setting but several of the parameters are default and initially it is off. Perhaps it changes to a secondary frequency if the first choice is noisy? Any thoughts ?
|
|
|
Post by ayelix on Sept 13, 2016 2:57:27 GMT
Regarding the battery tab: at the concert I went to there was a battery tab and, right before Coldplay came out, instructions appeared on the video screen to remove the battery tab to "activate the wristband." Different country and different Xyloband version, but maybe there was a battery tab on yours too.
|
|
|
Post by stefankrupop on Sept 20, 2016 10:43:00 GMT
very be carfull to sending the frame on air, because after to sending randomly frame, my xylo he changing the frequency. Dear progman, do you by chance know which command or which command format changed the frequency? I now sent all possible combinations of 1 and 2 byte payloads (so with the length field 2 and 3 bytes over the air) to the Xyloband, sadly without any reaction of the band. Maybe you already know more about the "command format" the band expects? Thank you! Kind regards, Stefan
|
|