build: W600-SDK importiert, Firmware-Build und Hello am EVK

Docker-Build mit gcc-arm-none-eabi 4.9-2014q4 (statt Homebrew-Cask) verwendet,
Dockerfile/tools/docker.sh dafür aus Task 13 vorgezogen. cmake/sdk.cmake schont
gcc 4.9 (kennt -fcommon/-Wno-error=... nicht). Zwei zusätzliche SDK-Stubs
(EarlyInit, pre_gpio_config) in src/sys/sdk_stubs.c ergänzt, siehe sdk/PATCHES.md.
This commit is contained in:
Michael Sauer
2026-09-11 12:52:26 +02:00
parent 4e7ff78fc6
commit 1b0501179d
610 changed files with 224089 additions and 0 deletions
+307
View File
@@ -0,0 +1,307 @@
#include "wm_type_def.h"
#include "wm_http_client.h"
#include "HTTPClient.h"
#include "HTTPClientWrapper.h"
/***************************************************************************
* Function: HTTPClientOpenRequest
* Description: Allocate memory for a new HTTP Session.
*
* Input: Flags: HTTP Session internal API flags, 0 should be passed here.
*
* Output: None
*
* Return: HTTP Session handle
*
* Date : 2014-6-6
****************************************************************************/
tls_http_session_handle_t tls_http_client_open_request(tls_http_session_flags_t flags)
{
return HTTPClientOpenRequest(flags);
}
/***************************************************************************
* Function: HTTPClientCloseRequest
* Description: Closes any active connection and free any used memory.
*
* Input: pSession: HTTP Session handle.
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_close_request(tls_http_session_handle_t *session)
{
return HTTPClientCloseRequest(session);
}
#if TLS_CONFIG_HTTP_CLIENT_AUTH
/***************************************************************************
* Function: HTTPClientSetAuth
* Description: Sets the HTTP authentication schema.
*
* Input: pSession: HTTP Session handle.
* AuthSchema: HTTP Supported authentication methods.
* pReserved: Reserved parameter.
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_set_auth(tls_http_session_handle_t session,
tls_http_auth_achema_t auth_schema,
void *reserved)
{
return HTTPClientSetAuth(session, (HTTP_AUTH_SCHEMA)auth_schema, reserved);
}
/***************************************************************************
* Function: HTTPClientSetCredentials
* Description: Sets credentials for the target host.
*
* Input: pSession: HTTP Session handle.
* pUserName: User name.
* pPassword: Password.
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_set_credentials(tls_http_session_handle_t session,
char *user_name, char *password)
{
return HTTPClientSetCredentials(session, (CHAR *)user_name, (CHAR *)password);
}
#endif
#if TLS_CONFIG_HTTP_CLIENT_PROXY
/***************************************************************************
* Function: HTTPClientSetProxy
* Description: Sets all the proxy related parameters.
*
* Input: pSession: HTTP Session handle.
* pProxyName: The host name.
* nPort: The proxy port number.
* pUserName: User name for proxy authentication (can be null).
* pPassword: User password for proxy authentication (can be null).
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_set_proxy(tls_http_session_handle_t session, char *proxy_name,
u16 port, char *user_name, char *password)
{
return HTTPClientSetProxy(session, (CHAR *)proxy_name, port, (CHAR *)user_name, (CHAR *)password);
}
#endif
/***************************************************************************
* Function: HTTPClientSetVerb
* Description: Sets the HTTP verb for the outgoing request.
*
* Input: pSession: HTTP Session handle.
* HttpVerb: HTTP supported verbs
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_set_verb(tls_http_session_handle_t session, tls_http_verb_t http_verb)
{
return HTTPClientSetVerb(session, (HTTP_VERB)http_verb);
}
/***************************************************************************
* Function: HTTPClientAddRequestHeaders
* Description: Add headers to the outgoing request.
*
* Input: pSession: HTTP Session handle.
* pHeaderName: The Headers name
* pHeaderData: The headers data
* nInsert: Reserved could be any
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_add_request_headers(tls_http_session_handle_t session, char *header_name,
char *header_data, bool insert)
{
return HTTPClientAddRequestHeaders(session, (CHAR *)header_name, (CHAR *)header_data, (BOOL)insert);
}
/***************************************************************************
* Function: HTTPClientSendRequest
* Description: This function builds the request headers, performs a DNS resolution ,
* opens the connection (if it was not opened yet by a previous request or if it has closed)
* and sends the request headers.
*
* Input: pSession: HTTP Session handle.
* pUrl: The requested URL
* pData: Data to post to the server
* nDataLength: Length of posted data
* TotalLength: Valid only when http method is post.
* TRUE: Post data to http server.
* FALSE: In a post request without knowing the total length in advance so return error or use chunking.
* nTimeout: Operation timeout
* nClientPort: Client side port 0 for none
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_send_request(tls_http_session_handle_t session, char *url, void *data,
u32 data_len, bool total_len, u32 time_out, u32 client_port)
{
return HTTPClientSendRequest(session, (CHAR *)url, data, data_len, (BOOL)total_len, time_out, client_port);
}
/***************************************************************************
* Function: HTTPClientWriteData
* Description: Write data to the remote server.
*
* Input: pSession: HTTP Session handle.
* pBuffer: Data to write to the server.
* nBufferLength: Length of wtitten data.
* nTimeout: Timeout for the operation.
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_write_data(tls_http_session_handle_t session, void *buffer,
u32 buffer_len, u32 time_out)
{
return HTTPClientWriteData(session, buffer, buffer_len, time_out);
}
/***************************************************************************
* Function: HTTPClientRecvResponse
* Description: Receives the response header on the connection and parses it.
* Performs any required authentication.
*
* Input: pSession: HTTP Session handle.
* nTimeout: Timeout for the operation.
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_recv_response(tls_http_session_handle_t session, u32 time_out)
{
return HTTPClientRecvResponse(session, time_out);
}
/***************************************************************************
* Function: HTTPClientReadData
* Description: Read data from the server. Parse out the chunks data.
*
* Input: pSession: HTTP Session handle.
* nBytesToRead: The size of the buffer (numbers of bytes to read)
* nTimeout: Operation timeout in seconds
*
* Output: pBuffer: A pointer to a buffer that will be filled with the servers response
* nBytesRecived: Count of the bytes that were received in this operation
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_read_data(tls_http_session_handle_t session, void *buffer,
u32 bytes_to_read, u32 time_out, u32 *bytes_recived)
{
return HTTPClientReadData(session, buffer, bytes_to_read, time_out, bytes_recived);
}
/***************************************************************************
* Function: HTTPClientGetInfo
* Description: Fill the users structure with the session information.
*
* Input: pSession: HTTP Session handle.
*
* Output: HTTPClient: The session information.
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_get_info(tls_http_session_handle_t session, tls_http_client_t *http_client)
{
return HTTPClientGetInfo(session, http_client);
}
/***************************************************************************
* Function: HTTPClientFindFirstHeader
* Description: Initiate the headr searching functions and find the first header.
*
* Input: pSession: HTTP Session handle.
* pSearchClue: Search clue.
*
* Output: pHeaderBuffer: A pointer to a buffer that will be filled with the header name and value.
* nLength: Count of the bytes that were received in this operation.
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_find_first_header(tls_http_session_handle_t session, char *search_clue,
char *header_buffer, u32 *length)
{
return HTTPClientFindFirstHeader(session, (CHAR *)search_clue, (CHAR *)header_buffer, length);
}
/***************************************************************************
* Function: HTTPClientGetNextHeader
* Description: Find the next header.
*
* Input: pSession: HTTP Session handle.
*
* Output: pHeaderBuffer: A pointer to a buffer that will be filled with the header name and value.
* nLength: Count of the bytes that were received in this operation.
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_get_next_header(tls_http_session_handle_t session,
char *header_buffer, u32 *length)
{
return HTTPClientGetNextHeader(session, (CHAR *)header_buffer, length);
}
/***************************************************************************
* Function: HTTPClientFindCloseHeader
* Description: Terminate a headers search session.
*
* Input: pSession: HTTP Session handle.
*
* Output: None
*
* Return: HTTP Status
*
* Date : 2014-6-6
****************************************************************************/
int tls_http_client_find_close_header(tls_http_session_handle_t session)
{
return HTTPClientFindCloseHeader(session);
}