/* * TriggerRS.cpp * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include "SYSCTRL/TriggerRS.h" namespace SYSCTRL { //CONSTRUCTOR TriggerRS::TriggerRS(): SYSCTRL::TriggerBase() // {}//CONSTRUCTOR #pragma CODE_SECTION("ramfuncs"); void TriggerRS::setSET(bool set) { m_trigger.bit.set = set; // }// // #pragma CODE_SECTION("ramfuncs"); void TriggerRS::setRESET(bool reset) { m_trigger.bit.reset = reset; // }// // #pragma CODE_SECTION("ramfuncs"); void TriggerRS::execute() { // Q(i) = (nR & (S | Q(i-1))) | (S & Q(i-1)) // m_trigger.bit.out_privious = m_trigger.bit.out; m_trigger.bit.out_shadow = (!m_trigger.bit.reset & (m_trigger.bit.set | m_trigger.bit.out_privious)) | (m_trigger.bit.set & m_trigger.bit.out_privious); m_trigger.bit.out = m_trigger.bit.out_shadow; m_trigger.bit.positive = !m_trigger.bit.out_privious & m_trigger.bit.out; m_trigger.bit.negative = m_trigger.bit.out_privious & !m_trigger.bit.out; // }// // #pragma CODE_SECTION("ramfuncs"); void TriggerRS::clear() { m_trigger.all = 0; // }// // #pragma CODE_SECTION("ramfuncs"); bool TriggerRS::getOUT() { return m_trigger.bit.out; // }// // #pragma CODE_SECTION("ramfuncs"); bool TriggerRS::getPOSITIVE() { return m_trigger.bit.positive; // }// // #pragma CODE_SECTION("ramfuncs"); bool TriggerRS::getNEGATIVE() { return m_trigger.bit.negative; // }// // #pragma CODE_SECTION("ramfuncs"); bool TriggerRS::isPOSITIVE() { return m_trigger.bit.positive; // }// // #pragma CODE_SECTION("ramfuncs"); bool TriggerRS::isNEGATIVE() { return m_trigger.bit.negative; // }// // } /* namespace SYSCTRL */