using System; using Microsoft.SPOT; namespace instrumentModel { public abstract class InstrumentDevice { //Type Definitions public enum DevStatus { Ready, Initializing, Error, Ok }; private DevStatus _IDStatus; private String _name; public InstrumentDevice(String nameid) { // Initialize _IDStatus = DevStatus.Initializing; //IDType = deviceType; _name = nameid; } ~InstrumentDevice() { _IDStatus = disconnect(); } // Put you device specific initialization code here. abstract public DevStatus initialize(); // IO functions abstract public DevStatus connect(); abstract public DevStatus read(byte[] msg, ref int length); abstract public DevStatus write(string msg); abstract public DevStatus disconnect(); // Process read data abstract public DevStatus process(String msg); abstract public DevStatus printState(); // Actually run a main thread abstract public void run(); public String Id { get { return _name; } set { _name = value; } } public DevStatus Status { get { return _IDStatus; } set { _IDStatus = value; } } } }