You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.7 KiB
64 lines
1.7 KiB
//
|
|
// Copyright © 2022,2023 Arm Ltd and Contributors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace arm
|
|
{
|
|
|
|
namespace pipe
|
|
{
|
|
|
|
class Counter final
|
|
{
|
|
public:
|
|
// Constructors
|
|
Counter(const std::string& backendId,
|
|
uint16_t counterUid,
|
|
uint16_t maxCounterUid,
|
|
uint16_t counterClass,
|
|
uint16_t interpolation,
|
|
double multiplier,
|
|
const std::string& name,
|
|
const std::string& description,
|
|
const std::string& units,
|
|
uint16_t deviceUid,
|
|
uint16_t counterSetUid)
|
|
: m_BackendId(backendId)
|
|
, m_Uid(counterUid)
|
|
, m_MaxCounterUid(maxCounterUid)
|
|
, m_Class(counterClass)
|
|
, m_Interpolation(interpolation)
|
|
, m_Multiplier(multiplier)
|
|
, m_Name(name)
|
|
, m_Description(description)
|
|
, m_Units(units)
|
|
, m_DeviceUid(deviceUid)
|
|
, m_CounterSetUid(counterSetUid)
|
|
{}
|
|
|
|
// Fields
|
|
std::string m_BackendId;
|
|
uint16_t m_Uid;
|
|
uint16_t m_MaxCounterUid;
|
|
uint16_t m_Class;
|
|
uint16_t m_Interpolation;
|
|
double m_Multiplier;
|
|
std::string m_Name;
|
|
std::string m_Description;
|
|
std::string m_Units; // Optional, leave empty if the counter does not need units
|
|
|
|
// Connections
|
|
uint16_t m_DeviceUid; // Optional, set to zero if the counter is not associated with a device
|
|
uint16_t m_CounterSetUid; // Optional, set to zero if the counter is not associated with a counter set
|
|
};
|
|
|
|
} // namespace pipe
|
|
|
|
} // namespace arm
|