| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #include <Fw/FPrimeBasicTypes.hpp> | ||
| 2 | #include <Fw/Types/Assert.hpp> | ||
| 3 | #include <Ref/BlockDriver/BlockDriver.hpp> | ||
| 4 | |||
| 5 | namespace Ref { | ||
| 6 | |||
| 7 | 1 | BlockDriver::BlockDriver(const char* compName) | |
| 8 | 1 | : BlockDriverComponentBase(compName), m_cycles(0), m_schedQueued(false) {} | |
| 9 | |||
| 10 | 2 | BlockDriver::~BlockDriver() {} | |
| 11 | |||
| 12 | ✗ | void BlockDriver::BufferIn_handler(FwIndexType portNum, Drv::DataBuffer& buffer) { | |
| 13 | // just a pass-through | ||
| 14 | ✗ | this->BufferOut_out(0, buffer); | |
| 15 | ✗ | } | |
| 16 | |||
| 17 | 66 | void BlockDriver::Sched_handler(FwIndexType portNum, U32 context) { | |
| 18 | 66 | bool expected = false; | |
| 19 |
1/2✓ Branch 1 taken 66 times.
✗ Branch 2 not taken.
|
66 | if (this->m_schedQueued.compare_exchange_strong(expected, true)) { |
| 20 |
1/1✓ Branch 1 taken 66 times.
|
66 | this->SchedInternal_internalInterfaceInvoke(); |
| 21 | } | ||
| 22 | 66 | } | |
| 23 | |||
| 24 | ✗ | void BlockDriver::SchedInternal_overflowHook() { | |
| 25 | ✗ | this->m_schedQueued = false; | |
| 26 | ✗ | } | |
| 27 | |||
| 28 | 66 | void BlockDriver::SchedInternal_internalInterfaceHandler() { | |
| 29 | 66 | this->m_schedQueued = false; | |
| 30 |
2/2✓ Branch 1 taken 66 times.
✓ Branch 4 taken 66 times.
|
66 | this->tlmWrite_BD_Cycles(this->m_cycles++); |
| 31 | 66 | } | |
| 32 | |||
| 33 | 66 | void BlockDriver::PingIn_handler(const FwIndexType portNum, U32 key) { | |
| 34 | // call ping output port | ||
| 35 | 66 | this->PingOut_out(0, key); | |
| 36 | 66 | } | |
| 37 | |||
| 38 | } // namespace Ref | ||
| 39 |