Microcontroller firmware that uses a simple, yet powerful scripting language to control the timing of input and output events with high temporal resolution. Written by Mattias Karlsson

Dependencies:   SMARTWAV mbed

Revision:
7:5fe7329751d4
Parent:
3:d7b0a0890d96
Child:
8:872b843a3053
--- a/hardwareInterface.h	Fri Jun 10 21:22:34 2016 +0000
+++ b/hardwareInterface.h	Tue Feb 07 18:45:25 2017 +0000
@@ -33,6 +33,34 @@
 
 };
 
+class sAnalogIn
+{
+public:
+    sAnalogIn();
+
+    virtual void init(int pin) = 0;
+    virtual int read() = 0;
+
+
+protected:
+
+
+};
+
+class sAnalogOut
+{
+public:
+    sAnalogOut();
+
+    virtual void init(int pin) = 0;
+    virtual void write(int value) = 0;
+    virtual int read() = 0;
+protected:
+
+};
+
+
+
 class sDigitalIn
 {
 public:
@@ -101,12 +129,15 @@
     virtual void setSlaveClock() = 0;
     virtual sDigitalOut* getDigitalOutPtr(int portNum) = 0;
     virtual sDigitalIn* getDigitalInPtr(int portNum) = 0;
+    virtual sAnalogOut* getAnalogOutPtr(int portNum) = 0;
+    virtual sAnalogIn* getAnalogInPtr(int portNum) = 0;
     virtual sSound* createNewSoundAction() = 0;
     virtual void externalClockReset() = 0; //needs to reset harware timer before calling immediateClockReset();
     virtual void incrementClock() = 0;
     virtual void mainLoopToDo();
     virtual void pauseInterrupts();
     virtual void resumeInterrupts();
+    virtual void reset();
     virtual int getPendingFunctionTriggers(uint16_t *bufferPtr); //Returns the number of pending shortcut triggers
     virtual uint32_t getDigitalOutputChangeFlags();
     virtual uint32_t getDigitalInputChangeFlags();