Working on Dext, acceptation of PO
This commit is contained in:
Binary file not shown.
@@ -1008,4 +1008,5 @@ src/CMakeFiles/factory_core.dir/Processor.cpp.o: \
|
|||||||
/usr/include/c++/13/cxxabi.h \
|
/usr/include/c++/13/cxxabi.h \
|
||||||
/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \
|
/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \
|
||||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Machine.hpp \
|
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Machine.hpp \
|
||||||
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp
|
/home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp \
|
||||||
|
/usr/include/c++/13/iostream
|
||||||
|
|||||||
@@ -5307,6 +5307,7 @@ src/CMakeFiles/factory_core.dir/Processor.cpp.o
|
|||||||
/usr/include/c++/13/initializer_list
|
/usr/include/c++/13/initializer_list
|
||||||
/usr/include/c++/13/ios
|
/usr/include/c++/13/ios
|
||||||
/usr/include/c++/13/iosfwd
|
/usr/include/c++/13/iosfwd
|
||||||
|
/usr/include/c++/13/iostream
|
||||||
/usr/include/c++/13/istream
|
/usr/include/c++/13/istream
|
||||||
/usr/include/c++/13/iterator
|
/usr/include/c++/13/iterator
|
||||||
/usr/include/c++/13/limits
|
/usr/include/c++/13/limits
|
||||||
|
|||||||
@@ -5302,6 +5302,7 @@ src/CMakeFiles/factory_core.dir/Processor.cpp.o: src/Processor.cpp \
|
|||||||
/usr/include/c++/13/initializer_list \
|
/usr/include/c++/13/initializer_list \
|
||||||
/usr/include/c++/13/ios \
|
/usr/include/c++/13/ios \
|
||||||
/usr/include/c++/13/iosfwd \
|
/usr/include/c++/13/iosfwd \
|
||||||
|
/usr/include/c++/13/iostream \
|
||||||
/usr/include/c++/13/istream \
|
/usr/include/c++/13/istream \
|
||||||
/usr/include/c++/13/iterator \
|
/usr/include/c++/13/iterator \
|
||||||
/usr/include/c++/13/limits \
|
/usr/include/c++/13/limits \
|
||||||
@@ -12734,6 +12735,8 @@ src/ProductionOrder.hpp:
|
|||||||
|
|
||||||
/usr/include/c++/13/tr1/ell_integral.tcc:
|
/usr/include/c++/13/tr1/ell_integral.tcc:
|
||||||
|
|
||||||
|
/usr/include/c++/13/iostream:
|
||||||
|
|
||||||
/usr/include/c++/13/bits/hash_bytes.h:
|
/usr/include/c++/13/bits/hash_bytes.h:
|
||||||
|
|
||||||
/usr/include/boost/smart_ptr/shared_ptr.hpp:
|
/usr/include/boost/smart_ptr/shared_ptr.hpp:
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "Processor.hpp"
|
#include "Processor.hpp"
|
||||||
|
#include <iostream> // TODO: Remove this when debug is over
|
||||||
|
|
||||||
namespace artis::factory {
|
namespace artis::factory {
|
||||||
|
|
||||||
@@ -33,20 +34,28 @@ void Processor::dint(const Time & /* t */) {
|
|||||||
// Fonction que gère les évolutions internes de ce modèle
|
// Fonction que gère les évolutions internes de ce modèle
|
||||||
}
|
}
|
||||||
|
|
||||||
void Processor::dext(const Time & /* t */, const Time & /* e */, const Bag &bag) {
|
void Processor::dext(const Time &t, const Time &e, const Bag &bag) {
|
||||||
std::for_each(bag.begin(), bag.end(), [](const ExternalEvent & /* event */) {
|
std::for_each(bag.begin(), bag.end(), [this, t, e](const ExternalEvent &/*event*/) { // [this] capture this et le remet dans la lambda
|
||||||
// TODO
|
// Fonction gérant les réponses du système aux évents passés via event()
|
||||||
// Fonction gérant les réponses du système aux évents passés via event()
|
|
||||||
|
if(this->currentState == this->ProcessorState::WAIT){
|
||||||
|
// We're waiting for a new event, and can work on this one !
|
||||||
|
this->currentState = this->ProcessorState::LOADING; // New state, we're loading this PO
|
||||||
|
std::cout << "PO loaded ! Time t : " << t << ", Time e : " << e << std::endl;
|
||||||
|
}else{
|
||||||
|
// Error, please wait, we're busy
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void Processor::start(const Time &t) {
|
void Processor::start(const Time &t) {
|
||||||
// Démarrage et initialisation
|
// Démarrage et initialisation
|
||||||
|
|
||||||
this->currentState = this->ProcessorState::INIT; // ID de la phase d'état du modèle
|
this->currentState = this->ProcessorState::WAIT; // Prêt à recevoir un Production Order
|
||||||
this->startTime = t;
|
this->startTime = t;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Time Processor::ta(const Time & /* t */) const {
|
Time Processor::ta(const Time & /* t */) const {
|
||||||
|
|||||||
@@ -89,8 +89,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// TODO (state)
|
// TODO (state)
|
||||||
ProcessorState currentState;
|
ProcessorState currentState = ProcessorState::INIT;
|
||||||
Time startTime;
|
Time startTime = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace artis::factory
|
} // namespace artis::factory
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
BIN
test/test_simple
BIN
test/test_simple
Binary file not shown.
Reference in New Issue
Block a user