Other Parts Discussed in Thread: CC2530, CC2652RB
Tool/software:
Hello,
Some years ago, I wrote an app with a CC2530 and ZNP which receives Green power frames.
Setup of ZNP was pretty straigthforward : reset / setPanId / StartUpFromApp. With this, the chip will send the frames I needed.
In this sequence, setPanId was in fact ZB_WRITE_CONFIGURATION with configId 0x83 and len = 0x02. I'm not sure (it's a long time ago) but I think I firstly tried with UTIL_SET_PANID which did not work and somebody in a forum told me to use ZB_WRITE_CONFIGURATION which does the job.
Today, I need to listen to the same devices but using a CC2652RB. Here's what I did:
- I compiled ZNP by importing ZNP from simplelink examples using CCS20.10. I flashed the mint compiled firmware to the device.
- I tried to apply the same sequence : reset / set pan id using ZB_WRITE_CONFIGURATION / StartupFromApp. Here's the frames sequence:
Reset -> fe 01 41 00 00 40 <- fe 06 41 80 00 02 00 02 07 01 c1 Set panid -> fe 04 26 05 83 02 0b 00 ad <- fe 03 60 00 01 26 05 41 Startup -> fe 02 25 40 00 00 67 <- fe 01 65 40 00 24 fe 03 4f 80 01 02 04 cb Initialization complete <- fe 01 45 c0 01 85 <- fe 01 45 c0 08 8c <- fe 01 45 c0 09 8d fe 03 <- 4f 80 00 02 00 ce
From this sequence, I can see that ZB_WRITE_CONFIGURATION answers with CMD0=0x60 and CMD1=0x00. From the documentation this response is SRSP + Reserved. What should I interpret from this?
Maybe ConfigId is different from CC2530 and CC2652RB but I didn't find documentation that describe the configuration memory map.
I also tried with UTIL_SET_PAN_ID. Here's the sequence:
--- reset --- -> fe 01 41 00 00 40 <- fe 06 41 80 00 02 00 02 07 01 c1 --- set panid --- -> fe 02 27 02 0b 00 2c <- fe 01 67 02 0a 6e --- startup --- -> fe 02 25 40 00 00 67 <- fe 01 65 40 00 24 fe 03 4f 80 01 02 04 cb Initialization complete <- fe 01 45 c0 01 85 <- fe 01 45 c0 08 8c <- fe 01 45 c0 09 8d fe 03 <- 4f 80 00 02 00 ce
WIth this sequence the answer to UTIL_SET_PANID is CMD0=0x76, CMD1=0x02, Status=0x0A. The documentation states that Status can be 0(success) or 1 (failure) so 0x0A is not a valid answer.