Skip to content

Commit b94da07

Browse files
committed
Fix common header multiple implementation for Arduino
Fix ESP-IDF compilation error in debugger.cpp
1 parent 53afb4d commit b94da07

File tree

8 files changed

+14
-15
lines changed

8 files changed

+14
-15
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if (BUILD_EMULATOR)
3434
src/Utils/macros.cpp
3535
src/WARDuino/WARDuino.cpp
3636
src/WARDuino/CallbackHandler.cpp
37-
src/Primitives/primitives.h
37+
src/Primitives/emulated.cpp
3838
src/Interpreter/instructions.cpp
3939
)
4040
set(TEST_FRAMEWORK

examples/assemblyscript/main/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(SOURCE_FILES
55
../../../src/Debug/debugger.cpp
66
../../../src/Utils/macros.cpp
77
../../../src/WARDuino/WARDuino.cpp
8-
../../../src/Primitives/primitives.h
8+
../../../src/Primitives/emulated.cpp
99
../../../src/Interpreter/instructions.cpp
1010
../../../src/WARDuino/CallbackHandler.cpp
1111
)

examples/blink/main/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(SOURCE_FILES
55
../../../src/Debug/debugger.cpp
66
../../../src/Utils/macros.cpp
77
../../../src/WARDuino/WARDuino.cpp
8-
../../../src/Primitives/primitives.h
8+
../../../src/Primitives/emulated.cpp
99
../../../src/Interpreter/instructions.cpp
1010
../../../src/WARDuino/CallbackHandler.cpp
1111
)

platforms/ESP-IDF/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(SOURCE_FILES
55
../../src/Debug/debugger.cpp
66
../../src/Utils/macros.cpp
77
../../src/WARDuino/WARDuino.cpp
8-
../../src/Primitives/primitives.h
8+
../../src/Primitives/emulated.cpp
99
../../src/Interpreter/instructions.cpp
1010
../../src/WARDuino/CallbackHandler.cpp
1111
)

src/Debug/debugger.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ void Debugger::dumpLocals(Module *m) const {
357357
dprintf(this->socket, R"({"count":%u,"locals":[)", 0);
358358
// fflush(stdout); // FIXME: this is needed for ESP to propery print
359359
char _value_str[256];
360-
for (size_t i = 0; i < f->block->local_count; i++) {
360+
for (uint32_t i = 0; i < f->block->local_count; i++) {
361361
auto v = &m->stack[m->fp + i];
362362
switch (v->value_type) {
363363
case I32:
@@ -382,7 +382,7 @@ void Debugger::dumpLocals(Module *m) const {
382382
v->value_type, v->value.uint64);
383383
}
384384

385-
dprintf(this->socket, "{%s, \"index\":%lu}%s", _value_str,
385+
dprintf(this->socket, "{%s, \"index\":%u}%s", _value_str,
386386
i + f->block->type->param_count,
387387
(i + 1 < f->block->local_count) ? "," : "");
388388
}

src/Primitives/emulated.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#ifndef ARDUINO
2+
13
/**
24
* This file lists the primitives of the language and stores them in the
35
* primitives
@@ -20,6 +22,7 @@
2022
#include "../Memory/mem.h"
2123
#include "../Utils/macros.h"
2224
#include "../Utils/util.h"
25+
#include "primitives.h"
2326

2427
#define NUM_PRIMITIVES 0
2528
#define NUM_PRIMITIVES_ARDUINO 23
@@ -485,3 +488,5 @@ bool resolve_external_memory(char *symbol, Memory **val) {
485488
FATAL("Could not find memory %s \n", symbol);
486489
return false;
487490
}
491+
492+
#endif // ARDUINO

src/Primitives/arduino.cpp renamed to src/Primitives/hardware.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
* 4) Extend the install_primitives function
1010
*
1111
*/
12-
#include "Arduino.h"
13-
1412
#include <HTTPClient.h>
1513
#include <WiFi.h>
1614
#include <sys/time.h>
@@ -22,6 +20,8 @@
2220
#include "../Memory/mem.h"
2321
#include "../Utils/macros.h"
2422
#include "../Utils/util.h"
23+
#include "Arduino.h"
24+
#include "primitives.h"
2525

2626
// NEOPIXEL
2727
#include <Adafruit_NeoPixel.h>
@@ -890,4 +890,4 @@ bool resolve_external_memory(char *symbol, Memory **val) {
890890

891891
FATAL("Could not find memory %s \n", symbol);
892892
return false;
893-
}
893+
}

src/Primitives/primitives.h

-6
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,4 @@ bool resolve_external_memory(char *symbol, Memory **val);
2626

2727
void install_primitives();
2828

29-
#ifdef Arduino
30-
#include "arduino.cpp"
31-
#else
32-
#include "emulated.cpp"
33-
#endif
34-
3529
#endif

0 commit comments

Comments
 (0)