fast-feedback virtual target task code on STM Nucleo

Dependencies:   mbed

Revision:
8:973dcd190672
Parent:
6:13d180af7501
Child:
9:e136394bdb39
--- a/task.cpp	Tue May 29 14:40:50 2018 +0000
+++ b/task.cpp	Thu May 31 15:25:37 2018 +0000
@@ -1,6 +1,6 @@
 #include "task.h"
-#include "IO.h"
 #include "utils.h"
+#include "states.h"
 #include "automaton.h"
 
 Task::Task(const Mode& mode):
@@ -51,13 +51,13 @@
 
 
 void Task::testReward() {
-    // Cued::turnOnReward();
-    // while(Cued::phase != Cued::Done);
-    // LOG_REWARDED
+    automaton::init<TestReward>();
+    automaton::run();
+    IO::result("reward");
 }
  
 void Task::runTrial() {
-    // TRIAL_STARTING
+    automaton::init<Delay>();
     automaton::run();
 }
 
@@ -68,72 +68,3 @@
 void Task::writeSettingsToSerial() {
     config::writeSettingsToSerial();
 }
-       
-/*
-void Task::parseFromSerial() {
-    char in = IO::getc();
-    
-    if (isWhitespace(in)) {
-        return;
-    }
-    
-    switch(in) {
-    case CMD_TEST_REWARD:
-        // Cued::turnOnReward();
-        // while(Cued::phase != Cued::Done);
-        // LOG_REWARDED
-        IO::result("done");
-        break;
-    
-    case CMD_EXECUTE:
-        // TRIAL_STARTING
-        automaton::run();
-        IO::result("done");
-        break;
-    
-    case '?': writeSettingsToSerial(); break;
-    case CMD_MODE_PAIR:   mode = Pair;   writeModeToSerial(); break;
-    case CMD_MODE_REPORT: mode = Report; writeModeToSerial(); break;
-    case CMD_MODE_APPEAR: mode = Appear; writeModeToSerial(); break;
-#define PARSE(CHR, PARAM) case (CHR): PARAM = parseUnsignedFromSerial<uint16_t>(PARAM);\
-        IO::config("%c%u",(CHR),(PARAM)); break;
-    
-    PARSE(CHR_DELAY_MIN,    delay_min_ms)
-    PARSE(CHR_DELAY_VAR,    delay_var_ms)
-    PARSE(CHR_PREP_DUR,     prep_dur_ms)
-    PARSE(CHR_CUE_DUR,      cue_dur_ms)
-    PARSE(CHR_POST_DUR,     post_dur_ms)
-    PARSE(CHR_REWARD_DUR,   reward_ms)
-#undef PARSE
-    default:
-        IO::error("%c",in);
-        break;
-    }
-}
-
-    
-void Task::writeSettingsToSerial()
-{
-    writeModeToSerial(false);
-    IO::write(STR_DELIMITER);
-#define WRITE(CHR, PARAM, END) IO::write("%c%u",CHR,PARAM); if (END) { IO::write(STR_NEWLINE); } else { IO::write(STR_DELIMITER); }
-    WRITE(CHR_DELAY_MIN,  delay_min_ms,   false)
-    WRITE(CHR_DELAY_VAR,  delay_var_ms,   false)
-    WRITE(CHR_PREP_DUR,   prep_dur_ms,    false)
-    WRITE(CHR_CUE_DUR,    cue_dur_ms,     false)
-    WRITE(CHR_POST_DUR,   post_dur_ms,    false)
-    WRITE(CHR_REWARD_DUR, reward_ms,      true)
-#undef WRITE
-}
-
-void Task::writeModeToSerial(bool newline){
-    IO::write(IO::CONFIG_HEADER);
-#define WRITE(CHR, VAL) if (mode == (VAL)) { IO::write("[%c]",CHR); } else { IO::write("%c",CHR); }
-    WRITE(CMD_MODE_PAIR, Pair)
-    WRITE(CMD_MODE_APPEAR, Appear)
-#undef WRITE
-    if (newline) {
-        IO::write(STR_NEWLINE);
-    }
-}
-*/