# send multiple commands in one packet transmission

**URL:** https://forums.digi.com/t/send-multiple-commands-in-one-packet-transmission/20525
**Category:** XBee & XBee Gateway
**Tags:** xbee
**Created:** [May 28, 2019, 9:00am UTC](https://forums.digi.com/t/send-multiple-commands-in-one-packet-transmission/20525 "2019-05-28T09:00:34Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![stevenette](https://avatars.discourse-cdn.com/v4/letter/s/8797f3/32.png) [@stevenette](https://forums.digi.com/u/stevenette)
#### Post date: [May 28, 2019, 9:00am UTC](https://forums.digi.com/t/send-multiple-commands-in-one-packet-transmission/20525/1 "2019-05-28T09:00:34Z")

</div>

Hello,

I was wondering if I could control multiple IO pins on the xbee remotely with one command from a coordinator.

I can easily send one IO pin high or low as below

xB.write((byte)0x7E);  
xB.write((byte)0x0);  
xB.write((byte)0x10);  
xB.write((byte)0x17);  
xB.write((byte)0x0); // Frame ID  
xB.write((byte)0x00); // first byte  
xB.write((byte)0x13); // 2  
xB.write((byte)0xA2); // 3  
xB.write((byte)0x00); // 4  
xB.write(addy5); // 5  
xB.write(addy6); // 6  
xB.write(addy7); // 7  
xB.write(addy8);// 8  
xB.write((byte)0xFF);  
xB.write((byte)0xFE);  
xB.write((byte)0x02);  
xB.write(‘D’);  
xB.write(‘0’);  
xB.write(val);  
long sum = 0x17 + 0x13 + 0xA2 + addy5 + addy6 + addy7 + addy8 + 0xFF + 0xFE + 0x02 + ‘D’ + ‘0’ + val;  
xB.write((byte)0xFF - (sum & 0xFF));

But I can’t seem to send more than one digital pin change at once like this.

xB.write((byte)0x7E);  
xB.write((byte)0x0);  
xB.write((byte)0x1F);  
xB.write((byte)0x17);  
xB.write((byte)0x0); // Frame ID  
xB.write((byte)0x00); // first byte  
xB.write((byte)0x13); // 2  
xB.write((byte)0xA2); // 3  
xB.write((byte)0x00); // 4  
xB.write(addy5); // 5  
xB.write(addy6); // 6  
xB.write(addy7); // 7  
xB.write(addy8);// 8  
xB.write((byte)0xFF); // “10"67  
xB.write((byte)0xFE);// 10"66”  
xB.write((byte)0x02);

xB.write(‘D’);  
xB.write(‘1’);  
xB.write(bin[0]);

xB.write(‘D’);  
xB.write(‘0’);  
xB.write(bin[1]);

xB.write(‘D’);  
xB.write(‘2’);  
xB.write(bin[2]);

xB.write(‘D’);  
xB.write(‘3’);  
xB.write(bin[3]);

xB.write(‘D’);  
xB.write(‘5’);  
xB.write(bin[4]);

xB.write(‘D’);  
xB.write(‘4’);  
xB.write(bin[5]);

long sum = 0x17 + 0x13 + 0xA2 + addy5 + addy6 + addy7 + addy8 + 0xFF + 0xFE + 0x02 + ‘D’ + ‘1’ + bin[0] + ‘D’ + ‘0’ + bin[1] + ‘D’ + ‘2’ + bin[2] + ‘D’ + ‘3’ + bin[3] + ‘D’ + ‘5’ + bin[4] + ‘D’ + ‘4’ + bin[5];  
xB.write((byte)0xFF - (sum & 0xFF));

What might I be doing wrong? Thanks!
