diff --git a/Sming/Libraries/RF24/RF24.cpp b/Sming/Libraries/RF24/RF24.cpp index 33fedf9e95..cbd086f897 100644 --- a/Sming/Libraries/RF24/RF24.cpp +++ b/Sming/Libraries/RF24/RF24.cpp @@ -5,7 +5,7 @@ modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ - +#include "Arduino.h" #include "nRF24L01.h" #include "RF24_config.h" #include "RF24.h" diff --git a/Sming/Services/DateTime/DateTime.cpp b/Sming/Services/DateTime/DateTime.cpp index 8c3df4b833..337b96fe03 100644 --- a/Sming/Services/DateTime/DateTime.cpp +++ b/Sming/Services/DateTime/DateTime.cpp @@ -8,7 +8,6 @@ */ #include "DateTime.h" -#include #include #include diff --git a/Sming/SmingCore/ArduinoCompat.h b/Sming/SmingCore/ArduinoCompat.h index 02ce660e25..9c5b3917a0 100644 --- a/Sming/SmingCore/ArduinoCompat.h +++ b/Sming/SmingCore/ArduinoCompat.h @@ -19,11 +19,30 @@ extern "C" { #endif +#define abs(x) ((x)>0?(x):-(x)) +#ifndef min +#define min(a,b) ((a)<(b)?(a):(b)) +#endif +#ifndef max +#define max(a,b) ((a)>(b)?(a):(b)) +#endif +#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) + void yield(); #ifdef __cplusplus } #endif +#define abs(x) ((x)>0?(x):-(x)) +#ifndef min +#define min(a,b) ((a)<(b)?(a):(b)) +#endif +#ifndef max +#define max(a,b) ((a)>(b)?(a):(b)) +#endif +#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) + + #endif /* SMINGCORE_ARDUINOCOMPAT_H_ */ diff --git a/Sming/SmingCore/DataSourceStream.cpp b/Sming/SmingCore/DataSourceStream.cpp index 23f68bbb0a..0ea9b884e3 100644 --- a/Sming/SmingCore/DataSourceStream.cpp +++ b/Sming/SmingCore/DataSourceStream.cpp @@ -5,7 +5,9 @@ * All files of the Sming Core are provided under the LGPL v3 license. ****/ +#include #include "../SmingCore/DataSourceStream.h" +#include int IDataSourceStream::read() { @@ -91,7 +93,7 @@ size_t MemoryDataStream::write(const uint8_t* data, size_t len) uint16_t MemoryDataStream::readMemoryBlock(char* data, int bufSize) { - int available = min(size - (pos - buf), bufSize); + int available = std::min(size - (pos - buf), bufSize); memcpy(data, pos, available); return available; } @@ -154,7 +156,7 @@ FileStream::~FileStream() uint16_t FileStream::readMemoryBlock(char* data, int bufSize) { - int len = min(bufSize, size - pos); + int len = std::min(bufSize, size - pos); int available = fileRead(handle, data, len); fileSeek(handle, pos, eSO_FileStart); // Don't move cursor now (waiting seek) if(available < 0) { @@ -250,7 +252,7 @@ uint16_t TemplateFileStream::readMemoryBlock(char* data, int bufSize) debug_d("var %s not found", varName.c_str()); state = eTES_Wait; int len = FileStream::readMemoryBlock(data, bufSize); - return min(len, skipBlockSize); + return std::min(len, skipBlockSize); } } else if (state == eTES_SendingVar) diff --git a/Sming/SmingCore/Network/Http/HttpRequest.cpp b/Sming/SmingCore/Network/Http/HttpRequest.cpp index cbf99a865b..1426b914e4 100644 --- a/Sming/SmingCore/Network/Http/HttpRequest.cpp +++ b/Sming/SmingCore/Network/Http/HttpRequest.cpp @@ -10,8 +10,11 @@ * All files of the Sming Core are provided under the LGPL v3 license. ****/ +#include #include "HttpRequest.h" +#include + HttpRequest::HttpRequest(const URL& uri) { this->uri = uri; } @@ -159,7 +162,7 @@ String HttpRequest::getBody() char buf[1024]; while(stream->available() > 0) { int available = memory->readMemoryBlock(buf, 1024); - memory->seek(max(available, 0)); + memory->seek(std::max(available, 0)); ret += String(buf, available); if(available < 1024) { break; diff --git a/Sming/SmingCore/Network/Http/Stream/HttpChunkedStream.cpp b/Sming/SmingCore/Network/Http/Stream/HttpChunkedStream.cpp index cd29889270..eb191b3ddc 100644 --- a/Sming/SmingCore/Network/Http/Stream/HttpChunkedStream.cpp +++ b/Sming/SmingCore/Network/Http/Stream/HttpChunkedStream.cpp @@ -1,5 +1,8 @@ +#include #include "HttpChunkedStream.h" +#include + HttpChunkedStream::HttpChunkedStream(ReadWriteStream *stream) { this->stream = stream; @@ -43,7 +46,7 @@ uint16_t HttpChunkedStream::readMemoryBlock(char* data, int bufSize) int len = readSize; char buffer[len]; len = stream->readMemoryBlock(buffer, len); - stream->seek(max(len, 0)); + stream->seek(std::max(len, 0)); if(len < 1) { return 0; } diff --git a/Sming/SmingCore/Network/MqttClient.cpp b/Sming/SmingCore/Network/MqttClient.cpp index 4a05259f6d..60b9bdcc3a 100644 --- a/Sming/SmingCore/Network/MqttClient.cpp +++ b/Sming/SmingCore/Network/MqttClient.cpp @@ -47,7 +47,7 @@ void MqttClient::setPingRepeatTime(int seconds) { if (PingRepeatTime > keepAlive) PingRepeatTime = keepAlive; - else + else PingRepeatTime = seconds; } @@ -239,7 +239,7 @@ err_t MqttClient::onReceive(pbuf *buf) continue; } - int available = min(waitingSize, buf->tot_len - received); + int available = std::min(waitingSize, buf->tot_len - received); waitingSize -= available; if (current != NULL) { diff --git a/Sming/SmingCore/Network/TcpConnection.cpp b/Sming/SmingCore/Network/TcpConnection.cpp index e2d27829b8..1530fa63d7 100644 --- a/Sming/SmingCore/Network/TcpConnection.cpp +++ b/Sming/SmingCore/Network/TcpConnection.cpp @@ -5,6 +5,7 @@ * All files of the Sming Core are provided under the LGPL v3 license. ****/ +#include #include "TcpConnection.h" #include "../../SmingCore/DataSourceStream.h" @@ -13,6 +14,8 @@ #include "../Wiring/WString.h" #include "../Wiring/IPAddress.h" +#include + TcpConnection::TcpConnection(bool autoDestruct) : autoSelfDestruct(autoDestruct), sleep(0), canSend(true), timeOut(70) { @@ -265,7 +268,7 @@ int TcpConnection::write(IDataSourceStream* stream) do { pushCount++; - int read = min(NETWORK_SEND_BUFFER_SIZE, getAvailableWriteSize()); + int read = std::min((uint16_t)NETWORK_SEND_BUFFER_SIZE, getAvailableWriteSize()); if (read > 0) available = stream->readMemoryBlock(buffer, read); else @@ -275,7 +278,7 @@ int TcpConnection::write(IDataSourceStream* stream) { int written = write(buffer, available, TCP_WRITE_FLAG_COPY | TCP_WRITE_FLAG_MORE); total += written; - stream->seek(max(written, 0)); + stream->seek(std::max(written, 0)); debug_d("Written: %d, Available: %d, isFinished: %d, PushCount: %d [TcpBuf: %d]", written, available, (stream->isFinished()?1:0), pushCount, tcp_sndbuf(tcp)); repeat = written == available && !stream->isFinished() && pushCount < 25; } diff --git a/Sming/SmingCore/SPI.cpp b/Sming/SmingCore/SPI.cpp index 48b75efd01..3d97c7c606 100644 --- a/Sming/SmingCore/SPI.cpp +++ b/Sming/SmingCore/SPI.cpp @@ -197,7 +197,7 @@ void SPIClass::transfer(uint8 *buffer, size_t numberBytes) { while (blocks--) { // get full BLOCKSIZE or number of remaining bytes - bufLenght = min(numberBytes-bufIndx, (unsigned int)BLOCKSIZE); + bufLenght = std::min(numberBytes-bufIndx, (unsigned int)BLOCKSIZE); #ifdef SPI_DEBUG debugf("Write/Read Block %d total %d bytes", total-blocks, bufLenght); @@ -453,7 +453,7 @@ void SPIClass::setFrequency(int freq) { return; } - freq = min(freq, _CPU_freq/2); + freq = std::min(freq, _CPU_freq/2); _SPISettings._speed = freq; diff --git a/Sming/SmingCore/SmingCore.h b/Sming/SmingCore/SmingCore.h index 7e48c8b663..5c27fadeab 100644 --- a/Sming/SmingCore/SmingCore.h +++ b/Sming/SmingCore/SmingCore.h @@ -12,9 +12,6 @@ #include -#define min(A, B) std::min(A, B) -#define max(A, B) std::max(A, B) - #include "../Wiring/WiringFrameworkIncludes.h" #include "Delegate.h" diff --git a/Sming/SmingCore/Timer.cpp b/Sming/SmingCore/Timer.cpp index 2e6ac3690b..5fd2041a2b 100644 --- a/Sming/SmingCore/Timer.cpp +++ b/Sming/SmingCore/Timer.cpp @@ -44,6 +44,20 @@ Timer& Timer::initializeUs(uint32_t microseconds, TimerDelegate delegateFunction return *this; } +Timer& Timer::initializeMs(uint32_t milliseconds, TimerDelegateStdFunction delegateFunction) +{ + setCallback(delegateFunction); + setIntervalMs(milliseconds); + return *this; +} + +Timer& Timer::initializeUs(uint32_t microseconds, TimerDelegateStdFunction delegateFunction) +{ + setCallback(delegateFunction); + setIntervalUs(microseconds); + return *this; +} + void Timer::start(bool repeating/* = true*/) { this->repeating = repeating; @@ -135,6 +149,7 @@ void Timer::setCallback(InterruptCallback interrupt/* = NULL*/) ETS_INTR_LOCK(); callback = interrupt; delegate_func = nullptr; + delegate_stdfunc = nullptr; ETS_INTR_UNLOCK(); if (!interrupt) @@ -146,6 +161,19 @@ void Timer::setCallback(TimerDelegate delegateFunction) ETS_INTR_LOCK(); callback = nullptr; delegate_func = delegateFunction; + delegate_stdfunc = nullptr; + ETS_INTR_UNLOCK(); + + if (!delegateFunction) + stop(); +} + +void Timer::setCallback(const TimerDelegateStdFunction& delegateFunction) +{ + ETS_INTR_LOCK(); + callback = nullptr; + delegate_func = nullptr; + delegate_stdfunc = delegateFunction; ETS_INTR_UNLOCK(); if (!delegateFunction) @@ -197,6 +225,10 @@ void Timer::tick() { delegate_func(); } + else if (delegate_stdfunc) + { + delegate_stdfunc(); + } else{ stop(); } diff --git a/Sming/SmingCore/Timer.h b/Sming/SmingCore/Timer.h index 247c5ef6cb..7504f4a37a 100644 --- a/Sming/SmingCore/Timer.h +++ b/Sming/SmingCore/Timer.h @@ -11,7 +11,7 @@ #ifndef _SMING_CORE_Timer_H_ #define _SMING_CORE_Timer_H_ - +#include #include "../SmingCore/Interrupts.h" #include "../SmingCore/Delegate.h" #include "../Wiring/WiringFrameworkDependencies.h" @@ -25,6 +25,7 @@ #define MAX_OS_TIMER_INTERVAL_US 268435000 typedef Delegate TimerDelegate; +typedef std::function TimerDelegateStdFunction; class Timer { @@ -59,6 +60,7 @@ class Timer * @param milliseconds Duration of timer in milliseconds * @param delegateFunction Function to call when timer triggers * @note Delegate callback method + * @deprecated Use initializeMs(xx, TimerDelegateStdFunction); instead. */ Timer& IRAM_ATTR initializeMs(uint32_t milliseconds, TimerDelegate delegateFunction = NULL); // Init in Milliseconds. @@ -66,9 +68,23 @@ class Timer * @param microseconds Duration of timer in milliseconds * @param delegateFunction Function to call when timer triggers * @note Delegate callback method + * @deprecated Use initializeMs(xx, TimerDelegateStdFunction); instead. */ Timer& IRAM_ATTR initializeUs(uint32_t microseconds, TimerDelegate delegateFunction = NULL); // Init in Microseconds. + /** @brief Initialise millisecond timer + * @param milliseconds Duration of timer in milliseconds + * @param delegateFunction Function to call when timer triggers + * @note Delegate callback method + */ + Timer& IRAM_ATTR initializeMs(uint32_t milliseconds, TimerDelegateStdFunction delegateFunction = nullptr); // Init in Milliseconds. + + /** @brief Initialise microsecond timer + * @param microseconds Duration of timer in milliseconds + * @param delegateFunction Function to call when timer triggers + * @note Delegate callback method + */ + Timer& IRAM_ATTR initializeUs(uint32_t microseconds, TimerDelegateStdFunction delegateFunction = nullptr); // Init in Microseconds. /** @brief Start timer running * @param repeating Set to true for repeating timer. Set to false for one-shot. */ @@ -120,11 +136,16 @@ class Timer */ void IRAM_ATTR setCallback(InterruptCallback interrupt = NULL); - /** @brief Set timer trigger function - * @param delegateFunction Function to be called on timer trigger - * @note Delegate callback method - */ - void IRAM_ATTR setCallback(TimerDelegate delegateFunction); + /** @brief Set timer trigger function + * @param delegateFunction Function to be called on timer trigger + * @note Delegate callback method + */ + void IRAM_ATTR setCallback(TimerDelegate delegateFunction); + /** @brief Set timer trigger function + * @param delegateFunction Function to be called on timer trigger + * @note Delegate callback method + */ + void IRAM_ATTR setCallback(const TimerDelegateStdFunction& delegateFunction); protected: @@ -142,6 +163,7 @@ class Timer uint64_t interval = 0; InterruptCallback callback = nullptr; TimerDelegate delegate_func = nullptr; + TimerDelegateStdFunction delegate_stdfunc = nullptr; bool repeating = false; bool started = false; diff --git a/Sming/Wiring/WConstants.h b/Sming/Wiring/WConstants.h index 30d6936283..4e461f9caf 100644 --- a/Sming/Wiring/WConstants.h +++ b/Sming/Wiring/WConstants.h @@ -114,12 +114,12 @@ #define sq(x) ((x)*(x)) //#define abs(x) ((x)>0?(x):-(x)) -#ifndef min -#define min(a,b) ((a)<(b)?(a):(b)) -#endif -#ifndef max -#define max(a,b) ((a)>(b)?(a):(b)) -#endif +//#ifndef min +//#define min(a,b) ((a)<(b)?(a):(b)) +//#endif +//#ifndef max +//#define max(a,b) ((a)>(b)?(a):(b)) +//#endif //#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) #define radians(deg) ((deg)*DEG_TO_RAD) #define degrees(rad) ((rad)*RAD_TO_DEG) diff --git a/Sming/third-party/.patches/pwm.patch b/Sming/third-party/.patches/pwm.patch index bd2b382c65..26fb1037ad 100644 --- a/Sming/third-party/.patches/pwm.patch +++ b/Sming/third-party/.patches/pwm.patch @@ -1,5 +1,5 @@ diff --git a/pwm.c b/pwm.c -index 5e7f218..0386a06 100644 +index 6df21ac..d039908 100644 --- a/pwm.c +++ b/pwm.c @@ -16,6 +16,8 @@ @@ -11,12 +11,14 @@ index 5e7f218..0386a06 100644 /* Set the following three defines to your needs */ #ifndef SDK_PWM_PERIOD_COMPAT_MODE -@@ -109,7 +111,7 @@ struct timer_regs { +@@ -109,8 +111,8 @@ struct timer_regs { }; - static struct timer_regs* timer = (void*)(0x60000600); + static struct timer_regs* timer = (struct timer_regs*)(0x60000600); --static void pwm_intr_handler(void) -+static void pwm_intr_handler(void* param) +-static void ICACHE_RAM_ATTR +-pwm_intr_handler(void) ++static void IRAM_ATTR ++pwm_intr_handler(void* param) { if ((pwm_state.current_set[pwm_state.current_phase].off_mask == 0) && (pwm_state.current_set[pwm_state.current_phase].on_mask == 0)) { diff --git a/Sming/third-party/pwm b/Sming/third-party/pwm index e1c1d0fc59..19cb69e9ce 160000 --- a/Sming/third-party/pwm +++ b/Sming/third-party/pwm @@ -1 +1 @@ -Subproject commit e1c1d0fc59941bbbf45d520f04c953b97450ead0 +Subproject commit 19cb69e9ce5071686d0e2a28962fd06e11d03a61 diff --git a/samples/Basic_APA102/.cproject b/samples/Basic_APA102/.cproject new file mode 100644 index 0000000000..e1450b6031 --- /dev/null +++ b/samples/Basic_APA102/.cproject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + -f ${ProjDirPath}/Makefile + all + true + true + true + + + make + -f ${ProjDirPath}/Makefile + clean + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flash + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashonefile + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashinit + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashboot + true + true + true + + + make + -f ${ProjDirPath}/Makefile + rebuild + true + true + true + + + + + + + + + + + + + + + + + + + + diff --git a/samples/Basic_APA102/.project b/samples/Basic_APA102/.project new file mode 100644 index 0000000000..97036b7c8e --- /dev/null +++ b/samples/Basic_APA102/.project @@ -0,0 +1,28 @@ + + + Basic_APA102 + + + SmingFramework + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/samples/Basic_Delegates/app/application.cpp b/samples/Basic_Delegates/app/application.cpp index 95f494c427..ac0869b48a 100644 --- a/samples/Basic_Delegates/app/application.cpp +++ b/samples/Basic_Delegates/app/application.cpp @@ -1,45 +1,125 @@ #include #include -class LedBlinker +void plainOldOrdinaryFunction() { + debugf("plainOldOrdinaryFunction"); +} + + +void functionWithMoreComlicatedSignature(int a, String b) +{ + debugf("functionWithMoreComlicatedSignature %d %s", a, b.c_str()); +} -public : - LedBlinker(int reqPin) : ledPin(reqPin) { - pinMode(ledPin, OUTPUT); - }; + +class Task +{ + +public: + Task() {}; bool setTimer(int reqInterval) { - if (reqInterval <= 0) return false; - ledInterval = reqInterval; + if (reqInterval <= 0) { + return false; + } + taskInterval = reqInterval; return true; } - void blink(bool reqRun) { - if (reqRun) { - ledTimer.initializeMs(ledInterval, TimerDelegate(&LedBlinker::ledBlink,this)).start(); - } - else { - ledTimer.stop(); - } + + // This example show the way delegates have been used in Sming in the past. + void blinkOldDelegate() { + taskTimer.initializeMs(taskInterval, TimerDelegate(&Task::doOldDelegate, this)).start(); } - void ledBlink () { ledState = !ledState ; digitalWrite(ledPin, ledState);} -private : - int ledPin = 2; - Timer ledTimer; - int ledInterval = 1000; - bool ledState = true; -}; + // This example shows how to use a plain old ordinary function as a callback + void callPlainOldOrdinaryFunction() { + taskTimer.initializeMs(taskInterval, TimerDelegateStdFunction(plainOldOrdinaryFunction)).start(); + // or just + // taskTimer.initializeMs(taskInterval, plainOldOrdinaryFunction).start(); + } + + + // This example shows how to use std::bind to make us of a function that has more parameters than our signature has + void showHowToUseBind() { + auto b = std::bind(functionWithMoreComlicatedSignature, 2, "parameters"); + taskTimer.initializeMs(taskInterval, b).start(); + } + + // Sming now allows the use of std::function + // This example shows how to use a lamda expression as a callback + void callLamda() { + int foo = 123; + taskTimer.initializeMs(taskInterval, + [foo] // capture just foo by value (Note it would be bad to pass by reference as foo would be out of scope when the lamda function runs later) + () // No parameters to the callback + -> void // Returns nothing + { + if (foo == 123) { + debugf("lamda Callback foo is 123"); + } + else + { + debugf("lamda Callback foo is not 123, crikey!"); + } + }) + .start(); + } -#define LEDPIN_1 2 // GPIO2 -#define LEDPIN_2 4 // GPIO4 -LedBlinker myLed1 = LedBlinker(LEDPIN_1); -LedBlinker myLed2 = LedBlinker(LEDPIN_2); + + // This example shows how to use a member function as a callback + void callMemberFunction() { + + // A non-static member function must be called with an object. + // That is, it always implicitly passes "this" pointer as its argument. + // But because our callback specifies that we don't take any arguments (), + // you must use std::bind to bind the first (and the only) argument. + + TimerDelegateStdFunction b = std::bind(&Task::callbackMemberFunction, this); + taskTimer.initializeMs(taskInterval, b).start(); + } + + void doOldDelegate() + { + debugf("doOldDelegate"); + } + void callbackMemberFunction() + { + debugf("callMemberFunction"); + } + + +private: + Timer taskTimer; + int taskInterval = 1000; + +}; + +Task task1; +Task task2; +Task task3; +Task task4; +Task task5; void init() { - myLed1.setTimer(1000); - myLed1.blink(true); - myLed2.setTimer(500); - myLed2.blink(true); + WifiStation.enable(false); + WifiAccessPoint.enable(false); + Serial.begin(115200); + + task1.setTimer(1500); + task1.blinkOldDelegate(); + + task2.setTimer(1600); + task2.callPlainOldOrdinaryFunction(); + + task3.setTimer(1900); + task3.showHowToUseBind(); + + task4.setTimer(1700); + task4.callMemberFunction(); + + task5.setTimer(1800); + task5.callLamda(); + } diff --git a/samples/Basic_Ssl/.cproject b/samples/Basic_Ssl/.cproject new file mode 100644 index 0000000000..e1450b6031 --- /dev/null +++ b/samples/Basic_Ssl/.cproject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + -f ${ProjDirPath}/Makefile + all + true + true + true + + + make + -f ${ProjDirPath}/Makefile + clean + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flash + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashonefile + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashinit + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashboot + true + true + true + + + make + -f ${ProjDirPath}/Makefile + rebuild + true + true + true + + + + + + + + + + + + + + + + + + + + diff --git a/samples/Gesture_APDS-9960/.cproject b/samples/Gesture_APDS-9960/.cproject new file mode 100644 index 0000000000..e1450b6031 --- /dev/null +++ b/samples/Gesture_APDS-9960/.cproject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + -f ${ProjDirPath}/Makefile + all + true + true + true + + + make + -f ${ProjDirPath}/Makefile + clean + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flash + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashonefile + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashinit + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashboot + true + true + true + + + make + -f ${ProjDirPath}/Makefile + rebuild + true + true + true + + + + + + + + + + + + + + + + + + + + diff --git a/samples/Gesture_APDS-9960/.project b/samples/Gesture_APDS-9960/.project new file mode 100644 index 0000000000..0784e87605 --- /dev/null +++ b/samples/Gesture_APDS-9960/.project @@ -0,0 +1,28 @@ + + + Gesture_APDS-9960 + + + SmingFramework + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/samples/IR_lib/.cproject b/samples/IR_lib/.cproject new file mode 100644 index 0000000000..e1450b6031 --- /dev/null +++ b/samples/IR_lib/.cproject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + -f ${ProjDirPath}/Makefile + all + true + true + true + + + make + -f ${ProjDirPath}/Makefile + clean + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flash + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashonefile + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashinit + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashboot + true + true + true + + + make + -f ${ProjDirPath}/Makefile + rebuild + true + true + true + + + + + + + + + + + + + + + + + + + + diff --git a/samples/IR_lib/.project b/samples/IR_lib/.project new file mode 100644 index 0000000000..27f9d0781b --- /dev/null +++ b/samples/IR_lib/.project @@ -0,0 +1,28 @@ + + + IR_lib + + + SmingFramework + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/samples/ScreenTFT_ST7735/.cproject b/samples/ScreenTFT_ST7735/.cproject new file mode 100644 index 0000000000..e1450b6031 --- /dev/null +++ b/samples/ScreenTFT_ST7735/.cproject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + -f ${ProjDirPath}/Makefile + all + true + true + true + + + make + -f ${ProjDirPath}/Makefile + clean + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flash + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashonefile + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashinit + true + true + true + + + make + -f ${ProjDirPath}/Makefile + flashboot + true + true + true + + + make + -f ${ProjDirPath}/Makefile + rebuild + true + true + true + + + + + + + + + + + + + + + + + + + + diff --git a/samples/ScreenTFT_ST7735/.project b/samples/ScreenTFT_ST7735/.project new file mode 100644 index 0000000000..4a2668bcb8 --- /dev/null +++ b/samples/ScreenTFT_ST7735/.project @@ -0,0 +1,28 @@ + + + ScreenTFT_ST7735 + + + SmingFramework + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + +