esp32_mock.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. // http://www.apache.org/licenses/LICENSE-2.0
  7. //
  8. // Unless required by applicable law or agreed to in writing, software
  9. // distributed under the License is distributed on an "AS IS" BASIS,
  10. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. // See the License for the specific language governing permissions and
  12. // limitations under the License.
  13. #ifndef _ESP32_COMPAT_H_
  14. #define _ESP32_COMPAT_H_
  15. // Skip these include files
  16. #define ESP_MDNS_NETWORKING_H_
  17. #define _TCPIP_ADAPTER_H_
  18. #define _ESP_TASK_H_
  19. #ifdef USE_BSD_STRING
  20. #include <bsd/string.h>
  21. #endif
  22. #include <stdint.h>
  23. #include <stdio.h>
  24. #include <stdlib.h>
  25. #include <stdbool.h>
  26. #include <unistd.h>
  27. #include <signal.h>
  28. #include <sys/time.h>
  29. #include "esp_timer.h"
  30. #define ESP_FAIL -1
  31. #define ESP_ERR_NO_MEM 0x101
  32. #define ESP_ERR_INVALID_ARG 0x102
  33. #define ESP_ERR_INVALID_STATE 0x103
  34. #define ESP_ERR_INVALID_SIZE 0x104
  35. #define ESP_ERR_NOT_FOUND 0x105
  36. #define ESP_ERR_NOT_SUPPORTED 0x106
  37. #define ESP_ERR_TIMEOUT 0x107
  38. #define ESP_ERR_INVALID_RESPONSE 0x108
  39. #define ESP_ERR_INVALID_CRC 0x109
  40. #define pdTRUE true
  41. #define pdFALSE false
  42. #define pdPASS ( pdTRUE )
  43. #define pdFAIL ( pdFALSE )
  44. #define portMAX_DELAY 0xFFFFFFFF
  45. #define portTICK_PERIOD_MS 1
  46. #define ESP_LOGW(a,b)
  47. #define ESP_LOGD(a,b)
  48. #define ESP_LOGE(a,b,c)
  49. #define ESP_LOGV(a,b,c,d)
  50. #define LWIP_HDR_PBUF_H
  51. #define __ESP_SYSTEM_H__
  52. #define INC_TASK_H
  53. #define pdMS_TO_TICKS(a) a
  54. #define portTICK_RATE_MS 10
  55. #define xSemaphoreTake(s,d) true
  56. #define xTaskDelete(a)
  57. #define vTaskDelete(a) free(a)
  58. #define xSemaphoreGive(s)
  59. #define xQueueCreateMutex(s)
  60. #define _mdns_pcb_init(a,b) true
  61. #define _mdns_pcb_deinit(a,b) true
  62. #define xSemaphoreCreateMutex() malloc(1)
  63. #define xSemaphoreCreateBinary() malloc(1)
  64. #define vSemaphoreDelete(s) free(s)
  65. #define queueQUEUE_TYPE_MUTEX ( ( uint8_t ) 1U
  66. #define xTaskCreatePinnedToCore(a,b,c,d,e,f,g) *(f) = malloc(1)
  67. #define vTaskDelay(m) usleep((m)*0)
  68. #define esp_random() (rand()%UINT32_MAX)
  69. #define ESP_TASK_PRIO_MAX 25
  70. #define ESP_TASKD_EVENT_PRIO 5
  71. #define _mdns_udp_pcb_write(tcpip_if, ip_protocol, ip, port, data, len) len
  72. #define xTaskHandle TaskHandle_t
  73. typedef int32_t esp_err_t;
  74. typedef void * xSemaphoreHandle;
  75. typedef void * SemaphoreHandle_t;
  76. typedef void * xQueueHandle;
  77. typedef void * QueueHandle_t;
  78. typedef void * TaskHandle_t;
  79. typedef int BaseType_t;
  80. typedef uint32_t TickType_t;
  81. typedef uint32_t portTickType;
  82. extern const char * WIFI_EVENT;
  83. extern const char * IP_EVENT;
  84. extern const char * ETH_EVENT;
  85. /* status of DHCP client or DHCP server */
  86. typedef enum {
  87. TCPIP_ADAPTER_DHCP_INIT = 0, /**< DHCP client/server in initial state */
  88. TCPIP_ADAPTER_DHCP_STARTED, /**< DHCP client/server already been started */
  89. TCPIP_ADAPTER_DHCP_STOPPED, /**< DHCP client/server already been stopped */
  90. TCPIP_ADAPTER_DHCP_STATUS_MAX
  91. } tcpip_adapter_dhcp_status_t;
  92. struct udp_pcb {
  93. uint8_t dummy;
  94. };
  95. struct ip4_addr {
  96. uint32_t addr;
  97. };
  98. typedef struct ip4_addr ip4_addr_t;
  99. struct ip6_addr {
  100. uint32_t addr[4];
  101. };
  102. typedef struct ip6_addr ip6_addr_t;
  103. typedef struct {
  104. ip4_addr_t ip;
  105. ip4_addr_t netmask;
  106. ip4_addr_t gw;
  107. } tcpip_adapter_ip_info_t;
  108. typedef enum {
  109. TCPIP_ADAPTER_IF_STA = 0, /**< ESP32 station interface */
  110. TCPIP_ADAPTER_IF_AP, /**< ESP32 soft-AP interface */
  111. TCPIP_ADAPTER_IF_ETH, /**< ESP32 ethernet interface */
  112. TCPIP_ADAPTER_IF_MAX
  113. } tcpip_adapter_if_t;
  114. typedef struct {
  115. ip6_addr_t ip;
  116. } tcpip_adapter_ip6_info_t;
  117. typedef void* system_event_t;
  118. struct pbuf {
  119. struct pbuf *next;
  120. void *payload;
  121. uint16_t tot_len;
  122. uint16_t len;
  123. uint8_t /*pbuf_type*/ type;
  124. uint8_t flags;
  125. uint16_t ref;
  126. };
  127. uint32_t xTaskGetTickCount(void);
  128. typedef void (*esp_timer_cb_t)(void* arg);
  129. // Queue mock
  130. QueueHandle_t xQueueCreate( uint32_t uxQueueLength,
  131. uint32_t uxItemSize );
  132. void vQueueDelete( QueueHandle_t xQueue );
  133. uint32_t xQueueSend(QueueHandle_t xQueue, const void * pvItemToQueue, TickType_t xTicksToWait);
  134. uint32_t xQueueReceive(QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait);
  135. void GetLastItem(void *pvBuffer);
  136. void ForceTaskDelete(void);
  137. esp_err_t esp_event_handler_register(const char * event_base, int32_t event_id, void* event_handler, void* event_handler_arg);
  138. esp_err_t esp_event_handler_unregister(const char * event_base, int32_t event_id, void* event_handler);
  139. TaskHandle_t xTaskGetCurrentTaskHandle(void);
  140. void xTaskNotifyGive(TaskHandle_t task);
  141. BaseType_t xTaskNotifyWait(uint32_t bits_entry_clear, uint32_t bits_exit_clear, uint32_t *value, TickType_t wait_time );
  142. #endif //_ESP32_COMPAT_H_