Skip to content

Commit

Permalink
dic working changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Thirsrin committed Jul 12, 2023
1 parent 961cd78 commit 8796d78
Show file tree
Hide file tree
Showing 17 changed files with 403 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

/* Task Configuration*/
#define DIC_TASK_NAME "DIC"
#define DIC_TASK_STACK_SIZE (2*1024) //2k
#define DIC_TASK_STACK_SIZE (3*1024) //2k

/* Network Configuration*/
#define DIC_SERVER_HOST "a2m21kovu9tcsh-ats.iot.ap-southeast-1.amazonaws.com"
Expand Down Expand Up @@ -87,48 +87,45 @@ char device_key[] = "------BEGIN EC PRIVATE KEY-----\n"

#elif USE_MOSQUITTO

#define DIC_SERVER_HOST "192.168.1.3"
#define DIC_CLIENT_ID "test_client"
#define DIC_CLIENT_USER "explorer1"
#define DIC_CLIENT_PASS "p@ssw0rd"

char ca_certificate[] = "-----BEGIN CERTIFICATE-----\n"
"MIIDizCCAnOgAwIBAgIUHSLE8e28d9aCpdIyjFsL4hBhRuswDQYJKoZIhvcNAQEL\n"
"BQAwVTELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQswCQYDVQQHDAJCQTELMAkG\n"
"A1UECgwCQ0cxCzAJBgNVBAsMAklEMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMjMw\n"
"MjIwMTMwODEyWhcNMjgwMjIwMTMwODEyWjBVMQswCQYDVQQGEwJJTjELMAkGA1UE\n"
"CAwCS0ExCzAJBgNVBAcMAkJBMQswCQYDVQQKDAJDRzELMAkGA1UECwwCSUQxEjAQ\n"
"BgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n"
"ALxvFGAeqIcVT4x9rcPUIdQjQn/ied6DjMDSKrl5+GFKfVwUjHF5wSh1qh55WR/S\n"
"FVQEJ4yRzwNoRNp8YRYW6V6VUt7/gkh7Wwoct9WglFx5y0Wl7fQoQJu60gkEYS/B\n"
"CC3W0w2mcAUgm+aboUorNMz10o1TIkhKA/Qp4YKydmbkWSYFyXg+Ab+my4Fzo/Wp\n"
"/7/yfJJ1GDJgMBj3/BihDr5NDwJ9bW2ivCzgUCxifmsvj5dNuas6Rypgnc5LCrwR\n"
"JpvfLo3EP/F5Sr0zSa88c154QcJDlBZYy+AWUYRbH9kPfrAyP/Xf0zpqXNcYNEpu\n"
"k7gUSoIDDgm7gTqYcTj4IdECAwEAAaNTMFEwHQYDVR0OBBYEFKwhlzzFhGH4VUpS\n"
"t/oobYRE1U+xMB8GA1UdIwQYMBaAFKwhlzzFhGH4VUpSt/oobYRE1U+xMA8GA1Ud\n"
"EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBALii2W/LzxALqh6+rQWCgI+g\n"
"FRoysTeO3s9+95PTz5ctT7WFd7+lCJ/h4W8HXA1DIhaDi/OafV+8b+CVrvLZuw/5\n"
"PfUxCXNzqVfWWFUR8PrQc1mvGPOjqxuQdK0GuRywEezzFXbCfkS6Bg1YP0PD9Kt9\n"
"MHHo0I1+UJ4Ce3CnVjrc5/LNqqIxOTGen3Ww2i2tcTF7AWwLpAkEoSLFjzMzQtSz\n"
"aMjlC/3MiefJzoSa51wpNgqPjfMq7HibqbNyg+ectW/5S6FGgRAOlxSPm9hdzNWV\n"
"l47KOeR168TSKvFa4fslvKFgsmyFUPWGi9EpBshsXsCSiiWi0yaScHSj5yq/P5E=\n"
"MIICSDCCAe+gAwIBAgIUNOMkmU35VOUVIGWCsO4c3FoWzZ8wCgYIKoZIzj0EAwIw\n"
"ejELMAkGA1UEBhMCSU4xDDAKBgNVBAgMA1RlbDEMMAoGA1UEBwwDSHlkMQ8wDQYD\n"
"VQQKDAZTaWxhYnMxDzANBgNVBAsMBk1hdHRlcjEOMAwGA1UEAwwFdGhpcnUxHTAb\n"
"BgkqhkiG9w0BCQEWDnRoc0BzaWxhYnMuY29tMB4XDTIzMDcwNTEwMDIwOVoXDTI4\n"
"MDcwNDEwMDIwOVowejELMAkGA1UEBhMCSU4xDDAKBgNVBAgMA1RlbDEMMAoGA1UE\n"
"BwwDSHlkMQ8wDQYDVQQKDAZTaWxhYnMxDzANBgNVBAsMBk1hdHRlcjEOMAwGA1UE\n"
"AwwFdGhpcnUxHTAbBgkqhkiG9w0BCQEWDnRoc0BzaWxhYnMuY29tMFkwEwYHKoZI\n"
"zj0CAQYIKoZIzj0DAQcDQgAEIhCv7wWV5ZpFo+gX94oUwp7ByiCGjjfTYkh4TmA/\n"
"xaZRztYPC/CVQ01cGIapitDI/npC5qR7trimsXQvYQpJgKNTMFEwHQYDVR0OBBYE\n"
"FCFtOVOozHN2Vpd2jPHXnsCeT6L9MB8GA1UdIwQYMBaAFCFtOVOozHN2Vpd2jPHX\n"
"nsCeT6L9MA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwIDRwAwRAIgeS1WbQPS\n"
"F1jBv0/ZVz2XQYkDEImbGEczR+Mqmtjgp5ECIFDn0RYi0scoiexGvzLh8aqDnkrF\n"
"AZxhjgUh7ahZfm0s\n"
"-----END CERTIFICATE-----";

char device_certificate[] = "-----BEGIN CERTIFICATE-----\n"
"MIIBpzCCAU0CFAyhZKv2UJYX/5sFRapbXcMnWLZIMAoGCCqGSM49BAMCMFUxCzAJ\n"
"BgNVBAYTAklOMQswCQYDVQQIDAJLQTELMAkGA1UEBwwCQkExCzAJBgNVBAoMAkNH\n"
"MQswCQYDVQQLDAJDRTESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDEyNTA2NDMw\n"
"NVoXDTI0MDEyMDA2NDMwNVowVzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQsw\n"
"CQYDVQQHDAJCQTELMAkGA1UECgwCQ0cxCzAJBgNVBAsMAklEMRQwEgYDVQQDDAtt\n"
"cXR0LWNsaWVudDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKOGGPfEgSpQotAE\n"
"u8lI8hkZEPS8qiqDAyaYZnyd6Qg2LsTzpU1KFwzUgIZQPuFJNnsoP8nSDlh/9/5E\n"
"NiqddLcwCgYIKoZIzj0EAwIDSAAwRQIhAIDQzIW+lRYPUzEHAcYDK8cuqdzFzgKN\n"
"Ye6O46Os34GDAiBt/ODIHL3yTYd3uyBGMk0NGolFnd6L3o/Sv7OZHgsESw==\n"
"MIIB9jCCAZwCFG9bPw5s6br2s224QOibBkay/MuTMAoGCCqGSM49BAMCMHoxCzAJ\n"
"BgNVBAYTAklOMQwwCgYDVQQIDANUZWwxDDAKBgNVBAcMA0h5ZDEPMA0GA1UECgwG\n"
"U2lsYWJzMQ8wDQYDVQQLDAZNYXR0ZXIxDjAMBgNVBAMMBXRoaXJ1MR0wGwYJKoZI\n"
"hvcNAQkBFg50aHNAc2lsYWJzLmNvbTAeFw0yMzA3MDUxMDA2MzRaFw0yNDA2Mjkx\n"
"MDA2MzRaMIGAMQswCQYDVQQGEwJJTjEMMAoGA1UECAwDVGVsMQwwCgYDVQQHDANI\n"
"eWQxDzANBgNVBAoMBk1hdHRlcjEPMA0GA1UECwwGTWF0dGVyMRQwEgYDVQQDDAt0\n"
"ZXN0X2NsaWVudDEdMBsGCSqGSIb3DQEJARYOdGhzQHNpbGFicy5jb20wWTATBgcq\n"
"hkjOPQIBBggqhkjOPQMBBwNCAARDt4/qZJOJkGa1RlG+ZJ3vyxK/rpYG534JtZZa\n"
"dBVJ5RF4XhD5v6wv9bp/8bpgLcOXZgr8a9xcPqafhkeGIx3DMAoGCCqGSM49BAMC\n"
"A0gAMEUCID+AQD0IvqCUhISSmSWd9P/QxjZ4ju5qqrprZQ6dP0J+AiEA7EXq8LTQ\n"
"D8fSOL3GmGNGXzGmDZu9PN64777woTkaUIw=\n"
"-----END CERTIFICATE-----";

char device_key[] = "-----BEGIN EC PRIVATE KEY-----\n"
"MHcCAQEEIGdTdbc0E7+VQEjU17tPPB4jgX3sbz0oKPzoobcFtZimoAoGCCqGSM49\n"
"AwEHoUQDQgAEo4YY98SBKlCi0AS7yUjyGRkQ9LyqKoMDJphmfJ3pCDYuxPOlTUoX\n"
"DNSAhlA+4Uk2eyg/ydIOWH/3/kQ2Kp10tw==\n"
"MHcCAQEEIE2NFtyMW02j7e8Mbp99tFvTeY1tj+lLc+BbxuWqwHIfoAoGCCqGSM49\n"
"AwEHoUQDQgAEQ7eP6mSTiZBmtUZRvmSd78sSv66WBud+CbWWWnQVSeUReF4Q+b+s\n"
"L/W6f/G6YC3Dl2YK/GvcXD6mn4ZHhiMdww==\n"
"-----END EC PRIVATE KEY-----";

#endif //for certificates
Expand Down
3 changes: 2 additions & 1 deletion examples/platform/silabs/DIC/matter_abs_interface/src/dic.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ static void dic_task_fn(void *args)
{
/* get MQTT client handle */
err_t ret;
vTaskDelay(10000);
mqtt_client = mqtt_client_new();
if (!mqtt_client)
{
Expand Down Expand Up @@ -171,7 +172,7 @@ dic_err_t DIC_Init()
SILABS_LOG("Failed to create DIC event groups");
goto DIC_error;
}
if ((pdPASS != xTaskCreate(dic_task_fn, DIC_TASK_NAME, DIC_TASK_STACK_SIZE, NULL, 1, &dicTask))
if ((pdPASS != xTaskCreate(dic_task_fn, DIC_TASK_NAME, DIC_TASK_STACK_SIZE, NULL, 2, &dicTask))
|| !dicTask)
{
SILABS_LOG("Failed to create DIC Task");
Expand Down
2 changes: 1 addition & 1 deletion examples/platform/silabs/SiWx917/FreeRTOSConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */

#ifndef configTOTAL_HEAP_SIZE
#ifdef DIC_ENABLE
#define configTOTAL_HEAP_SIZE ((size_t)(50 * 1024))
#define configTOTAL_HEAP_SIZE ((size_t)(70 * 1024))
#else
#define configTOTAL_HEAP_SIZE ((size_t)(34 * 1024))
#endif // DIC_ENABLE
Expand Down
2 changes: 1 addition & 1 deletion examples/platform/silabs/SiWx917/ldscripts/SiWx917.ld
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
MEMORY
{
FLASH (rx) : ORIGIN = 0x08012000, LENGTH = 0x400000
RAM (rwx) : ORIGIN = 0x400, LENGTH = 0x2f800
RAM (rwx) : ORIGIN = 0x400, LENGTH = 0x4fc00
}

/* Linker script to place sections and symbol values. Should be used together
Expand Down
14 changes: 14 additions & 0 deletions gecko_sdk_dic.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/platform/CMSIS/RTOS2/Source/os_systick.c b/platform/CMSIS/RTOS2/Source/os_systick.c
index 3cce53c52..d38dc1f21 100644
--- a/platform/CMSIS/RTOS2/Source/os_systick.c
+++ b/platform/CMSIS/RTOS2/Source/os_systick.c
@@ -26,7 +26,8 @@

//lint -emacro((923,9078),SCB,SysTick) "cast from unsigned long to pointer"
#include "RTE_Components.h"
-#include CMSIS_device_header
+// #include CMSIS_device_header
+#include "em_device.h"

#ifdef SysTick

40 changes: 40 additions & 0 deletions matter_Support_dic.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff --git a/platform/emdrv/nvm3/src/ccp_flash_intf.c b/platform/emdrv/nvm3/src/ccp_flash_intf.c
index c14d50cb..16b38032 100644
--- a/platform/emdrv/nvm3/src/ccp_flash_intf.c
+++ b/platform/emdrv/nvm3/src/ccp_flash_intf.c
@@ -16,7 +16,7 @@
******************************************************************************/
#include "ccp_flash_intf.h"
#include "RS1xxxx_9117.h"
-#include "rsi_board.h"
+// #include "rsi_board.h"
#include "rsi_chip.h"
#include "system_RS1xxxx.h"

@@ -112,7 +112,7 @@ bool RSI_FLASH_EraseSector(uint32_t sector_address) {
GetQspiConfig(&spi_configs_erase);

/* Erases the SECTOR */
- DEBUGOUT("\r\n Erase Sector \r\n");
+ // DEBUGOUT("\r\n Erase Sector \r\n");
RSI_QSPI_SpiErase((qspi_reg_t *)QSPI_BASE, &spi_configs_erase, SECTOR_ERASE,
sector_address, 1, 0);

@@ -126,7 +126,7 @@ bool RSI_FLASH_Write(uint32_t address, unsigned char *data, uint32_t length) {
GetQspiConfig(&spi_configs_program);

/* writes the data to required address using qspi */
- DEBUGOUT("\r\n Write Data to Flash Memory \r\n");
+ // DEBUGOUT("\r\n Write Data to Flash Memory \r\n");
RSI_QSPI_SpiWrite((qspi_reg_t *)QSPI_BASE, &spi_configs_program, 0x2, address,
(uint8_t *)&data[0], length, FLASH_PAGE_SIZE, _1BYTE, 0, 0,
0, 0, 0, 0);
@@ -143,7 +143,7 @@ bool RSI_FLASH_Read(uint32_t address, unsigned char *data, uint32_t length,
if (!auto_mode) {
/* IO Read config */
/* Reads from the address in manual mode */
- DEBUGOUT("\r\n Read Data From Flash Memory Using Manual Mode\r\n");
+ // DEBUGOUT("\r\n Read Data From Flash Memory Using Manual Mode\r\n");
RSI_QSPI_ManualRead((qspi_reg_t *)(QSPI_BASE), &spi_configs_program,
address, (uint8_t *)data, _8BIT, length, 0, 0, 0);
} else { /* DMA_READ - Auto mode */
6 changes: 4 additions & 2 deletions src/lwip/silabs/lwipopts-rs911x.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@
#define LWIP_DHCP (LWIP_IPV4)
#endif /* LWIP_DHCP */

//#define MBEDTLS_DEBUG_C

#define LWIP_ETHERNET (LWIP_IPV6) // Required for IPV6 only mode
#define LWIP_IPV6_MLD (LWIP_IPV6)
#define LWIP_ICMP6 (LWIP_IPV6)
Expand All @@ -110,7 +112,7 @@
#define LWIP_IPV6_DHCP6 0
#define LWIP_IPV6_AUTOCONFIG (LWIP_IPV6)
#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1
#define LWIP_IPV6_ROUTER_SUPPORT (LWIP_IPV6)
#define LWIP_IPV6_ROUTER_SUPPORT (0)
#define LWIP_ND6_LISTEN_RA (LWIP_IPV6_ND)
#define LWIP_ND6_NUM_NEIGHBORS (10)
#define LWIP_ND6_NUM_DESTINATIONS (10)
Expand All @@ -130,7 +132,7 @@
#define PBUF_CUSTOM_POOL_IDX_START (MEMP_PBUF_POOL_SMALL)
#define PBUF_CUSTOM_POOL_IDX_END (MEMP_PBUF_POOL_LARGE)

#define TCP_MSS (1152)
#define TCP_MSS (1460)
#define TCP_SND_BUF (2 * TCP_MSS)
#define TCP_LISTEN_BACKLOG (1)

Expand Down
2 changes: 1 addition & 1 deletion src/platform/silabs/SiWx917/bluetooth/ble_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@
#define RSI_CUSTOM_FEATURE_BIT_MAP SL_SI91X_FEAT_CUSTOM_FEAT_EXTENTION_VALID //! To set custom feature select bit map
#ifdef CHIP_9117
#define RSI_EXT_CUSTOM_FEATURE_BIT_MAP \
(SL_SI91X_EXT_FEAT_LOW_POWER_MODE | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(1) | SL_SI91X_EXT_FEAT_512K_M4SS_192K)
(SL_SI91X_EXT_FEAT_LOW_POWER_MODE | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(1) | RAM_LEVEL_NWP_BASIC_MCU_ADV)
#else
#define RSI_EXT_CUSTOM_FEATURE_BIT_MAP (SL_SI91X_EXT_FEAT_LOW_POWER_MODE | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(2))
#endif
Expand Down
6 changes: 3 additions & 3 deletions src/platform/silabs/SiWx917/wifi/ethernetif.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ static void low_level_input(struct netif * netif, uint8_t * b, uint16_t len)
{
struct pbuf *p, *q;
uint32_t bufferoffset;

SILABS_LOG("LWIP : low_level_input");
if (len <= 0)
{
return;
Expand All @@ -145,7 +145,7 @@ static void low_level_input(struct netif * netif, uint8_t * b, uint16_t len)
if (!(ip6_addr_ispreferred(netif_ip6_addr_state(netif, 0))) && (memcmp(netif->hwaddr, src_mac, netif->hwaddr_len) == 0) &&
(memcmp(netif->hwaddr, dst_mac, netif->hwaddr_len) != 0))
{
#ifdef WIFI_DEBUG_ENABLED
#if 1 // #ifdef WIFI_DEBUG_ENABLED
SILABS_LOG("%s: DROP, [%02x:%02x:%02x:%02x:%02x:%02x]<-[%02x:%02x:%02x:%02x:%02x:%02x] type=%02x%02x", __func__,

dst_mac[0], dst_mac[1], dst_mac[2], dst_mac[3], dst_mac[4], dst_mac[5],
Expand All @@ -167,7 +167,7 @@ static void low_level_input(struct netif * netif, uint8_t * b, uint16_t len)
memcpy((uint8_t *) q->payload, (uint8_t *) b + bufferoffset, q->len);
bufferoffset += q->len;
}
#ifdef WIFI_DEBUG_ENABLED
#if 1 // #ifdef WIFI_DEBUG_ENABLED
SILABS_LOG("%s: ACCEPT %d, [%02x:%02x:%02x:%02x:%02x:%02x]<-[%02x:%02x:%02x:%02x:%02x:%02x] type=%02x%02x", __func__,
bufferoffset,

Expand Down
8 changes: 4 additions & 4 deletions src/platform/silabs/SiWx917/wifi/lwip_netif.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ void wfx_lwip_set_sta_link_up(void)
* Enable IPV6
*/

#if LWIP_IPV6_AUTOCONFIG
sta_netif.ip6_autoconfig_enabled = 1;
#endif /* LWIP_IPV6_AUTOCONFIG */
netif_create_ip6_linklocal_address(&sta_netif, MAC_48_BIT_SET);
// #if LWIP_IPV6_AUTOCONFIG
// sta_netif.ip6_autoconfig_enabled = 1;
// #endif /* LWIP_IPV6_AUTOCONFIG */
// netif_create_ip6_linklocal_address(&sta_netif, MAC_48_BIT_SET);
}

/***************************************************************************
Expand Down
2 changes: 1 addition & 1 deletion src/platform/silabs/SiWx917/wifi/wfx_host_events.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
#define SL_WFX_SCAN_COMPLETE (1 << 6)
#define SL_WFX_RETRY_CONNECT (1 << 7)

#define WLAN_TASK_STACK_SIZE (1024)
#define WLAN_TASK_STACK_SIZE (2*1024)
#define WLAN_TASK_PRIORITY (3)
#define WLAN_DRIVER_TASK_PRIORITY (2)
#define MAX_JOIN_RETRIES_COUNT (5)
Expand Down
2 changes: 1 addition & 1 deletion third_party/silabs/SiWx917_sdk.gni
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ template("siwx917_sdk") {
"ROM_WIRELESS",

# "SL_ONNETWORK_PAIRING=1",
# "SL_WIFI_SSID=\"matter_openwrt\"",
# "SL_WIFI_SSID=\"matter_netgear\"",
# "SL_WIFI_PSK=\"matter@123\"",
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ typedef struct altcp_allocator_s {
//#define LWIP_DBG_ON 0x80U
#define ALTCP_DEBUG
//#define ALTCP_MBEDTLS_DEBUG (LWIP_DBG_ON)

#ifndef TRANSPORT_UNUSED_ARG
#define TRANSPORT_UNUSED_ARG(x) (void)x
#endif /* TRANSPORT_UNUSED_ARG */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@
#define TRANSPORT_ALTCP_TLS 1
#define TRANSPORT_ALTCP_TLS_MBEDTLS 1
#define TRANSPORT_DEBUG 1
// #define ALTCP_MBEDTLS_DEBUG 1

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,7 @@ transport_connect_cb(void *arg, struct altcp_pcb *tpcb, err_t err)

void mbedtls_signal_app(void *arg)
{
SILABS_LOG("enrers mbedtls_signal_app");
MQTT_Transport_t *client = (MQTT_Transport_t *)arg;
xEventGroupSetBits(client->events, SIGNAL_TRANSINTF_MBEDTLS_RX);
}
Expand All @@ -363,6 +364,7 @@ altcp_mbedtls_lower_recv_process(struct altcp_pcb *conn);

void transport_process_mbedtls_rx(MQTT_Transport_t *client)
{
SILABS_LOG("enrers transport_process_mbedtls_rx fn ");
altcp_mbedtls_lower_recv_process(client->conn);
}

Expand Down
Loading

0 comments on commit 8796d78

Please sign in to comment.