Skip to content

Name conflict with attribute_t when using M5Unified library alongside Matter library #10804

Closed
@kyjibato

Description

@kyjibato

Board

M5Stack Atom

Device Description

M5Stack Atom Lite

Hardware Configuration

No additional hardware attached besides the integrated sensors (M5Unit-ENV)

Version

v3.1.0

IDE Name

Arduino IDE

Operating System

macOS

Flash frequency

80 MHz

PSRAM enabled

no

Upload speed

115200

Description

When compiling an Arduino project that uses the Matter library (v3.1.0) together with M5Unified (v0.2.2) on M5Stack Atom, I encounter a compilation error caused by an ambiguous reference to attribute_t. It appears that the Matter library defines attribute_t in esp_matter_core.h, and M5Unified (via M5GFX) also declares attribute_t as an enum in enum.hpp.

Sketch

#include <M5Unified.h>
#include <Matter.h>

void setup() {
  M5.begin();
  Matter.begin();

  // ...
}

void loop() {
  M5.update();
  // ...
}

Debug Message

In file included from .../MatterGenericSwitch.h:20,
                 from .../Matter.h:22,
                 from src/main.cpp:23:
/.../MatterEndPoint.h:41:3: error: reference to 'attribute_t' is ambiguous
   41 |   attribute_t *getAttribute(uint32_t cluster_id, uint32_t attribute_id) {
      |   ^~~~~~~~~~~

... (multiple lines with similar 'attribute_t' is ambiguous errors) ...

Other Steps to Reproduce

No response

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions