µC/HTTP-client requires a run-time configuration that must be passed during the initialization. HTTP run-time configuration template files are provided (see Directories and Files). The run-time configuration template file (http-c_cfg.c
)
should be copied into the application folder and modified as per individual project requirements.
Micriµm provides sample configuration code free of charge; however, most sample code will likely require modifications depending on specific feature requirements and memory limitation.
const HTTPc_CFG HTTPc_Cfg = { /* *-------------------------------------------------------------------------------------------------------- * TASK CONFIGURATION *-------------------------------------------------------------------------------------------------------- */ HTTPc_DFLT_TASK_DLY_MS, /* .TaskDly_ms (HTTPc Task delay in milliseconds) */ /* *-------------------------------------------------------------------------------------------------------- * CONNECTION CONFIGURATION *-------------------------------------------------------------------------------------------------------- */ HTTPc_DFLT_CONN_Q_SIZE, /* .ConnQ_Size (Connection Queue size) */ HTTPc_DFLT_CONN_CONNECT_TIMEOUT_MS, /* .ConnConnectTimeout_ms (Connect timeout in ms) */ HTTPc_DFLT_CONN_INACTIVITY_TIMEOUT_S, /* .ConnInactivityTimeout_s (Inactivity timeout in s) */ /* *-------------------------------------------------------------------------------------------------------- * REQUEST CONFIGURATION *-------------------------------------------------------------------------------------------------------- */ HTTPc_DFLT_REQ_Q_SIZE, /* .ReqQ_Size (Request Queue size) */ }; |
Structure Field | Type | Description | Possible Values |
---|---|---|---|
TaskDly_ms | CPU_INT08U | µC/HTTP-client Task delay in milliseconds. When the asynchronous task is enabled, the task can be periodically delayed to allow other lower priority tasks to run. | Default value: [ MUST be >= 1 |
Structure Field | Type | Description | Possible Values |
---|---|---|---|
ConnQ_Size | CPU_INT08U | Size of the µC/HTTP-client Connection Queue. Two Connection Queues exist, one for opening and the other for closing connections. | Default value: [ MUST be >= 1 |
ConnConnectTimeout_ms | CPU_INT16U | Connection Connect Timeout value in milliseconds. Time allocated to perform a connection with the HTTP server. | Default value: [ MUST be >= 1000; <= 10000 |
ConnInactivityTimeout_s | CPU_INT16U | Connection Inactivity Timeout value in seconds. The inactivity timeout is set up to close the connection after a period of inactivity. | Default value: [ MUST be >= 1; <= 255 |
Structure Field | Type | Description | Possible Values |
---|---|---|---|
ReqQ_Size | CPU_INT08U | Size of the µC/HTTP-client Request Queue. Queue size doesn't need to be very large since requests are rapidly added to the request list. | Default value: [ MUST be >= 1 |
When the µC/HTTP-client task is enabled (see HTTPc_CFG_MODE_ASYNC_TASK_EN) a task configuration must be passed to the function HTTPc_Init. The µC/HTTP-client Task configuration structure is presented below.
const HTTPc_TASK_CFG HTTPc_TaskCfg = { 15u, /* .Prio (HTTPc task priority) */ 2048, /* .StkSizeBytes (HTTPc task stack size in bytes) */ DEF_NULL, /* .StkPtr (HTTPc task stack pointer) */ }; |
Structure Field | Type | Description | Possible Values |
---|---|---|---|
Prio | CPU_INT32U | Priority of the µC/HTTP-client Task. We recommend configuring the Network Protocol Stack task priorities & HTTP Client task priority as follows:
We recommend that the uC/TCP-IP Timer task and network interface Receive task be lower priorities than almost all other application tasks; but we recommend that the network interface Transmit De-allocation task be higher priority then all application tasks that use uC/TCP-IP network services. However better performance can be observed when the µC/HTTP-client task is set with the lowest priority. So some experimentation could be required to identify the better task priority configuration. | MUST be >= 1 |
StkSizeBytes | CPU_INT32U | Size of the stack's task. | MUST be >= 512 |
StkPtr | void* | Memory location where to allocate the stack's task. | Pointer to memory segment where the stack's task will be located.
|