소스구조
├── CMakeLists.txt ├── README.md |
|
├── main | |
│ ├── CHIPDeviceManager.cpp |
CHIPDeviceManager::CommonDeviceEventHandler(){}
{CHIP 스택초기화CHIPDeviceManager::Init(CHIPDeviceManagerCallbacks * cb)
Advertising Enable PlatformMgr.EventHandler 등록(cb) PlatformMgr.StartEventLoopTask()... } void MatterPostAttributeChangeCallback(...){}
|
│ ├── CMakeLists.txt | |
│ ├── DeviceCallbacks.cpp |
void DeviceCallbacks::DeviceEventCallback(){}
// Controller 에서 보낸 이벤트를 처리하는 콜백을 여기에서 호출 (EndpointId, ClusterId,AttributeId, mask, type, size, *value) } |
│ ├── Kconfig.projbuild | |
│ ├── main.cpp | ESP32 runtime 의 main 함수: app_main() CHIPDeviceManager 를 instantiation 하고 delay loop static DeviceCallbacks EchoCallbacks;
extern "C" void app_main() {
CHIPDeviceManager & deviceMgr = CHIPDeviceManager::GetInstance();
deviceMgr.Init(&EchoCallbacks);
chip::Server::GetInstance().Init();
// Initialize device attestation config
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
// Run the UI Loop
}
|
│ ├── temperature-measurement.zap | MATTER data model 정의 파일, https://gamjathebest.tistory.com/24 |
│ └── include │ ├── CHIPDeviceManager.h |
|
│ └── DeviceCallbacks.h |
class DeviceCallbacks : public chip::DeviceManager::CHIPDeviceManagerCallbacks
{
public:
virtual void DeviceEventCallback(...);
virtual void PostAttributeChangeCallback(...);
private:
void OnInternetConnectivityChange(...);
void OnSessionEstablished(...);
void OnOnOffPostAttributeChangeCallback(...);
void OnIdentifyPostAttributeChangeCallback(...);
};
|
├── partitions.csv ├── sdkconfig ├── sdkconfig.defaults ├── sdkconfig.old ├── sdkconfig.optimize.defaults |
|
└── third_party └── connectedhomeip -> ../../../../ |
PlantUML 로 Class diagram을 그려보자면 아래 처럼 됨. 링크
'Smart Home > MATTER' 카테고리의 다른 글
MATTER/Log chip-device-ctrl - fail 될때 분석 (0) | 2022.10.09 |
---|---|
MATTER ./src 하위 폴더의 namespace 종류 (0) | 2022.08.30 |
MATTER-ESP32 / temperature-measurement-app 분석(1/n), Zap tool, Data Model Config (0) | 2022.08.28 |
MATTER SDK 폴더 구조 (0) | 2022.08.27 |
MATTER/Log chip-device-ctrl (0) | 2022.08.18 |
댓글