griffincollaboration / data-spy Goto Github PK
View Code? Open in Web Editor NEWan online parser of raw GRIFFIN data
Home Page: http://griffincollaboration.github.io/data-spy
License: MIT License
an online parser of raw GRIFFIN data
Home Page: http://griffincollaboration.github.io/data-spy
License: MIT License
The data format for PPG events are as follows:
The header is parse the same way as a GRIFFIN header (label (0x8
) ).
If the Data Type received from the header is 4 and the channel address is 0xFFFF
, then this is a PPG event.
0xd
), parsed like griffin.0x0
, the next 28 bits are the pattern0x9
, the next 28 bits are the pattern0xa
next 28 bits are the low time0xb
, next 28 bits are the high time0xe
, last 16 bits are a repeat of last 16 bits of new ppg.I'm pretty sure the PPG patterns are actually only 16 bits, so it's 12 truncated PPG bits concatenated with 16 ppg bits in every one of the "28 bit" pattern cases.
The data format for Scaler events are as follows:
The header is parsed the same way as a GRIFFIN header (label (0x8) ).
If the Detector Type received from the header is 0xf and contains at least 8 words. The address the scaler represents is given in the "Address portion of the header". The words are then given in teh following order
0xd
with 28 bits for packet id0xa
with 28 bits of low time stamp0xe
Currently, "type 0" represents a precision dead time scaler, while "type 1" represents a rate scaler
Do the timestamps have a convenient interpretation other than some gigantic number of ns? They look a but too small to be ms since epoch, but it would be nice to express them as something a little more human readable in the data-spy, if a useful human readable interpretation exists.
cc @SmithJK
Question:
Suggestions:
Word VIb contains a 28-bit waveform sample, but the docs don't describe how to unpack this into anything more meaningful than an integer. Are there things we can do to make this number more human-readable in the data spy?
Hi folks - I'm planning on pulling together a first cut at this project (online parser of raw GRIFFIN data) hopefully around the end of next week. To proceed I need a couple examples of raw GRIFFIN data (and a link to the spec for this format) - can anyone link me anything? No need to actually serve real events right now, just looking for some static examples to build the app around - easy enough to plug a real data feed into it later.
Thanks @SmithJK for the latest docs - @AdamGarnsworthy, do we want panels / tabs for each of the four data types (GRIF-16 fragment, GRIF-16 scalar, GRIF-4G fragment, GRIF-C PPG), or will not all of these be written to the ODB?
@VinzenzBildstein had some useful feedback:
From section 3.1.3:
A type of 0 indicates a deadtime scaler, while a type of 0 indicates a rate scaler.
according to the docs, type XIII words are 4 byte words consisting of:
0xE
)Where are the other 4 bits?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.