[PD-cvs] externals/hardware/arduino/Pd_firmware Pd_firmware.pde, 1.4, 1.5
Hans-Christoph Steiner
eighthave at users.sourceforge.net
Sat May 20 17:50:50 CEST 2006
Update of /cvsroot/pure-data/externals/hardware/arduino/Pd_firmware
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10826/Pd_firmware
Modified Files:
Pd_firmware.pde
Log Message:
all outputs seem to be working, now its time to test all of the inputs; cleaned up some cruft too
Index: Pd_firmware.pde
===================================================================
RCS file: /cvsroot/pure-data/externals/hardware/arduino/Pd_firmware/Pd_firmware.pde,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Pd_firmware.pde 20 May 2006 15:29:48 -0000 1.4
--- Pd_firmware.pde 20 May 2006 15:50:48 -0000 1.5
***************
*** 147,154 ****
// -------------------------------------------------------------------------
void processInput(byte inputData) {
! byte i;
int mask;
- // byte writeTest;
- // byte highDigitalPinStatus;
// the PWM commands (230-232) have a byte of data following the command
--- 147,152 ----
// -------------------------------------------------------------------------
void processInput(byte inputData) {
! int i;
int mask;
// the PWM commands (230-232) have a byte of data following the command
***************
*** 159,182 ****
waitForPWMData = 0;
}
! else if(inputData < 128) {
printByte(151);
if(firstInputByte) {
printByte(160);
- printByte(inputData);
- // TODO: this section is for digital out...
for(i=0; i<7; ++i) {
mask = 1 << i;
! /* writeTest = digitalPinStatus;
! // writeTest = writeTest & mask;
! // printByte(writeTest);
! // if(writeTest) {
! // or
! /* if((byte)digitalPinStatus & mask) {
! // digitalWrite(i,(inputData & mask) >> i);
! printByte(254);
! printByte(i);
! printByte(mask);
! printByte(inputData & mask);
! } */
}
firstInputByte = false;
--- 157,173 ----
waitForPWMData = 0;
}
! else if(inputData < 128) {
printByte(151);
if(firstInputByte) {
printByte(160);
for(i=0; i<7; ++i) {
mask = 1 << i;
! //printByte(254);
! //printByte(i);
! //printByte(mask);
! if(digitalPinStatus & mask) {
! digitalWrite(i, inputData & mask);
! //printByte(inputData & mask);
! }
}
firstInputByte = false;
***************
*** 184,201 ****
else {
printByte(161);
- printByte(inputData);
// output data for pins 7-13
- //highDigitalPinStatus = digitalPinStatus >> 7;
for(i=7; i<TOTAL_DIGITAL_PINS; ++i) {
mask = 1 << i;
! printByte(254);
! printByte(i);
! printByte(mask);
! // if(digitalPinStatus & mask) {
! // need to add test for pwmStatus
if( (digitalPinStatus & mask) && !(pwmStatus & mask) ) {
digitalWrite(i, inputData & (mask >> 7));
! printByte(inputData & (mask >> 7));
! // printByte(highDigitalPinStatus & mask);
}
}
--- 175,188 ----
else {
printByte(161);
// output data for pins 7-13
for(i=7; i<TOTAL_DIGITAL_PINS; ++i) {
mask = 1 << i;
! //printByte(254);
! //printByte(i);
! //printByte(mask);
if( (digitalPinStatus & mask) && !(pwmStatus & mask) ) {
+ // inputData is a byte and mask is an int, so align the high part of mask
digitalWrite(i, inputData & (mask >> 7));
! //printByte(inputData & (mask >> 7));
}
}
More information about the Pd-cvs
mailing list