EZI2C - write to a specific index in the buffer

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
EyLa_1625036
Level 3
Level 3
10 likes given 10 sign-ins 25 replies posted

hello all ,

i have the psoc 4 pioneer kit .

i am trying to implement an ezi2c slave with 5 registers in it .

and i want to write to a specific register from the bridge control panel

without overwriting the other registers.

if i write to offset 00 - i can write to the first register

bridge panel command i send:  w 13 00 aa p;write to address 13 with offset 00 ,data to reg1 aa

if i write to offset 00 , 2 commands in a row i can write to both of my registers

bridge panel command i send:  w 13 00 aa bb p;write to address 13 with offset 00 ,data to reg1 aa ,data to reg2 bb

but i want to write only to register 2 ,if try to write to offset 01 some data it still writes to the first register

bridge panel command i send:  w 13 01 bb p;write to address 13 with offset 01 ,data to reg2 bb .

can someone please tell me what is the bridge control panel command

i need to send in order to write just to register 2 ??

Thanks

0 Likes
1 Solution
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

w 13 00 aa command write  0xaa to Registers[0] only, other array elements just keep current value no change.

w 13 00 aa bb write 0xaa to Registers[0]  and 0xbb to Registers[1] , other array elements just keep current value no change

w 13 01 bb write 0xbb to Registers[1]  only, other array elements just keep current value no change,  no over write happen.

w 13 00 00 p w 13 01 bb  clear  Registers[0] to 0x00 and write 0xbb to Registers[1],

If you send command w 13 01 bb p w 13 00 r 13 x x x x x p just after silicon powered up, then you can see only reg2 is changed to 0xbb, others keeps 0x00, 'p' means send i2c stop condition, w 13 00 used to change offset to 0x00.

You can refer Bridge Control Panel Help file to get more details of command format.

View solution in original post

0 Likes
6 Replies
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

w 13 00 aa command write  0xaa to Registers[0] only, other array elements just keep current value no change.

w 13 00 aa bb write 0xaa to Registers[0]  and 0xbb to Registers[1] , other array elements just keep current value no change

w 13 01 bb write 0xbb to Registers[1]  only, other array elements just keep current value no change,  no over write happen.

w 13 00 00 p w 13 01 bb  clear  Registers[0] to 0x00 and write 0xbb to Registers[1],

If you send command w 13 01 bb p w 13 00 r 13 x x x x x p just after silicon powered up, then you can see only reg2 is changed to 0xbb, others keeps 0x00, 'p' means send i2c stop condition, w 13 00 used to change offset to 0x00.

You can refer Bridge Control Panel Help file to get more details of command format.

0 Likes

Thanks .

i cannot understand the read operation ,

if i write : w 13 00 aa bb p

and then perform read operation :

pastedImage_2.png

but if i write : w 13 01 bb p

i know only Registers[1] = bb  because the led starts to blink .

but if i try to read that register value its seems to appear in the Register[0] index

and not on Register[1] as i expected :

pastedImage_3.png

Offset can only be set(and must be set) when you use write command. if you read, it will read data out from the offset you set last time.

w 13 00 aa bb p write offset 00 into ezi2c, then if you use r 13 x x x p, will read data out from offset 00.

w 13 01 bb p set offset to 01, the if you sue r 13 x x x p, the data is read out from offset 01. You actually didn't read register[0] out at all.

0 Likes

Thank you xzng ,

so after i perform a write operation with an offset,

and then i want to read all of my registers (even those before that offset)

how can i do that ?

0 Likes

w 13 00 ; set offset to 00

r 13 x x x x x; read data our from offset 00

or use command 'r 13 00 p r 13 x x x x x'

0 Likes

Thank you so much

For your time xang

0 Likes