Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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