mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-05-24 02:28:21 +08:00

Commit ID: 13018449 Add global "mqtt" to manage both "ESP-MQTT" and "IBM-MQTT". Using select the target MQTT to using like selecting SSL.
42 lines
970 B
C
42 lines
970 B
C
#include "platform.h"
|
|
|
|
#ifdef ESP_PLATFORM
|
|
#include "esp_system.h"
|
|
#include "esp_log.h"
|
|
#include <sys/time.h>
|
|
|
|
static const char *TAG = "PLATFORM";
|
|
|
|
#define MAX_ID_STRING (32)
|
|
|
|
char *platform_create_id_string()
|
|
{
|
|
uint8_t mac[6];
|
|
char *id_string = calloc(1, MAX_ID_STRING);
|
|
ESP_MEM_CHECK(TAG, id_string, return NULL);
|
|
esp_read_mac(mac, ESP_MAC_WIFI_STA);
|
|
sprintf(id_string, "ESP32_%02x%02X%02X", mac[3], mac[4], mac[5]);
|
|
return id_string;
|
|
}
|
|
|
|
int platform_random(int max)
|
|
{
|
|
return esp_random()%max;
|
|
}
|
|
|
|
long long platform_tick_get_ms()
|
|
{
|
|
struct timeval te;
|
|
gettimeofday(&te, NULL); // get current time
|
|
long long milliseconds = te.tv_sec*1000LL + te.tv_usec/1000; // calculate milliseconds
|
|
// printf("milliseconds: %lld\n", milliseconds);
|
|
return milliseconds;
|
|
}
|
|
|
|
void ms_to_timeval(int timeout_ms, struct timeval *tv)
|
|
{
|
|
tv->tv_sec = timeout_ms / 1000;
|
|
tv->tv_usec = (timeout_ms - (tv->tv_sec * 1000)) * 1000;
|
|
}
|
|
#endif
|