I think you want to change the lines like this: if ((pressBytes[row] | 32) == 32)
to this: if ((pressBytes[row] & 32) == 32) On Wed, Dec 10, 2014 at 11:45 AM, Thomas Hudson <[email protected]> wrote: > Hey All, > > There is some code written in C-sharp. I'm wondering how to serial output > to this program. I'm pretty close but can't figure it out. Any help? > > CS code: > private Floor floor; > > private int rowCount { get { return 13; } } //there are 13 rows > of buttons > > private int columnCount { get { return 8; } } > > private void DoIOCircuit() > { > byte headerByte = 33; // exclamation point > byte[] headerByteArray = { 33 }; // exclamation point "!" is > 33 in ASCI > > > // read buttton presses > int bytesExpected = rowCount + 1; > byte[] pressBytes = new byte[bytesExpected]; > if (serialPort.Read(pressBytes, 0, bytesExpected) != > bytesExpected) > { > throw new System.IO.IOException(); > } > // check header byte > if (pressBytes[0] == headerByte) // its looking for the "!" > for the 1st byte > { > RaiseEventsForPressBytes(pressBytes); > } > > } > > private void RaiseEventsForPressBytes(byte[] pressBytes) > { > for (int row = 0; row < rowCount; row++) > { > if ((pressBytes[row] | 128) == 128) //I guess this is > looking for a 1 or a zero for each bit > floor.RaiseTileEvents(0, row); > if ((pressBytes[row] | 64) == 64) > floor.RaiseTileEvents(1, row); > if ((pressBytes[row] | 32) == 32) > floor.RaiseTileEvents(2, row); > if ((pressBytes[row] | 16) == 16) > floor.RaiseTileEvents(3, row); > if ((pressBytes[row] | 8) == 8) > floor.RaiseTileEvents(4, row); > if ((pressBytes[row] | 4) == 4) > floor.RaiseTileEvents(5, row); > if ((pressBytes[row] | 2) == 2) > floor.RaiseTileEvents(6, row); > if ((pressBytes[row] | 1) == 1) > floor.RaiseTileEvents(7, row); > } > } > > > Here's my Arduino code: > > void loop() { > > > Serial.write(33); // "!" in ASCII > Serial.write(1); //row 1 00000001 > Serial.write(16); //row 2 00010000 > Serial.write(1); // row 3 > Serial.write(1); > Serial.write(1); > Serial.write(1); > Serial.write(1); > Serial.write(1); > Serial.write(1); > Serial.write(1); > Serial.write(1); > Serial.write(1); > > > > > -- > Thomas Hudson, PE > thomashudson.org > 1035 NE Skidmore Street > (503) 522-9069 > > > _______________________________________________ > dorkbotpdx-blabber mailing list > [email protected] > http://music.columbia.edu/mailman/listinfo/dorkbotpdx-blabber >
_______________________________________________ dorkbotpdx-blabber mailing list [email protected] http://music.columbia.edu/mailman/listinfo/dorkbotpdx-blabber
