dol: initial dol commit
[jump.git] / dol / src / dol / visitor / hdsd / scd / fsm / scd_stsw_idle.cpp
diff --git a/dol/src/dol/visitor/hdsd/scd/fsm/scd_stsw_idle.cpp b/dol/src/dol/visitor/hdsd/scd/fsm/scd_stsw_idle.cpp
new file mode 100644 (file)
index 0000000..6883648
--- /dev/null
@@ -0,0 +1,29 @@
+#include "fsm/scd_stsw_idle.h"
+
+#include "scd_logging.h"
+#include "scd_exception.h"
+#include "scd_cont_slave_wrapper.h"
+
+
+void scd_stsw_idle::send_time_req()
+{
+    scd_command* cmd = new scd_command(SCD_CM_CONTROL, SCD_CM_TIME_REQ);
+    _fsm.send_command(cmd);
+    _fsm.save_state();
+    _fsm.set_state(_st_time_req);
+}
+
+
+bool scd_stsw_idle::idle() const { return true; }
+
+
+void scd_stsw_idle::set_busy()
+{
+    _fsm.set_state(_st_busy);
+}
+
+
+void scd_stsw_idle::set_done()
+{
+    scd_warn("slave " + _fsm.get_name() + " transition attempt from idle to done");
+}