2024-03-09 01:49:04 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
2024-07-23 21:14:22 +01:00
|
|
|
#include <string>
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
#include "TargetPinDescriptor.hpp"
|
2024-03-09 01:49:04 +00:00
|
|
|
|
|
|
|
|
namespace Targets
|
|
|
|
|
{
|
2024-07-23 21:14:22 +01:00
|
|
|
enum class TargetPinoutType: std::uint8_t
|
2024-03-09 01:49:04 +00:00
|
|
|
{
|
|
|
|
|
SOIC,
|
|
|
|
|
SSOP,
|
|
|
|
|
DIP,
|
|
|
|
|
QFN,
|
|
|
|
|
QFP,
|
|
|
|
|
DUAL_ROW_QFN,
|
|
|
|
|
MLF,
|
|
|
|
|
BGA,
|
|
|
|
|
};
|
2024-07-23 21:14:22 +01:00
|
|
|
|
|
|
|
|
struct TargetPinoutDescriptor
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
std::string key;
|
|
|
|
|
std::string name;
|
|
|
|
|
TargetPinoutType type;
|
|
|
|
|
std::vector<TargetPinDescriptor> pinDescriptors;
|
|
|
|
|
|
|
|
|
|
TargetPinoutDescriptor(
|
|
|
|
|
const std::string& key,
|
|
|
|
|
const std::string& name,
|
|
|
|
|
TargetPinoutType type,
|
|
|
|
|
std::vector<TargetPinDescriptor>&& pinDescriptors
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
TargetPinoutDescriptor(const TargetPinoutDescriptor& other) = delete;
|
|
|
|
|
TargetPinoutDescriptor& operator = (const TargetPinoutDescriptor& other) = delete;
|
|
|
|
|
|
|
|
|
|
TargetPinoutDescriptor(TargetPinoutDescriptor&& other) noexcept = default;
|
|
|
|
|
TargetPinoutDescriptor& operator = (TargetPinoutDescriptor&& other) = default;
|
|
|
|
|
|
|
|
|
|
bool operator == (const TargetPinoutDescriptor& other) const;
|
|
|
|
|
};
|
2024-03-09 01:49:04 +00:00
|
|
|
}
|