mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +00:00
Fix MacOS X compiler issues
This commit is contained in:
parent
20c54f7801
commit
e01ddcb8ad
@ -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
|
||||
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user