fast-feedback virtual target task code on STM Nucleo

Dependencies:   mbed

Committer:
gwappa
Date:
Thu Dec 13 07:18:43 2018 +0000
Revision:
32:1416e015016c
Parent:
26:b4421d1ee57a
change to use the Staged state

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gwappa 26:b4421d1ee57a 1 #ifndef INTR_H_
gwappa 26:b4421d1ee57a 2 #define INTR_H_
gwappa 26:b4421d1ee57a 3
gwappa 26:b4421d1ee57a 4 #include "mbed.h"
gwappa 26:b4421d1ee57a 5 #include "arraylist.h"
gwappa 26:b4421d1ee57a 6 #include "trialtime.h"
gwappa 26:b4421d1ee57a 7 #include "IO.h"
gwappa 26:b4421d1ee57a 8
gwappa 26:b4421d1ee57a 9 class InterruptHandler
gwappa 26:b4421d1ee57a 10 {
gwappa 26:b4421d1ee57a 11 public:
gwappa 26:b4421d1ee57a 12 explicit InterruptHandler(PinName pin, const int& debounce_ms=-1, const bool& logged=true);
gwappa 26:b4421d1ee57a 13
gwappa 26:b4421d1ee57a 14 void attach(Callback<void ()> cb);
gwappa 26:b4421d1ee57a 15 void detach();
gwappa 26:b4421d1ee57a 16 void setDebounce(const int& value_ms);
gwappa 26:b4421d1ee57a 17 void reset(const int& debounce_ms=-1, const bool& logged=true);
gwappa 26:b4421d1ee57a 18 void writeToSerial(const trialtime_t& origin=0);
gwappa 26:b4421d1ee57a 19
gwappa 26:b4421d1ee57a 20 private:
gwappa 26:b4421d1ee57a 21 void trigger();
gwappa 26:b4421d1ee57a 22
gwappa 26:b4421d1ee57a 23 InterruptIn in_;
gwappa 26:b4421d1ee57a 24 bool logged_;
gwappa 26:b4421d1ee57a 25 int debounce_;
gwappa 26:b4421d1ee57a 26 Callback<void ()> handler_;
gwappa 26:b4421d1ee57a 27
gwappa 26:b4421d1ee57a 28 trialtime_t refrac_;
gwappa 26:b4421d1ee57a 29 ArrayList<trialtime_t> events_;
gwappa 26:b4421d1ee57a 30 };
gwappa 26:b4421d1ee57a 31
gwappa 26:b4421d1ee57a 32 #endif