Example #1
0
void InitServo(uint8_t PIN){
	//println_I("Starting servo");
	ClearPinState(PIN);
	SetPinTris(PIN,OUTPUT);
	//DATA.PIN[PIN].State=IS_SERVO;
	SetServoPos(PIN,EEReadValue(PIN),0);
	if( servoEngineStarted != true){
		servoEngineStarted =true;
		startServoLoops();
	}

}
void InitPinModes(void){
	BYTE i;
	BYTE mode=0;
	for (i=0;i<24;i++){

		//ClearPinState(i);
		SetPinTris(i,INPUT);
		SetDIO(i,0);
		SetPWM(i,EEReadValue(i));
		SetServoPos(i,EEReadValue(i),0);
		//getBcsIoDataTable()[i].PIN.previousChannelMode=NO_CHANGE;
		mode=EEReadMode(i);
		if((mode < 2)||(mode >=IO_MODE_MAX)){
			EEWriteMode(i,IS_DI);
			mode = EEReadMode(i);
		}
		getBcsIoDataTable()[i].PIN.currentChannelMode = mode;
		setMode(i,EEReadMode(i));
	}
	startup = FALSE;
	//printModes();
}