From: Robert J. <spa...@us...> - 2005-12-13 21:00:06
|
Update of /cvsroot/lmuse/muse/muse/driver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22097/muse/driver Modified Files: Tag: REL07 rtctimer.cpp Log Message: christmas cleaning Index: rtctimer.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/driver/rtctimer.cpp,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -d -r1.1.2.4 -r1.1.2.5 *** rtctimer.cpp 21 Aug 2005 18:11:28 -0000 1.1.2.4 --- rtctimer.cpp 13 Dec 2005 20:59:57 -0000 1.1.2.5 *************** *** 28,37 **** ! RtcTimer::RtcTimer() { timerFd = -1; } ! RtcTimer::~RtcTimer() { if (timerFd != -1) --- 28,37 ---- ! RtcTimer::RtcTimer() { timerFd = -1; } ! RtcTimer::~RtcTimer() { if (timerFd != -1) *************** *** 39,43 **** } ! signed int RtcTimer::initTimer() { if(TIMER_DEBUG) --- 39,43 ---- } ! signed int RtcTimer::initTimer() { if(TIMER_DEBUG) *************** *** 65,79 **** return timerFd; } ! if (setTimerFreq(config.rtcTicks)) { ! if (ioctl(timerFd, RTC_PIE_ON, 0) == -1) { ! perror("MidiThread: start: RTC_PIE_ON failed"); ! undoSetuid(); ! return -1; ! } ! } return timerFd; } ! unsigned int RtcTimer::setTimerResolution(unsigned int resolution) { if(TIMER_DEBUG) --- 65,79 ---- return timerFd; } ! // if (setTimerFreq(config.rtcTicks)) { ! // if (ioctl(timerFd, RTC_PIE_ON, 0) == -1) { ! // perror("MidiThread: start: RTC_PIE_ON failed"); ! // undoSetuid(); ! // return -1; ! // } ! // } return timerFd; } ! unsigned int RtcTimer::setTimerResolution(unsigned int resolution) { if(TIMER_DEBUG) *************** *** 85,89 **** } ! unsigned int RtcTimer::setTimerFreq(unsigned int freq) { int rc = ioctl(timerFd, RTC_IRQP_SET, freq); --- 85,89 ---- } ! unsigned int RtcTimer::setTimerFreq(unsigned int freq) { int rc = ioctl(timerFd, RTC_IRQP_SET, freq); *************** *** 97,101 **** } ! unsigned int RtcTimer::getTimerResolution() { /* The RTC doesn't really work with a set resolution as such. --- 97,101 ---- } ! unsigned int RtcTimer::getTimerResolution() { /* The RTC doesn't really work with a set resolution as such. *************** *** 105,109 **** } ! unsigned int RtcTimer::getTimerFreq() { unsigned int freq; --- 105,109 ---- } ! unsigned int RtcTimer::getTimerFreq() { unsigned int freq; *************** *** 114,150 **** } ! bool RtcTimer::startTimer() { if(TIMER_DEBUG) printf("RtcTimer::startTimer()\n"); if (timerFd == -1) { ! fprintf(stderr, "RtcTimer::startTimer(): no timer open to start!\n"); ! //if(failRTC) { ! // exit(-1); ! // } ! ! //setPollWait(10); // 10 msec ! //realRtcTicks = 100; return false; } return true; } ! bool RtcTimer::stopTimer() { if(TIMER_DEBUG) printf("RtcTimer::stopTimer\n"); if (timerFd != -1) { ! ioctl(timerFd, RTC_PIE_OFF, 0); ! } ! else ! { ! fprintf(stderr,"RtcTimer::stopTimer(): no RTC to stop!\n"); ! return false; ! } return true; } ! unsigned int RtcTimer::getTimerTicks(bool printTicks) { if(TIMER_DEBUG) --- 114,148 ---- } ! bool RtcTimer::startTimer() { if(TIMER_DEBUG) printf("RtcTimer::startTimer()\n"); if (timerFd == -1) { ! fprintf(stderr, "RtcTimer::startTimer(): no timer open to start!\n"); return false; } + if (ioctl(timerFd, RTC_PIE_ON, 0) == -1) { + perror("MidiThread: start: RTC_PIE_ON failed"); + undoSetuid(); + return false; + } return true; } ! bool RtcTimer::stopTimer() { if(TIMER_DEBUG) printf("RtcTimer::stopTimer\n"); if (timerFd != -1) { ! ioctl(timerFd, RTC_PIE_OFF, 0); ! } ! else { ! fprintf(stderr,"RtcTimer::stopTimer(): no RTC to stop!\n"); ! return false; ! } return true; } ! unsigned int RtcTimer::getTimerTicks(bool printTicks) { if(TIMER_DEBUG) *************** *** 152,162 **** unsigned int nn; if (timerFd==-1) { ! fprintf(stderr,"RtcTimer::getTimerTicks(): no RTC open to read!\n"); ! return 0; } if (read(timerFd, &nn, sizeof(unsigned long)) != sizeof(unsigned long)) { ! fprintf(stderr,"RtcTimer::getTimerTicks(): error reading RTC\n"); ! return 0; ! } return nn; } --- 150,160 ---- unsigned int nn; if (timerFd==-1) { ! fprintf(stderr,"RtcTimer::getTimerTicks(): no RTC open to read!\n"); ! return 0; } if (read(timerFd, &nn, sizeof(unsigned long)) != sizeof(unsigned long)) { ! fprintf(stderr,"RtcTimer::getTimerTicks(): error reading RTC\n"); ! return 0; ! } return nn; } |