Program Listing for File dma_debug.h

Program Listing for File dma_debug.h#

Return to documentation for file (src/generated/structs/dma_debug.h)

#pragma once
#ifndef RP2040_STRUCTS_DMA_DEBUG_H
#define RP2040_STRUCTS_DMA_DEBUG_H

#include "../ifgen/common.h"

namespace RP2040
{

struct dma_debug
{
    /* Constant attributes. */
    static constexpr struct_id_t id = 4;
    static constexpr std::size_t size = 64;
    /* Fields. */
    uint32_t DBG_CTDREQ;
    uint32_t DBG_TCR;
    static constexpr std::size_t reserved_length = 14;
    uint32_t reserved[reserved_length];

    /* Methods. */

    inline uint8_t get_DBG_CTDREQ()
    {
        return DBG_CTDREQ & 0b111111u;
    }

    inline void set_DBG_CTDREQ(uint8_t value)
    {
        uint32_t curr = DBG_CTDREQ;

        curr &= ~(0b111111u);
        curr |= (value & 0b111111u);

        DBG_CTDREQ = curr;
    }
};

static_assert(sizeof(dma_debug) == dma_debug::size);
static_assert(ifgen_struct<dma_debug>);

}; // namespace RP2040

#endif