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

Reply via email to