Quantcast
Viewing all articles
Browse latest Browse all 5077

SDK • Re: Building an HTTP web server with Pico SDK

I think I'm on the right path since my compiler only throws errors for configuration stuff:

This is my mbedtls_config.h:

Code:

/* Workaround for some mbedtls source files using INT_MAX without including limits.h */#include <limits.h>#define MBEDTLS_NO_PLATFORM_ENTROPY#define MBEDTLS_ENTROPY_HARDWARE_ALT#define MBEDTLS_HAVE_ASM#define MBEDTLS_SSL_IN_CONTENT_LEN    4096#define MBEDTLS_SSL_OUT_CONTENT_LEN    4096#define MBEDTLS_SSL_MAX_CONTENT_LEN 4096#define MBEDTLS_ALLOW_PRIVATE_ACCESS#define MBEDTLS_HAVE_TIME#define MBEDTLS_CIPHER_MODE_CBC#define MBEDTLS_ECP_DP_SECP192R1_ENABLED#define MBEDTLS_ECP_DP_SECP224R1_ENABLED#define MBEDTLS_ECP_DP_SECP256R1_ENABLED#define MBEDTLS_ECP_DP_SECP384R1_ENABLED#define MBEDTLS_ECP_DP_SECP521R1_ENABLED#define MBEDTLS_ECP_DP_SECP192K1_ENABLED#define MBEDTLS_ECP_DP_SECP224K1_ENABLED#define MBEDTLS_ECP_DP_SECP256K1_ENABLED#define MBEDTLS_ECP_DP_BP256R1_ENABLED#define MBEDTLS_ECP_DP_BP384R1_ENABLED#define MBEDTLS_ECP_DP_BP512R1_ENABLED#define MBEDTLS_ECP_DP_CURVE25519_ENABLED#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED#define MBEDTLS_PKCS1_V15#define MBEDTLS_SHA256_SMALLER#define MBEDTLS_SSL_SERVER_NAME_INDICATION#define MBEDTLS_AES_C#define MBEDTLS_ASN1_PARSE_C#define MBEDTLS_BIGNUM_C#define MBEDTLS_CIPHER_C#define MBEDTLS_CTR_DRBG_C#define MBEDTLS_ENTROPY_C#define MBEDTLS_ERROR_C#define MBEDTLS_MD_C#define MBEDTLS_MD5_C#define MBEDTLS_OID_C#define MBEDTLS_PKCS5_C#define MBEDTLS_PK_C#define MBEDTLS_PK_PARSE_C#define MBEDTLS_PLATFORM_C#define MBEDTLS_RSA_C#define MBEDTLS_SHA1_C#define MBEDTLS_SHA224_C#define MBEDTLS_SHA256_C#define MBEDTLS_SHA512_C#define MBEDTLS_SSL_CLI_C#define MBEDTLS_SSL_SRV_C#define MBEDTLS_SSL_TLS_C#define MBEDTLS_X509_CRT_PARSE_C#define MBEDTLS_X509_USE_C#define MBEDTLS_AES_FEWER_TABLES/* TLS 1.2 */#define MBEDTLS_SSL_PROTO_TLS1_2#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED#define MBEDTLS_GCM_C#define MBEDTLS_ECDH_C#define MBEDTLS_ECP_C#define MBEDTLS_ECDSA_C#define MBEDTLS_ASN1_WRITE_C#define MBEDTLS_PEM_PARSE_C#define MBEDTLS_BASE64_C/* server items */#define MBEDTLS_SSL_ALPN#define MBEDTLS_SSL_SESSION_TICKETS#define MBEDTLS_SSL_TICKET_C#define MBEDTLS_SSL_CACHE_C// In case someone wants to use frame-pointers#define MULADDC_CANNOT_USE_R7//enable if you want mbedtls verbose prints//#define MBEDTLS_DEBUG_C//#define MBEDTLS_CHECK_PARAMS#define MBEDTLS_HMAC_DRBG_C#define MBEDTLS_ECDSA_DETERMINISTIC//#define MBEDTLS_ARIA_C#define MBEDTLS_BIGNUM_INTERNAL_VALIDATE
And this is my myhttpserver.cpp file:

Code:

#include "myhttpserver.h"#include "pico/stdlib.h"#include "pico/cyw43_arch.h"#include "lwipopts.h"#include <stdio.h>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include "lwip/apps/httpd.h"#include "lwip/apps/fs.h"#include "oled.h"#include "lwip/tcp.h"#include "lwip/altcp_tls.h"#include "lwip/altcp_tcp.h"#include "lwip/altcp.h"#include "mbedtls/x509_crt.h"#include "mbedtls/pk.h"#include "certs/cert.h"#include "certs/key.h"// LFpHoyX9WjZpRu*U5kX6l38u8v3NVh^J#DSR6^!B// EUq758abUES%!wex68!*static char stored_key1[64];static char stored_value1[64];static char stored_key2[64];static char stored_value2[64];static const unsigned char *SERVER_KEY = NULL;static const unsigned char *SERVER_CERT = NULL;static size_t SERVER_KEY_SIZE = 0;static size_t SERVER_CERT_SIZE = 0;Pico_OLED_1_3 MyHTTPServer::oled;static u16_t ssi_handler(int iIndex, char *pcInsert, int iInsertLen, u16_t current_tag_part, u16_t *next_tag_part) {    printf("SSI handler called with index: %d\n", iIndex);    stored_key1[sizeof(stored_key1) - 1] = '\0';    stored_value1[sizeof(stored_value1) - 1] = '\0';    stored_key2[sizeof(stored_key2) - 1] = '\0';    stored_value2[sizeof(stored_value2) - 1] = '\0';    switch (iIndex) {        case 0: // Key1            strcpy(pcInsert, stored_key1);            printf("SSI: Inserting Key1 = '%s'\n", stored_key1);            return strlen(stored_key1);        case 1: // Value1              strcpy(pcInsert, stored_value1);            printf("SSI: Inserting Value1 = '%s'\n", stored_value1);            return strlen(stored_value1);        case 2: // Key2            strcpy(pcInsert, stored_key2);            printf("SSI: Inserting Key2 = '%s'\n", stored_key2);            return strlen(stored_key2);        case 3: // Value2            strcpy(pcInsert, stored_value2);            printf("SSI: Inserting Value2 = '%s'\n", stored_value2);            return strlen(stored_value2);        default:            printf("SSI: Unknown index\n");            return 0;    }}err_t httpd_post_begin(void *connection, const char *uri, const char *http_request,                    u16_t http_request_len, int content_len,                    char *response_uri, u16_t response_uri_len, u8_t *post_auto_wnd){    printf("POST request started for URI: %s\n", uri);    return ERR_OK;}err_t httpd_post_receive_data(void *connection, struct pbuf *p){    printf("Received POST data of length %d\n", p->tot_len);    char post_data[128] = {0};    pbuf_copy_partial(p, post_data, sizeof(post_data) - 1, 0);    printf("Raw POST data: %s\n", post_data);    if (p->tot_len >= sizeof(post_data)) {        printf("POST data too large for buffer\n");        pbuf_free(p);        return ERR_MEM;    }    if (p->tot_len == 0) {        printf("No POST data received\n");        pbuf_free(p);        return ERR_OK;    }    if (strstr(post_data, "msg=") != NULL) {        // Parse the data as a URL-encoded form        char *msg_start = strstr(post_data, "msg=");        if (msg_start) {            msg_start += 4;  // Skip "msg="            char *end = strchr(msg_start, '&');            if (end) *end = '\0';            printf("Parsed message: %s\n", msg_start);            if (end) *end = '&';        }        if (!msg_start) {            printf("No message found in POST data\n");            pbuf_free(p);            return ERR_OK;        }        if (strlen(msg_start) > 32) {            printf("Message too long\n");            pbuf_free(p);            return ERR_ARG;        }        std::string msg = msg_start;        std::replace(msg.begin(), msg.end(), '+', ' ');        const char* msg_cstr = msg.c_str();        MyHTTPServer::oled.drawPage("MESSAGE RX", "MESSAGE", msg_cstr, "", 12);        sleep_ms(3000);        pbuf_free(p);        return ERR_OK;    }    char *value1_start = strstr(post_data, "value1=");    char *value2_start = strstr(post_data, "value2=");        if (value1_start) {        value1_start += 7;  // Skip "value1="        char *end = strchr(value1_start, '&');        if (end) *end = '\0';        strncpy(stored_key1, "Value1", sizeof(stored_key1) - 1);        strncpy(stored_value1, value1_start, sizeof(stored_value1) - 1);        if (end) *end = '&';    }        if (value2_start) {        value2_start += 7;  // Skip "value2="        char *end = strchr(value2_start, '&');        if (end) *end = '\0';        strncpy(stored_key2, "Value2", sizeof(stored_key2) - 1);        strncpy(stored_value2, value2_start, sizeof(stored_value2) - 1);    }    printf("Parsed values - Key1: %s, Value1: %s, Key2: %s, Value2: %s\n",            stored_key1, stored_value1, stored_key2, stored_value2);        pbuf_free(p);    return ERR_OK;}void httpd_post_finished(void *connection, char *response_uri, u16_t response_uri_len){        // Finalize POST request processing        printf("POST request finished\n");        strncpy(response_uri, "/post.html", response_uri_len);}static err_t http_recv_function(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err) {    if (!p) { // Connection closed by client        printf("Connection closed by client\n");        tcp_close(pcb);        return ERR_OK;    }    // Process received data    char buffer[128];    pbuf_copy_partial(p, buffer, sizeof(buffer) - 1, 0);    buffer[p->tot_len] = '\0';        printf("Received data: %s\n", buffer);    // Echo data back to client (optional)    tcp_write(pcb, buffer, strlen(buffer), TCP_WRITE_FLAG_COPY);    pbuf_free(p); // Free received data buffer    return ERR_OK;}static void http_error_function(void *arg, err_t err) {    printf("Connection error: %d\n", err);}static err_t http_poll_function(void *arg, struct tcp_pcb *pcb) {    printf("Polling connection\n");    return ERR_OK;}static err_t http_accept_function(void *arg, struct tcp_pcb *newpcb, err_t err) {    if (err != ERR_OK || newpcb == NULL) {        return ERR_VAL;    }    printf("New connection accepted\n");    // Set up callbacks for this connection    tcp_recv(newpcb, http_recv_function);    tcp_err(newpcb, http_error_function);    tcp_poll(newpcb, http_poll_function, 4);    return ERR_OK;}MyHTTPServer::MyHTTPServer() {    this->start();}MyHTTPServer::~MyHTTPServer() {}void MyHTTPServer::httpd_init() {    struct tcp_pcb *pcb = tcp_new(); // Create a new TCP control block    if (!pcb) {        printf("Failed to create TCP control block\n");        return;    }    err_t err = tcp_bind(pcb, IP_ADDR_ANY, 443); // Bind to port 443 for HTTPS    if (err != ERR_OK) {        printf("Failed to bind to port 443: %d\n", err);        return;    }    pcb = tcp_listen(pcb); // Start listening for incoming connections    if (!pcb) {        printf("Failed to start listening\n");        return;    }    tcp_accept(pcb, http_accept_function); // Set accept callback    printf("HTTPS server initialized and listening on port 443\n");}void MyHTTPServer::start() {    tls_config = NULL;    tls_config = altcp_tls_create_config_server_privkey_cert(        __key_der, __key_der_len,        NULL, 0,        __cert_der, __cert_der_len    );    if (!tls_config) {        printf("Failed to create TLS configuration\n");    }    // Update SSI tags to match exactly what's in the HTML    static const char *ssi_tags[] = {        "Key1",     // <!--#Key1-->        "Value1",   // <!--#Value1-->         "Key2",     // <!--#Key2-->        "Value2"    // <!--#Value2-->    };    http_set_ssi_handler(ssi_handler, ssi_tags,                         sizeof(ssi_tags) / sizeof(ssi_tags[0]));    printf("SSI handler and tags registered\n");        start_cgi();    httpd_init();    printf("HTTPS server started\n");}void MyHTTPServer::start_cgi() {    static const tCGI cgi_handlers[] = {        {"/", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* {            MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue);            return "/index.html";        }},        {"/post", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* {            MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue);            return "/post.html";        }},        {"/get", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* {            // Store keys and values from GET parameters            for (int i = 0; i < iNumParams; i++) {                if (i == 0) {                    strncpy(stored_key1, pcParam[i], sizeof(stored_key1) - 1);                    strncpy(stored_value1, pcValue[i], sizeof(stored_value1) - 1);                } else if (i == 1) {                    strncpy(stored_key2, pcParam[i], sizeof(stored_key2) - 1);                    strncpy(stored_value2, pcValue[i], sizeof(stored_value2) - 1);                }            }            MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue);            return "/get.shtml";        }},        {"/sendMessage", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* {            MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue);            return "/post.html";        }}    };    http_set_cgi_handlers(cgi_handlers, sizeof(cgi_handlers) / sizeof(cgi_handlers[0]));}void MyHTTPServer::debugInfo(int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) {    printf("Debug info\n");    printf("Index: %d\n", iIndex);    printf("NumParams: %d\n", iNumParams);    for (int i = 0; i < iNumParams; i++) {        printf("Param[%d]: %s\n", i, pcParam[i]);        printf("Value[%d]: %s\n", i, pcValue[i]);    }    printf("\n");}
Here's the full folder of the library myhttpserver:

https://we.tl/t-R7IiR0dcmA

Can you spot any issue so far?

VS Code doesn't show any error of my myhttpserver.cpp file, only when Ninja executes it will generate errors on Terminal.

Code:

/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1557 |     "DES-CBC",      |     ^~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: note: (near initialization for 'des_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: note: (near initialization for 'des_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1560:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1560 |     8,      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1561 |     &des_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: note: (near initialization for 'des_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: note: (near initialization for 'des_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1593:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1593 |     MBEDTLS_CIPHER_DES_EDE_ECB,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1593:5: note: (near initialization for 'des_ede_ecb_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1595:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 1595 |     MBEDTLS_KEY_LENGTH_DES_EDE,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1596 |     "DES-EDE-ECB",      |     ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: note: (near initialization for 'des_ede_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: note: (near initialization for 'des_ede_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1599:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1599 |     8,      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1600 |     &des_ede_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: note: (near initialization for 'des_ede_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: note: (near initialization for 'des_ede_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1605:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1605 |     MBEDTLS_CIPHER_DES_EDE_CBC,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1605:5: note: (near initialization for 'des_ede_cbc_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1607:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 1607 |     MBEDTLS_KEY_LENGTH_DES_EDE,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1608 |     "DES-EDE-CBC",      |     ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: note: (near initialization for 'des_ede_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: note: (near initialization for 'des_ede_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1611:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1611 |     8,      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1612 |     &des_ede_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: note: (near initialization for 'des_ede_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: note: (near initialization for 'des_ede_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1644:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1644 |     MBEDTLS_CIPHER_DES_EDE3_ECB,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1644:5: note: (near initialization for 'des_ede3_ecb_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1646:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 1646 |     MBEDTLS_KEY_LENGTH_DES_EDE3,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1647 |     "DES-EDE3-ECB",      |     ^~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: note: (near initialization for 'des_ede3_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: note: (near initialization for 'des_ede3_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1650:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1650 |     8,      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1651 |     &des_ede3_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: note: (near initialization for 'des_ede3_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: note: (near initialization for 'des_ede3_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1655:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1655 |     MBEDTLS_CIPHER_DES_EDE3_CBC,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1655:5: note: (near initialization for 'des_ede3_cbc_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1657:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 1657 |     MBEDTLS_KEY_LENGTH_DES_EDE3,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1658 |     "DES-EDE3-CBC",      |     ^~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: note: (near initialization for 'des_ede3_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: note: (near initialization for 'des_ede3_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1661:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1661 |     8,      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1662 |     &des_ede3_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: note: (near initialization for 'des_ede3_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: note: (near initialization for 'des_ede3_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1966:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1966 |     MBEDTLS_CIPHER_CHACHA20,      |     ^~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1966:5: note: (near initialization for 'chacha20_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1968:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 1968 |     256,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1969 |     "CHACHA20",      |     ^~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: note: (near initialization for 'chacha20_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: note: (near initialization for 'chacha20_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1973 |     &chacha20_base_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: note: (near initialization for 'chacha20_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: note: (near initialization for 'chacha20_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2041:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2041 |     MBEDTLS_CIPHER_CHACHA20_POLY1305,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2041:5: note: (near initialization for 'chachapoly_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2043:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 2043 |     256,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2044 |     "CHACHA20-POLY1305",      |     ^~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: note: (near initialization for 'chachapoly_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: note: (near initialization for 'chachapoly_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2048 |     &chachapoly_base_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: note: (near initialization for 'chachapoly_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: note: (near initialization for 'chachapoly_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2181:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2181 |     MBEDTLS_CIPHER_AES_128_KW,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2181:5: note: (near initialization for 'aes_128_nist_kw_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2183:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 2183 |     128,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2184 |     "AES-128-KW",      |     ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: note: (near initialization for 'aes_128_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: note: (near initialization for 'aes_128_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2187:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2187 |     16,      |     ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2188 |     &kw_aes_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: note: (near initialization for 'aes_128_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: note: (near initialization for 'aes_128_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2192:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2192 |     MBEDTLS_CIPHER_AES_192_KW,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2192:5: note: (near initialization for 'aes_192_nist_kw_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2194:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 2194 |     192,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2195 |     "AES-192-KW",      |     ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: note: (near initialization for 'aes_192_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: note: (near initialization for 'aes_192_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2198:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2198 |     16,      |     ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2199 |     &kw_aes_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: note: (near initialization for 'aes_192_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: note: (near initialization for 'aes_192_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2203:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2203 |     MBEDTLS_CIPHER_AES_256_KW,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2203:5: note: (near initialization for 'aes_256_nist_kw_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2205:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 2205 |     256,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2206 |     "AES-256-KW",      |     ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: note: (near initialization for 'aes_256_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: note: (near initialization for 'aes_256_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2209:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2209 |     16,      |     ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2210 |     &kw_aes_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: note: (near initialization for 'aes_256_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: note: (near initialization for 'aes_256_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2214:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2214 |     MBEDTLS_CIPHER_AES_128_KWP,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2214:5: note: (near initialization for 'aes_128_nist_kwp_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2216:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 2216 |     128,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2217 |     "AES-128-KWP",      |     ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: note: (near initialization for 'aes_128_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: note: (near initialization for 'aes_128_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2220:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2220 |     16,      |     ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2221 |     &kw_aes_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: note: (near initialization for 'aes_128_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: note: (near initialization for 'aes_128_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2225:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2225 |     MBEDTLS_CIPHER_AES_192_KWP,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2225:5: note: (near initialization for 'aes_192_nist_kwp_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2227:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 2227 |     192,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2228 |     "AES-192-KWP",      |     ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: note: (near initialization for 'aes_192_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: note: (near initialization for 'aes_192_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2231:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2231 |     16,      |     ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2232 |     &kw_aes_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: note: (near initialization for 'aes_192_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: note: (near initialization for 'aes_192_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2236:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2236 |     MBEDTLS_CIPHER_AES_256_KWP,      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2236:5: note: (near initialization for 'aes_256_nist_kwp_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2238:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 2238 |     256,      |     ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2239 |     "AES-256-KWP",      |     ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: note: (near initialization for 'aes_256_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: note: (near initialization for 'aes_256_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2242:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2242 |     16,      |     ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2243 |     &kw_aes_info      |     ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: note: (near initialization for 'aes_256_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: note: (near initialization for 'aes_256_nist_kwp_info.base_idx')[19/1172] Building C object myhttpserver/CMakeFiles/myhttpserv.../Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c.o/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c: In function 'mbedtls_mpi_init':/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:43:5: warning: implicit declaration of function 'MBEDTLS_INTERNAL_VALIDATE'; did you mean 'MBEDTLS_BIGNUM_INTERNAL_VALIDATE'? [-Wimplicit-function-declaration]   43 |     MBEDTLS_INTERNAL_VALIDATE(cond)      |     ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:69:5: note: in expansion of macro 'MPI_VALIDATE'   69 |     MPI_VALIDATE(X != NULL);      |     ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c: In function 'mbedtls_mpi_grow':/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:41:5: warning: implicit declaration of function 'MBEDTLS_INTERNAL_VALIDATE_RET'; did you mean 'MBEDTLS_BIGNUM_INTERNAL_VALIDATE'? [-Wimplicit-function-declaration]   41 |     MBEDTLS_INTERNAL_VALIDATE_RET(cond, MBEDTLS_ERR_MPI_BAD_INPUT_DATA)      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:101:5: note: in expansion of macro 'MPI_VALIDATE_RET'  101 |     MPI_VALIDATE_RET(X != NULL);      |     ^~~~~~~~~~~~~~~~ninja: build stopped: subcommand failed. *  The terminal process "/Users/alex/.pico-sdk/ninja/v1.12.1/ninja '-C', '/Users/alex/raspberry_pico/os_/build'" terminated with exit code: 1. 
So something doesn't seem to be correctly "hooked" but I have no idea.

Statistics: Posted by picocpp — Fri Dec 20, 2024 7:33 pm



Viewing all articles
Browse latest Browse all 5077

Trending Articles