I got that void not ignored error although I wasn't returning anything. So I changed the functions to return 'unsigned int', but still got the error. The boards I'm reading are small 16 bit memory boards that track the position of various switches and system status. All variables are global (so I can watch them in Studio 7) 'unsigned int' unless otherwise noted. Here's the pertinent code:
unsigned int readBoard(unsigned int address)
{
byte boardBit;
unsigned int boardData;
setAddress(address); //set an address for the input board
digitalWrite (strobe, HIGH); //strobe on - opens all I/O lines and puts input data on the bus
for (boardBit = 0; boardBit <16; boardBit++) //for each data bit on the board
{
bitWrite(boardData, boardBit, digitalRead (boardBit + 22));
}
setAddress(0); //address 0 does not exist. Used to prevent accidental data transfer
digitalWrite(strobe, LOW);
return boardData;
}
unsigned int getLevers ()
{
unsigned int leverMask;
leverPosition = 0; // global variables
leverMask = 1 << 8;
bdOutVal_1 = readBoard(leverBoard); //THE ERROR POINTS TO THIS LINE
for (i =3; i < 11; i++)
{
tempint = 0;
tempint = bdOutVal_1 & leverMask;
tempint = tempint >> 5;
leverPosition = leverPosition + tempint;
leverMask = leverMask << 1;
}
delay(1); //Just a line for a break point
}