GCC Code Coverage Report


Directory: lib/fprime-samd/fprime-samd/
File: Drv/Types/Sercom.cpp
Date: 2026-09-26 00:05:09
Exec Total Coverage
Lines: 0 32 0.0%
Functions: 0 2 0.0%
Branches: 0 14 0.0%

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 ✗ Dma::TriggerSource SercomUtil::rxDmaTrigger(SercomKind sercom) {
13 ✗ switch (sercom) {
14 ✗ case SercomKind::SERCOM_0:
15 ✗ return Dma::TriggerSource::SERCOM0_RX;
16 ✗ case SercomKind::SERCOM_1:
17 ✗ return Dma::TriggerSource::SERCOM1_RX;
18 ✗ case SercomKind::SERCOM_2:
19 ✗ return Dma::TriggerSource::SERCOM2_RX;
20 ✗ case SercomKind::SERCOM_3:
21 ✗ return Dma::TriggerSource::SERCOM3_RX;
22 ✗ case SercomKind::SERCOM_4:
23 ✗ return Dma::TriggerSource::SERCOM4_RX;
24 ✗ case SercomKind::SERCOM_5:
25 ✗ 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 ✗ Dma::TriggerSource SercomUtil::txDmaTrigger(SercomKind sercom) {
33 ✗ switch (sercom) {
34 ✗ case SercomKind::SERCOM_0:
35 ✗ return Dma::TriggerSource::SERCOM0_TX;
36 ✗ case SercomKind::SERCOM_1:
37 ✗ return Dma::TriggerSource::SERCOM1_TX;
38 ✗ case SercomKind::SERCOM_2:
39 ✗ return Dma::TriggerSource::SERCOM2_TX;
40 ✗ case SercomKind::SERCOM_3:
41 ✗ return Dma::TriggerSource::SERCOM3_TX;
42 ✗ case SercomKind::SERCOM_4:
43 ✗ return Dma::TriggerSource::SERCOM4_TX;
44 ✗ case SercomKind::SERCOM_5:
45 ✗ 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