Compare commits
18 Commits
0978fdb7a5
...
render
Author | SHA1 | Date | |
---|---|---|---|
c9d2c05b73 | |||
c07c47385e | |||
68fd8440fc | |||
c1b4baeb2e | |||
09ea237a13 | |||
26ef097d86 | |||
9b56357770 | |||
57720e50f7 | |||
05f186188f | |||
20fd0631c6 | |||
268c270a4d | |||
9059d77b3e | |||
92c2faa858 | |||
2ee12ca042 | |||
3d5f026a94 | |||
54265d70d1 | |||
f26d9803ac | |||
a327899e11 |
8
.gitignore
vendored
@@ -53,3 +53,11 @@ compile_commands.json
|
||||
|
||||
*_qmlcache.qrc
|
||||
*.user
|
||||
test-bench/test1/ide-cubeide-test1-idf/Debug
|
||||
test-bench/test5/ide-cubeide-test5-idf/.settings/language.settings.xml
|
||||
test-bench/test1/ide-cubeide-test1-idf/.settings/language.settings.xml
|
||||
test-bench/test2/ide-cubeide-test2-idf/.settings/language.settings.xml
|
||||
test-bench/test2/ide-cubeide-test2-idf/Debug
|
||||
test-bench/test4/ide-cubeide-test4-idf/.settings/language.settings.xml
|
||||
test-bench/test3/ide-cubeide-test3-idf/.settings/language.settings.xml
|
||||
.idea
|
||||
|
BIN
UML/event.png
Normal file
After Width: | Height: | Size: 44 KiB |
55
UML/event.puml
Normal file
@@ -0,0 +1,55 @@
|
||||
@startuml
|
||||
|
||||
participant Behavior as b
|
||||
participant Dispatcher as d
|
||||
entity Event as e
|
||||
participant EventQueue as eq
|
||||
queue "EventQueue::queue_" as q
|
||||
|
||||
== Create an Event ==
|
||||
|||
|
||||
?->> b ++ : GEN
|
||||
b -> e ** : new
|
||||
b -> b --++ : pushEvent
|
||||
e -> b : getBehavior
|
||||
b --> e ++: setBehavior
|
||||
e --> b --
|
||||
b -> d ++ : getDispatcher
|
||||
d --> b
|
||||
b -> d -- : pushEvent
|
||||
d ->? -- : push
|
||||
|
||||
|
||||
|||
|
||||
|||
|
||||
== Push Event ==
|
||||
|||
|
||||
?->> d ++: pushEvent
|
||||
d -> eq--++: push
|
||||
eq -> q ++
|
||||
q --> eq
|
||||
eq -> q -- : pushEndQueue
|
||||
|
||||
|||
|
||||
|||
|
||||
== Dispatch ==
|
||||
|||
|
||||
?->> d ++: executeOnce
|
||||
d -> q : getFront
|
||||
q -> e ++
|
||||
e --> q
|
||||
q --> d : event
|
||||
d -> q : pop
|
||||
deactivate q
|
||||
d -> d --++ : dispatchEvent
|
||||
d -> b ++ : getBehavior
|
||||
b --> d
|
||||
d -> b -- : process
|
||||
b -> b--: processEvent
|
||||
|
||||
destroy e
|
||||
|
||||
|
||||
|
||||
|
||||
@enduml
|
BIN
UML/timeAlgorithme.png
Normal file
After Width: | Height: | Size: 28 KiB |
27
UML/timeAlgorithme.puml
Normal file
@@ -0,0 +1,27 @@
|
||||
@startuml
|
||||
|
||||
start
|
||||
:newTime = 0
|
||||
totalTime = 0
|
||||
isEnd = it == list.end()
|
||||
lastTime = 0;
|
||||
|
||||
#tomato:if (!isEnd) then (not end)
|
||||
#tomato:totalTime += it.getRelTicks();
|
||||
endif
|
||||
|
||||
while ( !isEnd && (totalTime <= newTime) ) is (goForward)
|
||||
:isEnd = (++it == list.end());
|
||||
:lastTime = totalTime;
|
||||
#tomato:if (!isEnd) then (not end)
|
||||
#tomato:totalTime += it.getRelTicks();
|
||||
endif
|
||||
endwhile
|
||||
|
||||
#tomato:if (!isEnd) then (not end)
|
||||
#tomato:subRelTicks(newTime- lastTime);
|
||||
endif
|
||||
:it.setRelTicks(newTime - lastTime);
|
||||
:insert(it, newTimeout);
|
||||
|
||||
@enduml
|
BIN
UML/timeout.png
Normal file
After Width: | Height: | Size: 63 KiB |
62
UML/timeout.puml
Normal file
@@ -0,0 +1,62 @@
|
||||
@startuml
|
||||
|
||||
participant "Behavior::StateMachine" as sm
|
||||
participant Dispatcher as d
|
||||
participant TimeoutManager as tm
|
||||
entity "Event::Timeout" as t
|
||||
queue "TimeoutManager::timeouts_" as timeouts
|
||||
|
||||
autoactivate off
|
||||
|||
|
||||
|||
|
||||
== Schedule timeout ==
|
||||
|||
|
||||
sm -> sm++ : scheduleTimeout
|
||||
sm -> d ++: getDispatcher
|
||||
d --> sm --: dispatcher
|
||||
sm -> d --++ : scheduleTimeout
|
||||
d -> tm ++: getTimeoutManager
|
||||
tm --> d --: timeoutManager
|
||||
d -> tm --++ : scheduleTimeout
|
||||
tm -> t ** : new
|
||||
t --> tm
|
||||
tm -> timeouts --++: insert
|
||||
|
||||
|||
|
||||
|||
|
||||
== Decrement timeout (and dispatch) ==
|
||||
|||
|
||||
loop every tickInterval
|
||||
?->> tm ++: tick
|
||||
tm -> timeouts : getFront
|
||||
timeouts -> t ++
|
||||
t --> timeouts
|
||||
timeouts --> tm : timeout
|
||||
tm -> t --: decrement
|
||||
end
|
||||
|||
|
||||
note left t
|
||||
When timeout is 0,
|
||||
dispatch event
|
||||
end note
|
||||
t -> timeouts : pop
|
||||
deactivate timeouts
|
||||
t ->? --: pushEvent
|
||||
|
||||
|||
|
||||
|||
|
||||
== Unschedule timeout ==
|
||||
|||
|
||||
sm -> sm++ : unscheduleTimeout
|
||||
sm -> d ++: getDispatcher
|
||||
d --> sm --: dispatcher
|
||||
sm -> d --++ : unscheduleTimeout
|
||||
d -> tm ++: getTimeoutManager
|
||||
tm --> d --: timeoutManager
|
||||
d -> tm --++ : unscheduleTimeout
|
||||
tm -> timeouts --: erase
|
||||
timeouts -> t !!
|
||||
|
||||
|
||||
|
||||
@enduml
|
48
readme.md
@@ -7,15 +7,19 @@
|
||||
- Demonstrate the right functioning of the XF by comparing and documenting the output created by the tests running on the *Embedded System*
|
||||
|
||||
# Time Algorithm
|
||||
``` mermaid
|
||||
flowchart TD
|
||||
A(Start)--> B[time = 0]
|
||||
B --> C{time < desireTime}
|
||||
C ---->|No| E[End]
|
||||
C -->|Yes| D[End]
|
||||
```
|
||||
|
||||
|
||||
<img src="./UML/timeAlgorithme.png">
|
||||
|
||||
# Sequence Diagrams
|
||||
## Timeout
|
||||
|
||||
<img src="./UML/timeout.png">
|
||||
|
||||
## Event
|
||||
|
||||
<img src="./UML/event.png">
|
||||
|
||||
# Tests
|
||||
## Test 1
|
||||
This test launches an instance of the Task01Tm class and produces some output. Optionally, multiple instances of Task01Tm can be created to test the XF.
|
||||
@@ -27,15 +31,15 @@ The Test Factory (TestFactory01) instantiates 2 objects:
|
||||
<details>
|
||||
<summary>QT result ✅</summary>
|
||||
|
||||

|
||||
<img src="./test-bench/test1/ide-qtcreator-test1-idf/result.PNG">
|
||||
|
||||
This test is successfully passed
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>STM result</summary>
|
||||
<summary>STM result ✅</summary>
|
||||
|
||||
img
|
||||
<img src="./test-bench/test1/ide-cubeide-test1-idf/result.png">
|
||||
|
||||
</details>
|
||||
|
||||
@@ -47,15 +51,15 @@ Weather or not the state machine should be deleted is handled with the 'deleteOn
|
||||
<details>
|
||||
<summary>QT result ✅</summary>
|
||||
|
||||

|
||||
<img src="./test-bench/test2/ide-qtcreator-test2-idf/result.PNG">
|
||||
|
||||
This test is successfully passed
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>STM result</summary>
|
||||
<summary>STM result ✅</summary>
|
||||
|
||||
img
|
||||
<img src="./test-bench/test2/ide-cubeide-test2-idf/result.png">
|
||||
|
||||
</details>
|
||||
|
||||
@@ -65,15 +69,15 @@ This test checks basic event handling in state machines. In this example the Sta
|
||||
<details>
|
||||
<summary>QT result ✅</summary>
|
||||
|
||||

|
||||
<img src="./test-bench/test3/ide-qtcreator-test3-idf/result.PNG">
|
||||
|
||||
This test is successfully passed
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>STM result</summary>
|
||||
<summary>STM result ✅</summary>
|
||||
|
||||
img
|
||||
<img src="./test-bench/test3/ide-cubeide-test3-idf/result.png">
|
||||
|
||||
</details>
|
||||
|
||||
@@ -83,15 +87,15 @@ Tests if timeouts are correctly cancelled. When leaving a state with a transitio
|
||||
<details>
|
||||
<summary>QT result ✅</summary>
|
||||
|
||||

|
||||
<img src="./test-bench/test4/ide-qtcreator-test4-idf/result.PNG">
|
||||
|
||||
This test is successfully passed
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>STM result</summary>
|
||||
<summary>STM result ✅</summary>
|
||||
|
||||
img
|
||||
<img src="./test-bench/test4/ide-cubeide-test4-idf/result.png">
|
||||
|
||||
</details>
|
||||
|
||||
@@ -101,15 +105,15 @@ With this test multiple timeouts are added to the XFTimeoutManager list at the s
|
||||
<details>
|
||||
<summary>QT result ✅</summary>
|
||||
|
||||

|
||||
<img src="./test-bench/test5/ide-qtcreator-test5-idf/result.PNG">
|
||||
|
||||
This test is successfully passed
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>STM result</summary>
|
||||
<summary>STM result ✅</summary>
|
||||
|
||||
img
|
||||
<img src="./test-bench/test5/ide-cubeide-test5-idf/result.png">
|
||||
|
||||
</details>
|
||||
|
||||
|
@@ -16,6 +16,12 @@ void XFBehavior::startBehavior() {
|
||||
GEN(XFInitialEvent());
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Pushes the given event to the dispatcher.
|
||||
*
|
||||
* If the event has no behavior assigned, the behavior of this object is assigned.
|
||||
* @param pEvent Event to push to the dispatcher.
|
||||
*/
|
||||
void XFBehavior::pushEvent(XFEvent *pEvent) {
|
||||
if(pEvent->getBehavior()==nullptr) {
|
||||
pEvent->setBehavior(this);
|
||||
@@ -39,6 +45,13 @@ interface::XFDispatcher *XFBehavior::getDispatcher() {
|
||||
return interface::XFDispatcher::getInstance();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns a reference to the actually processed timeout.
|
||||
*
|
||||
* Will work only if the current event is of type IXFEvent::Timeout.
|
||||
*
|
||||
* @return Pointer to the currently processed timeout or nullptr if the current event is not a timeout.
|
||||
*/
|
||||
const XFTimeout *XFBehavior::getCurrentTimeout() {
|
||||
if(pCurrentEvent_->getEventType() == XFEvent::Timeout) {
|
||||
return (XFTimeout*) this->pCurrentEvent_;
|
||||
@@ -51,13 +64,33 @@ void XFBehavior::setCurrentEvent(const XFEvent *pEvent) {
|
||||
this->pCurrentEvent_ = pEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Processes the given event.
|
||||
*
|
||||
* The dispatcher calls this method every time a new event
|
||||
* or timeout arrives. The process method stores the actual
|
||||
* event using the #_pCurrentEvent and then calls
|
||||
* processEvent().
|
||||
*
|
||||
* In case you intend to call process() inside your state machine you
|
||||
* are doing something wrong! Call GEN() or pushEvent() instead!
|
||||
*
|
||||
* @param pEvent Event to process
|
||||
* @return if the behavior is terminated (basically a boolean)
|
||||
*/
|
||||
XFBehavior::TerminateBehavior XFBehavior::process(const XFEvent *pEvent) {
|
||||
this->setCurrentEvent(pEvent);
|
||||
|
||||
// Get status of the event processing
|
||||
XFEventStatus status = XFEventStatus::Unknown;
|
||||
status = this->processEvent();
|
||||
|
||||
// Check if event was consumed and if it should be deleted
|
||||
if(status == XFEventStatus::Consumed && pEvent->deleteAfterConsume()) {
|
||||
delete pEvent;
|
||||
}
|
||||
|
||||
// Check if the behavior is terminated and return the result
|
||||
XFBehavior::TerminateBehavior terminateBehavior = false;
|
||||
if(status == XFEventStatus::Terminate) {
|
||||
terminateBehavior = true;
|
||||
|
@@ -34,8 +34,28 @@ XFTimeoutManager::~XFTimeoutManager() {
|
||||
|
||||
void XFTimeoutManager::addTimeout(XFTimeout *pNewTimeout) {
|
||||
|
||||
const int newTime = pNewTimeout->getInterval();
|
||||
int totalTime = 0;
|
||||
bool isEnd = true;
|
||||
int lastTime = 0;
|
||||
|
||||
this->pMutex_->lock();
|
||||
this->timeouts_.push_back(pNewTimeout);
|
||||
TimeoutList::iterator it = this->timeouts_.begin();
|
||||
isEnd = (it == this->timeouts_.end());
|
||||
|
||||
if(!isEnd) totalTime += (*it)->getRelTicks();
|
||||
|
||||
while(!isEnd && (totalTime <= newTime)) {
|
||||
isEnd = (++it == this->timeouts_.end());
|
||||
lastTime = totalTime;
|
||||
if(!isEnd) totalTime += (*it)->getRelTicks();
|
||||
}
|
||||
|
||||
if(!isEnd) (*it)->substractFromRelTicks(newTime-lastTime);
|
||||
|
||||
pNewTimeout->setRelTicks(newTime-lastTime);
|
||||
this->timeouts_.insert(it, pNewTimeout);
|
||||
|
||||
this->pMutex_->unlock();
|
||||
|
||||
}
|
||||
@@ -70,22 +90,31 @@ void XFTimeoutManager::unscheduleTimeout(int32_t timeoutId, interface::XFBehavio
|
||||
}
|
||||
|
||||
void XFTimeoutManager::tick() {
|
||||
//Trace::out("[DEBUG] - Tick");
|
||||
if(!this->timeouts_.empty()) {
|
||||
TimeoutList::iterator it;
|
||||
|
||||
bool isEmpty = this->timeouts_.empty();
|
||||
int rTime;
|
||||
|
||||
if(!isEmpty) {
|
||||
|
||||
this->pMutex_->lock();
|
||||
for(it=this->timeouts_.begin(); it != this->timeouts_.end(); it++) {
|
||||
if((*it)->getRelTicks() > 0) {
|
||||
(*it)->substractFromRelTicks(this->tickInterval_);
|
||||
} else {
|
||||
XFEvent* ev = *(it);
|
||||
XFDispatcher::getInstance()->pushEvent(ev);
|
||||
it = this->timeouts_.erase(it);
|
||||
it--;
|
||||
}
|
||||
|
||||
XFTimeout* timeout = this->timeouts_.front();
|
||||
timeout->substractFromRelTicks(tickInterval_);
|
||||
rTime = timeout->getRelTicks();
|
||||
|
||||
while (!isEmpty && (rTime <= 0) ) {
|
||||
|
||||
XFDispatcher::getInstance()->pushEvent(timeout);
|
||||
this->timeouts_.pop_front();
|
||||
|
||||
timeout = this->timeouts_.front();
|
||||
isEmpty = this->timeouts_.empty();
|
||||
if(!isEmpty) rTime = timeout->getRelTicks();
|
||||
|
||||
}
|
||||
|
||||
this->pMutex_->unlock();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1635794078" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1441404980" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
BIN
test-bench/test1/ide-cubeide-test1-idf/result.png
Normal file
After Width: | Height: | Size: 37 KiB |
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.160913188" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1470338518" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
BIN
test-bench/test2/ide-cubeide-test2-idf/result.png
Normal file
After Width: | Height: | Size: 23 KiB |
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.192308827" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1342829208" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
BIN
test-bench/test3/ide-cubeide-test3-idf/result.png
Normal file
After Width: | Height: | Size: 36 KiB |
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.666965065" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.661535232" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
BIN
test-bench/test4/ide-cubeide-test4-idf/result.png
Normal file
After Width: | Height: | Size: 38 KiB |
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.912685179" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.856286833" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-393503295883347514" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
BIN
test-bench/test5/ide-cubeide-test5-idf/result.png
Normal file
After Width: | Height: | Size: 35 KiB |