I'm temporarily abandoning this because the issue is that the camera
isn't a great sensor. Issues w/ long shutter speed (blurs sampling
period), and sampling frequency makes this difficult. I cannot
find api information about how to adjust the shutter speed in app,
though there does appear to be able to do this via other apps...
This is sample code, but works well.. it ensures that every bit
time there is a level change, so any duplicates can be dropped..
this works so far, but I'm sure is not the most effecient way to
do this...
This will need to be fixed up a bit to handle when a bit gets
doubled due to when two frames have the same bit as the frame
length will be around 33.3ms and the bit length around 34ms, which
means around every 52s, the same bit will be split over two frames.