A simple but very effective scope. Up to 6 channels of 32 bit float data at 1 kHz.
Fork of HIDScope by
Diff: HIDScope.h
- Revision:
- 0:79e3f3072f3b
- Child:
- 1:e44574634162
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HIDScope.h Mon Sep 08 09:26:53 2014 +0000 @@ -0,0 +1,56 @@ +#ifndef _HIDSCOPE_H_ +#define _HIDSCOPE_H_ + +#include "mbed.h" +#include "USBHID.h" + +/**A simple HID (Human Interface Device) scope +- Up to 6 channels of float data is transmitted in a single HID message (64 byte) +- Theoretical maximum samplerate of 1kHz +- Data can be parsed using a client-side server like NodeJS +*/ +class HIDScope { + public: + ///Instantiate the HID Scope + HIDScope(int channels); + + /** Sets the current channel value + @param ch : integer channel no (0-6) + @param val : float value + @return void + */ + void set(int ch, float val); + + /** Sets the current channel value + @param ch : integer channel no (0-6) + @param val : integer value + @return void + */ + void set(int ch, int val); + + /** Sets the current channel value + @param ch : integer channel no (0-6) + @param val : boolean value + @return void + */ + void set(int ch, bool val); + + /** Sets the current channel value + @param ch : double channel no (0-6) + @param val : float value + @return void + */ + void set(int ch, double val); + + /** Sends the channel data to the HID client + @return void + */ + void send(); + private: + USBHID hid; + HID_REPORT scopeData; + float* bufferData; + int channelCount; +}; + +#endif \ No newline at end of file