35 #define COMMAND 0 // I2C Slave register indexes
46 #define HIGH 1 // Command codes
132 int pin1 = (int) reg[PIN1];
133 int pin2 = (int) reg[PIN2];
134 int state = (int) reg[STATE];
135 int arg1, arg2, arg3, arg4, arg5;
138 memcpy(&arg1, ®[ARG1], 4);
139 memcpy(&arg2, ®[ARG2], 4);
140 memcpy(&arg3, ®[ARG3], 4);
141 memcpy(&arg4, ®[ARG4], 4);
142 memcpy(&arg5, ®[ARG5], 4);
155 retVal =
input(pin1);
156 memcpy(®[RETVAL], &retVal, 4);
169 memcpy(®[RETVAL], &retVal, 4);
173 memcpy(®[RETVAL], &retVal, 4);
200 int command = -1, pin1 = -1, pin2 = -1, state = -1;
201 int arg1 = -1, arg2 = -1, arg3 = -1, arg4 = -1, arg5 = -1;
202 int retValList[] = { INPUT, GETDIR, GETOUTPUT, PULSIN, RCTIME };
221 command = FREQOUT; pin1 = 4; arg1 = 2000; arg2 = 3000; i2cMasterCom();
230 command = INPUT; pin1 = 5;
231 pinState = i2cMasterCom();
238 command = HIGH; pin1 = 26; i2cMasterCom();
240 command = PAUSE; arg1 = 50; i2cMasterCom();
242 command = LOW; pin1 = 26; i2cMasterCom();
244 command = PAUSE; arg1 = 50; i2cMasterCom();
268 if(arg5 > -1)
i2c_out(i2cBusMaster, 0x42, ARG5, 1, (
unsigned char *) &arg5, 4);
269 if(arg4 > -1)
i2c_out(i2cBusMaster, 0x42, ARG4, 1, (
unsigned char *) &arg4, 4);
270 if(arg3 > -1)
i2c_out(i2cBusMaster, 0x42, ARG3, 1, (
unsigned char *) &arg3, 4);
271 if(arg2 > -1)
i2c_out(i2cBusMaster, 0x42, ARG2, 1, (
unsigned char *) &arg2, 4);
272 if(arg1 > -1)
i2c_out(i2cBusMaster, 0x42, ARG1, 1, (
unsigned char *) &arg1, 4);
273 if(arg1 > -1)
i2c_out(i2cBusMaster, 0x42, ARG1, 1, (
unsigned char *) &arg1, 4);
274 if(state > -1)
i2c_out(i2cBusMaster, 0x42, STATE, 1, (
unsigned char *) &state, 1);
275 if(pin2 > -1)
i2c_out(i2cBusMaster, 0x42, PIN2, 1, (
unsigned char *) &pin2, 1);
276 if(pin1 > -1)
i2c_out(i2cBusMaster, 0x42, PIN1, 1, (
unsigned char *) &pin1, 1);
279 if(command > 0)
i2c_out(i2cBusMaster, 0x42, COMMAND, 1, (
unsigned char *) &command, 1);
286 i2c_in(i2cBusMaster, 0x42, COMMAND, 1, (
unsigned char *) &command, 1);
293 for(
int n = 0; n <
sizeof(retValList); n++)
295 if(command == retValList[n])
297 i2c_in(i2cBusMaster, 0x42, RETVAL, 1, (
unsigned char *) &retVal, 4);
306 command = 0, pin1 = -1, pin2 = -1, state = -1;
307 arg1 = -1, arg2 = -1, arg3 = -1, arg4 = -1, arg5 = -1;