LCOV - code coverage report
Current view: top level - src/MIDI_Interfaces - SerialMIDI_Interface.cpp (source / functions) Coverage Total Hit
Test: 73449d9b107c772cf65493691543348214e5d5eb Lines: 61.1 % 36 22
Test Date: 2026-06-06 17:44:35 Functions: 80.0 % 10 8
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #include "SerialMIDI_Interface.hpp"
       2              : #include <MIDI_Parsers/StreamPuller.hpp>
       3              : 
       4              : #include "PicoUSBInit.hpp"
       5              : 
       6              : BEGIN_CS_NAMESPACE
       7              : 
       8              : // -------------------------------------------------------------------------- //
       9              : 
      10              : // Reading MIDI
      11              : 
      12           15 : MIDIReadEvent StreamMIDI_Interface::read() {
      13           15 :     if (!ensure_usb_init(stream))
      14            0 :         return MIDIReadEvent::NO_MESSAGE;
      15           15 :     return parser.pull(StreamPuller(stream));
      16              : }
      17              : 
      18            5 : void StreamMIDI_Interface::update() { MIDI_Interface::updateIncoming(this); }
      19              : 
      20              : // -------------------------------------------------------------------------- //
      21              : 
      22              : // Retrieving the received messages
      23              : 
      24            3 : ChannelMessage StreamMIDI_Interface::getChannelMessage() const {
      25            3 :     return parser.getChannelMessage();
      26              : }
      27              : 
      28            0 : SysCommonMessage StreamMIDI_Interface::getSysCommonMessage() const {
      29            0 :     return parser.getSysCommonMessage();
      30              : }
      31              : 
      32            2 : RealTimeMessage StreamMIDI_Interface::getRealTimeMessage() const {
      33            2 :     return parser.getRealTimeMessage();
      34              : }
      35              : 
      36            7 : SysExMessage StreamMIDI_Interface::getSysExMessage() const {
      37            7 :     return parser.getSysExMessage();
      38              : }
      39              : 
      40              : // -------------------------------------------------------------------------- //
      41              : 
      42              : // Sending MIDI
      43              : 
      44           10 : void StreamMIDI_Interface::sendChannelMessageImpl(ChannelMessage msg) {
      45           10 :     if (!ensure_usb_init(stream))
      46            0 :         return;
      47           10 :     stream.write(msg.header);
      48           10 :     stream.write(msg.data1);
      49           10 :     if (msg.hasTwoDataBytes())
      50            6 :         stream.write(msg.data2);
      51              : }
      52              : 
      53            0 : void StreamMIDI_Interface::sendSysCommonImpl(SysCommonMessage msg) {
      54            0 :     if (!ensure_usb_init(stream))
      55            0 :         return;
      56            0 :     stream.write(msg.header);
      57            0 :     if (msg.getNumberOfDataBytes() >= 1)
      58            0 :         stream.write(msg.data1);
      59            0 :     if (msg.getNumberOfDataBytes() >= 2)
      60            0 :         stream.write(msg.data2);
      61              : }
      62              : 
      63            1 : void StreamMIDI_Interface::sendSysExImpl(SysExMessage msg) {
      64            1 :     if (!ensure_usb_init(stream))
      65            0 :         return;
      66            1 :     stream.write(msg.data, msg.length);
      67              : }
      68              : 
      69            1 : void StreamMIDI_Interface::sendRealTimeImpl(RealTimeMessage msg) {
      70            1 :     if (!ensure_usb_init(stream))
      71            0 :         return;
      72            1 :     stream.write(msg.message);
      73              : }
      74              : 
      75              : END_CS_NAMESPACE
        

Generated by: LCOV version 2.4-beta