Fix MacOS X compiler issues

This commit is contained in:
fvanroie 2021-08-05 23:47:50 +02:00
parent 20c54f7801
commit e01ddcb8ad
2 changed files with 41 additions and 0 deletions

View File

@ -5,7 +5,14 @@
#include <cstdint>
#include <sys/utsname.h>
#ifndef TARGET_OS_MAC
#include <sys/sysinfo.h> // uptime
#else
#include <chrono> // for all examples :)
#include <time.h>
#include <errno.h>
#include <sys/sysctl.h>
#endif
#include "hasp_posix.h"
@ -139,16 +146,24 @@ void PosixDevice::update_backlight()
size_t PosixDevice::get_free_max_block()
{
#ifndef TARGET_OS_MAC
struct sysinfo s_info;
if(sysinfo(&s_info) < 0) return 0;
return s_info.freeram;
#else
return 0;
#endif
}
size_t PosixDevice::get_free_heap(void)
{
#ifndef TARGET_OS_MAC
struct sysinfo s_info;
if(sysinfo(&s_info) < 0) return 0;
return s_info.freeram;
#else
return 0;
#endif
}
uint8_t PosixDevice::get_heap_fragmentation()
@ -166,12 +181,32 @@ bool PosixDevice::is_system_pin(uint8_t pin)
return false;
}
#ifndef TARGET_OS_MAC
long PosixDevice::get_uptime()
{
struct sysinfo s_info;
if(sysinfo(&s_info) < 0) return 0;
return s_info.uptime;
}
#else
long PosixDevice::get_uptime()
{
using namespace std::chrono;
timeval ts;
auto ts_len = sizeof(ts);
int mib[2] = {CTL_KERN, KERN_BOOTTIME};
auto constexpr mib_len = sizeof(mib) / sizeof(mib[0]);
std::chrono::seconds sec;
if(sysctl(mib, mib_len, &ts, &ts_len, nullptr, 0) == 0) {
system_clock::time_point boot{seconds{ts.tv_sec} + microseconds{ts.tv_usec}};
sec = duration_cast<seconds>(system_clock::now() - boot);
} else {
sec = 0s;
}
return (long)sec.count();
}
#endif
} // namespace dev

View File

@ -29,6 +29,10 @@ build_flags =
-D HASP_USE_GPIO=1
-D HASP_USE_CONFIG=0 ; Standalone application, as library
-D HASP_USE_DEBUG=1
-D HASP_USE_PNGDECODE=1
-D HASP_USE_BMPDECODE=0
-D HASP_USE_GIFDECODE=0
-D HASP_USE_JPGDECODE=0
-D HASP_USE_MQTT=1
-D MQTT_MAX_PACKET_SIZE=2048
-D HASP_ATTRIBUTE_FAST_MEM=
@ -66,6 +70,7 @@ lib_deps =
https://github.com/eclipse/paho.mqtt.c.git
bblanchon/ArduinoJson@^6.17.2 ; Json(l) parser
https://github.com/fvanroie/lv_drivers
git+https://github.com/lvgl/lv_lib_png.git#release/v7
lib_ignore =
paho
@ -78,6 +83,7 @@ src_filter =
+<../hal/sdl2>
+<../.pio/libdeps/darwin_sdl_64bits/paho/src/*.c>
+<../.pio/libdeps/darwin_sdl_64bits/paho/src/MQTTClient.c>
+<../.pio/libdeps/darwin_sdl_64bits/paho/src/MQTTClient.h>
-<../.pio/libdeps/darwin_sdl_64bits/paho/src/MQTTAsync.c>
-<../.pio/libdeps/darwin_sdl_64bits/paho/src/MQTTAsyncUtils.c>
-<../.pio/libdeps/darwin_sdl_64bits/paho/src/MQTTVersion.c>