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