[beken-72xx] Fix Arduino delay(), fix reading heap size

This commit is contained in:
Kuba Szczodrzyński
2022-06-20 15:27:27 +02:00
parent 53a6f4593e
commit c91b188f96
3 changed files with 15 additions and 3 deletions

View File

@@ -79,7 +79,16 @@ uint32_t LibreTuya::getRamSize() {
}
uint32_t LibreTuya::getHeapSize() {
#if configDYNAMIC_HEAP_SIZE
extern unsigned char _empty_ram;
#if CFG_SOC_NAME == SOC_BK7231N
return (0x00400000 + 192 * 1024) - (uint32_t)(&_empty_ram);
#else
return (0x00400000 + 256 * 1024) - (uint32_t)(&_empty_ram);
#endif
#else
return configTOTAL_HEAP_SIZE;
#endif
}
uint32_t LibreTuya::getFreeHeap() {

View File

@@ -9,6 +9,10 @@ extern "C" {
#include "sdk_extern.h"
#include "sdk_mem.h"
// allow BDK use its own delay() and let Arduino code use delayMilliseconds()
void delayMilliseconds(unsigned long);
#define delay delayMilliseconds
#ifdef __cplusplus
} // extern "C"
#endif

View File

@@ -4,10 +4,9 @@
#include <rtos_pub.h>
#include <sys_rtos.h>
// TODO work out this conflicting with func/misc/target_util.c
/* void delay(unsigned long ms) {
void delayMilliseconds(unsigned long ms) {
rtos_delay_milliseconds(ms);
} */
}
void delayMicroseconds(unsigned int us) {}