Files
BloomPatched/src/Targets/TargetVariant.hpp

65 lines
1.6 KiB
C++
Raw Normal View History

2021-04-04 21:04:12 +01:00
#pragma once
#include <cstdint>
2022-09-06 17:17:43 +01:00
#include <string>
2021-04-04 21:04:12 +01:00
#include <map>
#include "TargetPinDescriptor.hpp"
namespace Targets
2021-04-04 21:04:12 +01:00
{
2022-09-06 17:17:43 +01:00
enum class TargetPackage: std::uint8_t
2021-05-25 21:50:17 +01:00
{
2021-04-04 21:04:12 +01:00
UNKNOWN,
/**
* Quad flat package (QFP)
*/
QFP,
/**
* Dual inline package (DIP)
*/
DIP,
/**
* "Small outline integrated circuit" package (SOIC).
2021-04-04 21:04:12 +01:00
*
* Because of the similarities between SOIC and DIP, Insight treats SOIC packages as DIP packages. That is,
* it uses the same package widget.
*/
SOIC,
/**
* "Shrink small outline" package (SSOP)
*
* Because of the similarities between this and DIP, Insight treats SSOP packages as DIP packages. That is,
* it uses the same package widget.
*/
SSOP,
2021-04-04 21:04:12 +01:00
/**
* Quad flat no-lead (QFN) package
*
* Because of the similarities between this and QFP, Insight treats QFN packages as QFP.
2021-04-04 21:04:12 +01:00
*/
QFN,
};
struct TargetVariant
{
int id;
std::string name;
std::string packageName;
TargetPackage package = TargetPackage::UNKNOWN;
std::map<int, TargetPinDescriptor> pinDescriptorsByNumber;
bool operator == (const TargetVariant& variant) const {
return this->name == variant.name
&& this->packageName == variant.packageName
&& this->package == variant.package
&& this->pinDescriptorsByNumber == variant.pinDescriptorsByNumber;
}
2021-04-04 21:04:12 +01:00
};
}