コード例 #1
0
ファイル: Encoder.cpp プロジェクト: drbokko/86Duino
static void _defaultEncoderSetting(int mc, int md) {
    mcenc_SetIdxCond(mc, md, MCENC_PDIR_IDXCOND_DISABLE, 0L);
    mcenc_SetCapMode(mc, md, MCENC_CAP_PCNT_DISABLE + MCENC_CAP_EXTRIG_DISABLE + MCENC_CAP_IDXCOND_DISABLE);
    
	mcenc_SetCntMin(mc, md, 0L);
    mcenc_SetCntMax(mc, md, 0xffffffffL);
    mcenc_SetResetMode(mc, md, MCENC_RESET_INC_CNTMIN + MCENC_RESET_DEC_CNTMAX);
    mcenc_SetTrigResetMode(mc, md, MCENC_TRIGRESET_IDXCOND_0TO1);
    mcenc_SetPulCnt(mc, md, 0L);
}
コード例 #2
0
ファイル: Encoder.cpp プロジェクト: drbokko/86Duino
void Encoder::write(unsigned long cnt) {
	if(mode == MODE_NOSET || mode == MODE_CAPTURE) return;
	
	mcsif_Disable(mcn, mdn);
	if(mode == MODE_SSI)
		mcssi_SetPulCnt(mcn, mdn, cnt);
	else	
		mcenc_SetPulCnt(mcn, mdn, cnt);
	mcsif_Enable(mcn, mdn);
}
コード例 #3
0
ファイル: Encoder.cpp プロジェクト: roboard/86Duino_Linux_SDK
void Encoder::write(unsigned long cnt) {
	if(mode == MODE_NOSET || mode == MODE_CAPTURE) return;

#if defined (DMP_LINUX)
	lockMCMSIF();
#endif

	mcsif_Disable(mcn, mdn);
	if(mode == MODE_SSI)
		mcssi_SetPulCnt(mcn, mdn, cnt);
	else	
		mcenc_SetPulCnt(mcn, mdn, cnt);
	mcsif_Enable(mcn, mdn);

#if defined (DMP_LINUX)
	unLockMCMSIF();
#endif
}