Included variant ID in target pin descriptor
This commit is contained in:
@@ -428,7 +428,8 @@ std::map<int, TargetPinState> Avr8::getPinStates(int variantId) {
|
||||
return output;
|
||||
}
|
||||
|
||||
void Avr8::setPinState(int variantId, const TargetPinDescriptor& pinDescriptor, const TargetPinState& state) {
|
||||
void Avr8::setPinState(const TargetPinDescriptor& pinDescriptor, const TargetPinState& state) {
|
||||
auto variantId = pinDescriptor.variantId;
|
||||
if (!this->targetVariantsById.contains(variantId)) {
|
||||
throw Exception("Invalid target variant ID");
|
||||
}
|
||||
|
||||
@@ -146,7 +146,6 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit
|
||||
|
||||
std::map<int, TargetPinState> getPinStates(int variantId) override;
|
||||
void setPinState(
|
||||
int variantId,
|
||||
const TargetPinDescriptor& pinDescriptor,
|
||||
const TargetPinState& state
|
||||
) override;
|
||||
|
||||
@@ -435,6 +435,7 @@ void TargetDescriptionFile::loadTargetVariants() {
|
||||
targetPin.name = tdPin.pad;
|
||||
targetPin.padName = tdPin.pad;
|
||||
targetPin.number = tdPin.position;
|
||||
targetPin.variantId = targetVariant.id;
|
||||
|
||||
// TODO: REMOVE THIS:
|
||||
if (tdPin.pad.find("vcc") == 0
|
||||
|
||||
@@ -292,12 +292,10 @@ namespace Bloom::Targets
|
||||
/**
|
||||
* Should update the pin state for the given pin, with the given state.
|
||||
*
|
||||
* @param variantId
|
||||
* @param pinDescriptor
|
||||
* @param state
|
||||
*/
|
||||
virtual void setPinState(
|
||||
int variantId,
|
||||
const TargetPinDescriptor& pinDescriptor,
|
||||
const TargetPinState& state
|
||||
) = 0;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
namespace Bloom::Targets
|
||||
{
|
||||
enum class TargetPinType: int
|
||||
enum class TargetPinType: std::uint8_t
|
||||
{
|
||||
UNKNOWN,
|
||||
GPIO,
|
||||
@@ -19,6 +19,7 @@ namespace Bloom::Targets
|
||||
struct TargetPinDescriptor
|
||||
{
|
||||
int number;
|
||||
int variantId;
|
||||
bool supportsGpio = false;
|
||||
std::string name;
|
||||
std::string padName;
|
||||
@@ -39,13 +40,13 @@ namespace Bloom::Targets
|
||||
|
||||
struct TargetPinState
|
||||
{
|
||||
enum class IoState: int
|
||||
enum class IoState: std::uint8_t
|
||||
{
|
||||
HIGH,
|
||||
LOW,
|
||||
};
|
||||
|
||||
enum class IoDirection: int
|
||||
enum class IoDirection: std::uint8_t
|
||||
{
|
||||
INPUT,
|
||||
OUTPUT,
|
||||
|
||||
Reference in New Issue
Block a user