/* * MeasureTimeInterval.cpp * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include "DSP28335/MeasureTimeInterval.h" namespace DSP28335 { //Constructor MeasureTimeInterval::MeasureTimeInterval(CPUTIMER_VARS& CPUTimer): m_CPUTimer(CPUTimer), m_time_interval((Uint32)0), m_time_interval_previous((Uint32)0), m_magic_number((Uint32)0) {}//end Constructor // #pragma CODE_SECTION("ramfuncs"); void MeasureTimeInterval::start(void) { m_CPUTimer.RegsAddr->TCR.bit.TSS = 1; // Stop CPU Timer m_CPUTimer.RegsAddr->TCR.bit.TRB = 1; // Reload CPU Timer m_CPUTimer.RegsAddr->TCR.bit.TSS = 0; // Start CPU Timer // }//end // #pragma CODE_SECTION("ramfuncs"); void MeasureTimeInterval::stop(void) { m_CPUTimer.RegsAddr->TCR.bit.TSS = 1; // Stop CPU Timer // m_time_interval_previous = m_time_interval; m_time_interval = m_CPUTimer.RegsAddr->PRD.all - m_CPUTimer.RegsAddr->TIM.all - m_magic_number; // }//end // #pragma CODE_SECTION("ramfuncs"); Uint32 MeasureTimeInterval::interval(void) { return m_CPUTimer.RegsAddr->PRD.all - m_CPUTimer.RegsAddr->TIM.all - m_magic_number; // }// // // #pragma CODE_SECTION("ramfuncs"); void MeasureTimeInterval::reset(void) { m_CPUTimer.RegsAddr->TCR.bit.TSS = 1; // Stop CPU Timer m_CPUTimer.RegsAddr->PRD.all = 0xFFFFFFFF; m_CPUTimer.RegsAddr->TCR.bit.TRB = 1; // Reload CPU Timer // }//end // #pragma CODE_SECTION("ramfuncs"); void MeasureTimeInterval::inc_counter() { m_CPUTimer.InterruptCount++; // }// // // #pragma CODE_SECTION("ramfuncs"); void MeasureTimeInterval::reset_counter() { m_CPUTimer.InterruptCount = (Uint32)0; // }// // void MeasureTimeInterval::set_magic(const Uint32 magic) { m_magic_number = (Uint32)magic; // }//end // } /* namespace DSP28335 */