A simple but very effective scope. Up to 6 channels of 32 bit float data at 1 kHz.
Fork of HIDScope by
HIDScope.cpp
- Committer:
- tomlankhorst
- Date:
- 2014-09-08
- Revision:
- 0:79e3f3072f3b
- Child:
- 5:80d551456856
File content as of revision 0:79e3f3072f3b:
#include "HIDScope.h" HIDScope::HIDScope(int channels) : hid(64,64) { bufferData = new float[channels](); channelCount = channels; scopeData.length = 64; } void HIDScope::set(int ch, float val) { bufferData[ch] = val; } void HIDScope::set(int ch, int val) { set(ch,(float)val); } void HIDScope::set(int ch, bool val) { set(ch,(val ? 1.0f : 0.0f)); } void HIDScope::set(int ch, double val) { set(ch,(float)val); } void HIDScope::send() { for(int ch=0; ch<channelCount; ch++) memcpy(&scopeData.data[ch*4], &bufferData[ch], 4); // Copy a 4 byte float to the char array // Send non blocking, can be adjusted to blocking (hid.send) hid.sendNB(&scopeData); }