| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // ====================================================================== | ||
| 2 | // \title Sercom.cpp | ||
| 3 | // \author tumbar | ||
| 4 | // \brief cpp file for SERCOM ISR utilities | ||
| 5 | // ====================================================================== | ||
| 6 | |||
| 7 | #include "fprime-samd/Drv/Types/Sercom.hpp" | ||
| 8 | #include "Fw/Types/Assert.hpp" | ||
| 9 | #include "fprime-samd/Drv/Types/SercomKindEnumAc.hpp" | ||
| 10 | |||
| 11 | namespace Samd21 { | ||
| 12 | 71 | Dma::TriggerSource SercomUtil::rxDmaTrigger(SercomKind sercom) { | |
| 13 |
6/7✓ Branch 3 taken 59 times.
✓ Branch 4 taken 2 times.
✓ Branch 5 taken 2 times.
✓ Branch 6 taken 4 times.
✓ Branch 7 taken 2 times.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
|
71 | switch (sercom) { |
| 14 | 59 | case SercomKind::SERCOM_0: | |
| 15 | 59 | return Dma::TriggerSource::SERCOM0_RX; | |
| 16 | 2 | case SercomKind::SERCOM_1: | |
| 17 | 2 | return Dma::TriggerSource::SERCOM1_RX; | |
| 18 | 2 | case SercomKind::SERCOM_2: | |
| 19 | 2 | return Dma::TriggerSource::SERCOM2_RX; | |
| 20 | 4 | case SercomKind::SERCOM_3: | |
| 21 | 4 | return Dma::TriggerSource::SERCOM3_RX; | |
| 22 | 2 | case SercomKind::SERCOM_4: | |
| 23 | 2 | return Dma::TriggerSource::SERCOM4_RX; | |
| 24 | 2 | case SercomKind::SERCOM_5: | |
| 25 | 2 | return Dma::TriggerSource::SERCOM5_RX; | |
| 26 | ✗ | default: | |
| 27 | ✗ | FW_ASSERT(false, static_cast<FwAssertArgType>(sercom)); | |
| 28 | return Dma::TriggerSource::SERCOM0_RX; | ||
| 29 | } | ||
| 30 | } | ||
| 31 | |||
| 32 | 33 | Dma::TriggerSource SercomUtil::txDmaTrigger(SercomKind sercom) { | |
| 33 |
6/7✓ Branch 3 taken 28 times.
✓ Branch 4 taken 1 times.
✓ Branch 5 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
|
33 | switch (sercom) { |
| 34 | 28 | case SercomKind::SERCOM_0: | |
| 35 | 28 | return Dma::TriggerSource::SERCOM0_TX; | |
| 36 | 1 | case SercomKind::SERCOM_1: | |
| 37 | 1 | return Dma::TriggerSource::SERCOM1_TX; | |
| 38 | 1 | case SercomKind::SERCOM_2: | |
| 39 | 1 | return Dma::TriggerSource::SERCOM2_TX; | |
| 40 | 1 | case SercomKind::SERCOM_3: | |
| 41 | 1 | return Dma::TriggerSource::SERCOM3_TX; | |
| 42 | 1 | case SercomKind::SERCOM_4: | |
| 43 | 1 | return Dma::TriggerSource::SERCOM4_TX; | |
| 44 | 1 | case SercomKind::SERCOM_5: | |
| 45 | 1 | return Dma::TriggerSource::SERCOM5_TX; | |
| 46 | ✗ | default: | |
| 47 | ✗ | FW_ASSERT(false, static_cast<FwAssertArgType>(sercom)); | |
| 48 | return Dma::TriggerSource::SERCOM0_TX; | ||
| 49 | } | ||
| 50 | } | ||
| 51 | |||
| 52 | } // namespace Samd21 | ||
| 53 |