Most recent activity
- 3 comments
- 2,175 views
If I include my script with
SOURCES+= [path to .c file]
first and call it from the wrapper, it loads the included files (like freertos/FreeRTOS.h) correctly.
But If I try to use CCSOURCES (for cc files, because I am using c++) or SOURCES as well, I cannot include anything there. The "external C" command also not work.
It looks like I cannot include the .c sources in .cc (c++).
I need the freeRTOS library for my custom firmware extension. The library is already included as an esp-idf component. How can I refer to it? If I simple use:
include " ../../esp-idf/components/freertos/include/freertos/FreeRTOS.h"
the other #includes (from the FreeRTOS.h) break. Obviously it is because the includes root is in my lib folder. Moreover, #include doesn't work either.
My second problems is: If I write my library in c++ (.cc) I also cannot import jspin.h, jsvar.h .... The script doesn't find the files (as a .c script it does).
I would appreciate some help.
- 2 comments
- 1,718 views
I am trying to include my own code in the espruino firmware. My code is partly written in c++. But if I try to build it, it failed:
Espruino/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/c++0x_warning.h:32:2: error: error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
I tried several ways to set the -std=c++ flag in the Makefile, but I couldn't resolve it.
(If I mixed something up, I apologize, C is not my native language 😅)
- 5 comments
- 2,253 views
I am sorry. I understand the "Share what you're working on!" a bit like "I need some help with my project".
The existing official espruino boards dont fit my needs (ble and wifi), and therefor the only board I can use is the ESP32.
I thought I could "easily" adapt the smartmatrix library to espruino (save some time), but mabe you are right and I have to dig deeper.
Yes I will
My project: I want to use a 64x64 Led matrix on my esp32. I previously used the smartmatrix libray (https://github.com/pixelmatix/SmartMatrix) with the arduino bootloader. This worked fine. Because of the other parts of my project I switched to Espruino. Currently there is no support for 64x64 Hub75e led matrix by the graphics library of espruino.
I came accross the tutorial to extend the espruino firmware with own c code (https://www.espruino.com/Extending+Espruino+1). I had the idea to include the awesome smartmatrix library to the espruino firmware. Following this tutorial I added my own library to the build (libs/smartmatrix) and include the "SmartMatrix3.c" (inside jswrap_smartmatrix.c) from there. I also added the library to the makefile of the firmware to include it in the build:
Line 576-580 in the Makefile:
DEFINES += -DSMARTMATRIX INCLUDE += -I$(ROOT)/libs/smartmatrix WRAPPERSOURCES += libs/smartmatrix/jswrap_smartmatrix.c
I also managed to include the Arduino.h and pins_arduino.h (smartmatrix uses it)
But If I want to build the firmware with:
source scripts/provision.sh ESP32 make clean && BOARD=ESP32 SMARTMATRIX=1 make
The Build fails! (see Make_output.txt and MatrixCommon.h)
After some research I found out that the MatrixCommon.h maybe get compiled in C not C++. But how can I tell the make command to compile it in c++ ?
You can download the whole output text and project: https://drive.google.com/open?id=1vbG4zvenzEVJQdQchtOwsvJmBxBOPwYP
I dont know If someone understand my problem. Please share your thougts.
Does anybody have an idea ?