Smart Home/MATTER
MATTER-ESP32 / temperature-measurement-app 분석(2/n)
감자최고
2022. 8. 28. 19:07
소스구조
├── 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을 그려보자면 아래 처럼 됨. 링크