@@ -72,19 +72,6 @@ static int __temperature_value_get(void)
72
72
static void app_event_cb (const ChipDeviceEvent *event, intptr_t arg)
73
73
{
74
74
switch (event->Type ) {
75
- case chip::DeviceLayer::DeviceEventType::kServerReady :
76
- ESP_LOGI (TAG, " Server Ready" );
77
- __g_matter_connected_flag = true ;
78
- if (__g_matter_connected_flag) {
79
- struct view_data_wifi_st st;
80
- st.rssi = -50 ;
81
- st.is_connected = true ;
82
- esp_event_post_to (view_event_handle, VIEW_EVENT_BASE, VIEW_EVENT_WIFI_ST, &st, sizeof (struct view_data_wifi_st ), portMAX_DELAY);
83
-
84
- uint8_t screen = SCREEN_DASHBOARD;
85
- ESP_ERROR_CHECK (esp_event_post_to (view_event_handle, VIEW_EVENT_BASE, VIEW_EVENT_SCREEN_START, &screen, sizeof (screen), portMAX_DELAY));
86
- }
87
- break ;
88
75
case chip::DeviceLayer::DeviceEventType::kInterfaceIpAddressChanged :
89
76
ESP_LOGI (TAG, " IP Interface Address Changed" );
90
77
if (event->InterfaceIpAddressChanged .Type == chip::DeviceLayer::InterfaceIpChangeType::kIpV6_Assigned ||
@@ -121,19 +108,21 @@ static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg)
121
108
case chip::DeviceLayer::DeviceEventType::kFabricRemoved :
122
109
{
123
110
ESP_LOGI (TAG, " Fabric removed successfully" );
124
- if (chip::Server::GetInstance ().GetFabricTable ().FabricCount () == 0 )
111
+ __g_matter_connected_flag = false ;
112
+ chip::CommissioningWindowManager & commissionMgr = chip::Server::GetInstance ().GetCommissioningWindowManager ();
113
+ constexpr auto kTimeoutSeconds = chip::System::Clock::Seconds16 (k_timeout_seconds);
114
+ if (!commissionMgr.IsCommissioningWindowOpen ())
125
115
{
126
- chip::CommissioningWindowManager & commissionMgr = chip::Server::GetInstance (). GetCommissioningWindowManager ();
127
- constexpr auto kTimeoutSeconds = chip::System::Clock::Seconds16 (k_timeout_seconds );
128
- if (!commissionMgr. IsCommissioningWindowOpen () )
116
+ CHIP_ERROR err = commissionMgr. OpenBasicCommissioningWindow ( kTimeoutSeconds ,
117
+ chip::CommissioningWindowAdvertisement:: kDnssdOnly );
118
+ if (err != CHIP_NO_ERROR )
129
119
{
130
- CHIP_ERROR err = commissionMgr.OpenBasicCommissioningWindow (kTimeoutSeconds ,
131
- chip::CommissioningWindowAdvertisement::kDnssdOnly );
132
- if (err != CHIP_NO_ERROR)
133
- {
134
- ESP_LOGE (TAG, " Failed to open commissioning window, err:%" CHIP_ERROR_FORMAT, err.Format ());
135
- }
120
+ ESP_LOGE (TAG, " Failed to open commissioning window, err:%" CHIP_ERROR_FORMAT, err.Format ());
136
121
}
122
+
123
+ ESP_LOGI (TAG, " Beginning Matter Provisioning" );
124
+ uint8_t screen = SCREEN_MATTER_CONFIG;
125
+ ESP_ERROR_CHECK (esp_event_post_to (view_event_handle, VIEW_EVENT_BASE, VIEW_EVENT_SCREEN_START, &screen, sizeof (screen), portMAX_DELAY));
137
126
}
138
127
break ;
139
128
}
@@ -147,6 +136,17 @@ static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg)
147
136
148
137
case chip::DeviceLayer::DeviceEventType::kFabricCommitted :
149
138
ESP_LOGI (TAG, " Fabric is committed" );
139
+
140
+ __g_matter_connected_flag = true ;
141
+ if (__g_matter_connected_flag) {
142
+ struct view_data_wifi_st st;
143
+ st.rssi = -50 ;
144
+ st.is_connected = true ;
145
+ esp_event_post_to (view_event_handle, VIEW_EVENT_BASE, VIEW_EVENT_WIFI_ST, &st, sizeof (struct view_data_wifi_st ), portMAX_DELAY);
146
+
147
+ uint8_t screen = SCREEN_DASHBOARD;
148
+ ESP_ERROR_CHECK (esp_event_post_to (view_event_handle, VIEW_EVENT_BASE, VIEW_EVENT_SCREEN_START, &screen, sizeof (screen), portMAX_DELAY));
149
+ }
150
150
break ;
151
151
default :
152
152
break ;
0 commit comments