Commit graph

201 commits

Author SHA1 Message Date
Ahmet Inan e1b68b4e59 normalize using maximum of all bins 2015-01-07 21:02:34 +01:00
Ahmet Inan fd7326e24a maybe linear spectrum output is a better idea .. 2015-01-07 18:32:34 +01:00
Ahmet Inan bd0e98ba75 fixed stft code generator 2015-01-07 16:22:33 +01:00
Ahmet Inan b77e9c1b3d WIP: added spectrum analyzer
there is something fishy going on :(
2015-01-06 21:14:47 +01:00
Ahmet Inan eca5873fec split decoder code into Decoder class, made space for spectrum analyzer 2015-01-06 14:50:43 +01:00
Ahmet Inan 272deee15f when using int scaling, set scaling to at least 1x 2015-01-05 13:06:39 +01:00
Ahmet Inan 3dfa1b4c86 added raw, toggles for debug and autodetect mode
made debug mode much more useful
2015-01-04 17:47:28 +01:00
Ahmet Inan 52a685f6c1 remade launcher icons 2015-01-04 13:25:38 +01:00
Ahmet Inan b09bf0632c added toggle for integer or float scaling 2015-01-03 11:17:23 +01:00
Ahmet Inan bd7ec1f0bc improved timing down to +-300ppm samples per line
- used milliseconds instead of seconds for timing
- did summations in milliseconds till end
- did rounding instead of truncation at critical places
2015-01-03 00:36:05 +01:00
Ahmet Inan 7a7d535165 reduced value buffer size to 2 seconds
just enough to decode scottie DX from sync to sync:

5x 345.6ms color scans =  1728.0ms
2x 9.0ms sync pulses = 18.0ms
4x 1.5ms porches = 6.0ms

1752.0ms total
2015-01-02 19:43:12 +01:00
Ahmet Inan 80eabf5acb normalize amplitude from avg absolute amplitude 2015-01-02 13:25:36 +01:00
Ahmet Inan 3974468399 reset mismatch counter on parity correction 2015-01-02 12:30:44 +01:00
Ahmet Inan 15b364fe72 wrap vpos instead of resetting to 0 on max 2015-01-02 12:25:54 +01:00
Ahmet Inan 7a33c225bd reset mismatch counter on begin of image 2015-01-02 12:18:04 +01:00
Ahmet Inan 8263145a50 fixed overflow and sync timeout handling in robot36 decoder 2015-01-02 12:10:32 +01:00
Ahmet Inan 8421a984e7 let decoders decide about vpos 2015-01-01 19:24:55 +01:00
Ahmet Inan 63e949332d do correct sync extrapolation 2015-01-01 18:57:01 +01:00
Ahmet Inan a69b4089f5 WIP: replaced linear with much more flexible circular buffer 2015-01-01 17:06:48 +01:00
Ahmet Inan 3743d023f9 allocate value buffer of next power of 2 size 2014-12-30 22:35:56 +01:00
Ahmet Inan dac04cbe86 made icons compatible with older devices 2014-12-18 20:41:47 +01:00
Ahmet Inan 8d7b0e0f50 always show notification, even when in foreground 2014-12-18 13:59:55 +01:00
Ahmet Inan cfe3f35aad made notification persisting 2014-12-18 13:54:04 +01:00
Ahmet Inan e0017ffa5f also set large icon in notification 2014-12-18 13:50:52 +01:00
Ahmet Inan 5c2ffa07a2 added notification icons 2014-12-18 13:46:23 +01:00
Ahmet Inan d0523a3990 WIP: added notification that the decoder is still running 2014-12-17 22:59:12 +01:00
Ahmet Inan 1426bbb105 allow only one instance of Robot36 2014-12-17 21:32:34 +01:00
Ahmet Inan fbffdf3d6d reduced "grey" area to help with noise immunity 2014-12-17 17:02:20 +01:00
Ahmet Inan 30ced94775 reverse logic to flatten drawCanvas() 2014-12-16 16:39:35 +01:00
Ahmet Inan 801852e73b redraw canvas before leaving surfaceChanged() 2014-12-16 16:32:41 +01:00
Ahmet Inan 3a1e0d6201 fixed crash in debug mode 2014-12-14 17:37:14 +01:00
Ahmet Inan 0bd958b4d7 increased leader timeout tolerance 2014-12-14 15:03:08 +01:00
Ahmet Inan 738ac87fce increased break length tolerance 2014-12-14 13:59:02 +01:00
Ahmet Inan 3d6f915b75 improved calibration header detection
"gray" area doesn't work very well with the calibration detection code
2014-12-13 20:31:06 +01:00
Ahmet Inan 8d36624e94 added new icon set 2014-12-12 23:32:03 +01:00
Ahmet Inan d5d9ba379f removed '-' from WrasseSC2_180 string 2014-12-12 17:55:08 +01:00
Ahmet Inan 8d73fe002c wait for worker thread to finish 2014-12-12 17:32:43 +01:00
Ahmet Inan 60b8c48d9b WIP: experimental async decoding
it will continue decoding in background.
to stop decoder, you must exit application.
also removed some unneeded synchronizations to make it more responsive.
2014-12-12 15:42:24 +01:00
Ahmet Inan bb183cb80e do correct vertical scaling in case we want a higher horizontal resolution 2014-12-12 11:41:21 +01:00
Ahmet Inan 0d5407f090 reduced max height so we can enjoy more of the maximally scaled picture 2014-12-12 10:47:13 +01:00
Ahmet Inan 8828cbc753 Revert "lets stretch and crop the image a bit around the edges .."
This reverts commit 435c1be418.

just because everyone is doing it doesnt mean we should do it.
2014-12-12 09:23:55 +01:00
Ahmet Inan 435c1be418 lets stretch and crop the image a bit around the edges ..
.. so that nobody will notice our fucked front and back porches. ;-(
2014-12-11 23:19:43 +01:00
Ahmet Inan 8b3dbb08b9 only correct line after 5 mismatches when in sync mode 2014-12-11 19:19:51 +01:00
Ahmet Inan 5fa1a6cff6 increment vpos in decoders 2014-12-11 18:17:34 +01:00
Ahmet Inan e79484e1ca introduced free_running state variable 2014-12-11 17:14:20 +01:00
Ahmet Inan 9137d729d8 only correct line number if were free running 2014-12-11 15:35:37 +01:00
Ahmet Inan e4d0264d95 made value_blur nicer to use and took care of edges 2014-12-11 14:17:24 +01:00
Ahmet Inan 40eb37a40d better move whole line in scottie decoder 2014-12-10 23:42:50 +01:00
Ahmet Inan 56e75346d2 WIP: added correct scottie decoder 2014-12-10 23:39:08 +01:00
Ahmet Inan 2c52be93cd store Bitmap as PNG in Pictures directory 2014-12-10 18:04:36 +01:00
Ahmet Inan 88a13d9a9b WIP: save image when finished 2014-12-10 13:29:59 +01:00
Ahmet Inan 308874b131 moved code generator to utils/blur.c, moved generated code to blur_generated.rsh 2014-12-09 20:07:55 +01:00
Ahmet Inan 48deba6305 added manual adjustment of blur 2014-12-09 15:48:26 +01:00
Ahmet Inan 5c85f130b1 added gaussian blur to help with noisy conditions
manual adjustment following soon.
2014-12-08 23:03:26 +01:00
Ahmet Inan 30a6d256ba made decoder.rs independent of new modes 2014-12-07 22:26:03 +01:00
Ahmet Inan 4e48eb185c added Wrasse SC2-180 Mode
definitively need to do something about to reduce the numbers of places needed to be changed to add a new mode ..
2014-12-07 20:38:16 +01:00
Ahmet Inan 32efb41613 added "gray" area between data and control signal to improve sync detection 2014-12-07 18:14:37 +01:00
Ahmet Inan 9446d5976e draw then decode to help minimize visual delay 2014-12-07 15:23:10 +01:00
Ahmet Inan bcbece17f6 do not restart app on screen change 2014-12-07 15:05:35 +01:00
Ahmet Inan 8372bcba92 be precise: even if we are going to square the deviation, its: x-u, not u-x 2014-12-06 22:23:23 +01:00
Ahmet Inan 270d20486c update variance if sync pulse is for more than buffer_length time missing 2014-12-06 19:31:21 +01:00
Ahmet Inan 5bcbd18dc7 lint fixes 2014-12-06 14:38:38 +01:00
Ahmet Inan eb7a494fe4 update rendering mode and activity title from decoder 2014-12-06 14:10:23 +01:00
Ahmet Inan 3401038ab1 moved DecoderThread code into ImageView 2014-12-05 22:52:03 +01:00
Ahmet Inan 5c0dd886ab oops: fix double swap mistake of u & v and r & b
in robot36 v is on even lines and u is on odd lines
in robot72 v comes first, then u

still need to investigate why there is a discrepancy between renderscript rgba and java bitmap rgba
2014-12-05 15:53:13 +01:00
Ahmet Inan d8e9790d10 be consistent: renamed _len to _seconds 2014-12-01 16:47:29 +01:00
Ahmet Inan c80ca4c8bd max allowed variance should be of half of min distance 2014-12-01 15:16:12 +01:00
Ahmet Inan ca2568b9cc renamed mode to current_mode 2014-11-30 19:15:29 +01:00
Ahmet Inan 48fc69ba48 split constants, state, modes, scanline estimator and calibration detector 2014-11-30 18:58:19 +01:00
Ahmet Inan 941c80ac00 moved fmd code to fmd.rsh 2014-11-30 17:18:17 +01:00
Ahmet Inan e69c476a41 moved ddc to ddc.rsh, made filter order less flexible 2014-11-30 17:02:51 +01:00
Ahmet Inan 0dac8080d9 cleaned up ema code, introduced overloadable filter interface 2014-11-30 16:16:25 +01:00
Ahmet Inan 8b9c98a271 moved phasor code to phasor.rsh 2014-11-30 14:10:49 +01:00
Ahmet Inan a2397729a2 moved ema code to ema.rsh 2014-11-30 13:30:50 +01:00
Ahmet Inan f526f77a99 put header guards to complex.rsh 2014-11-30 13:24:57 +01:00
Ahmet Inan 6acb09a85e moved complex number helpers to complex.rsh 2014-11-30 12:29:30 +01:00
Ahmet Inan abf3df9d34 added complex_t 2014-11-30 12:24:21 +01:00
Ahmet Inan a1d38fe1c6 moved calibration detector switch to own method 2014-11-28 23:22:30 +01:00
Ahmet Inan ce67fd49f4 added automatic mode selection from naive scanline time estimation 2014-11-28 23:08:16 +01:00
Ahmet Inan 969da36a12 moved global static inside method 2014-11-28 16:30:44 +01:00
Ahmet Inan e587dc150c to not miss it, always reset vis and bit counters on leader pulse 2014-11-28 08:16:23 +01:00
Ahmet Inan 287c35126a WIP: added vis code detection and automatic mode switching 2014-11-27 18:22:23 +01:00
Ahmet Inan adf7d56575 fix compiler warning about precedence .. 2014-11-27 15:16:36 +01:00
Ahmet Inan 27526d52ff let's not patch interleaved scan lines together ..
its complicated enough already and this way we can correct errors much easier
2014-11-26 16:09:41 +01:00
Ahmet Inan 09736151ad no need to clear scan line, as we are not skipping anymore 2014-11-26 15:29:32 +01:00
Ahmet Inan bc22e62258 be consistent: end of interval is not included 2014-11-26 15:00:50 +01:00
Ahmet Inan 627f1caf17 improved calibration detection to avoid false positives 2014-11-26 13:57:43 +01:00
Ahmet Inan d6efca8c56 use rs support library and minSdkVersion 15 2014-11-25 21:56:37 +01:00
Ahmet Inan 8ab76154e3 always reset even_hpos to 0 when done 2014-11-25 20:54:21 +01:00
Ahmet Inan 41657bcea6 do not depend on seperator counter if previous scan had a sync timeout 2014-11-25 20:38:07 +01:00
Ahmet Inan 7b054a0944 WIP: try to recover from missing syncs 2014-11-25 18:24:51 +01:00
Ahmet Inan 63989db011 ignore scan lines shorter than minimum_length 2014-11-25 15:37:58 +01:00
Ahmet Inan 08427fe508 stop further processing until vis is over 2014-11-25 09:33:04 +01:00
Ahmet Inan 87b2bff52c moved calibration detection code to own method 2014-11-25 09:20:07 +01:00
Ahmet Inan 9f156b5e4f made calibration header code more readable 2014-11-25 08:15:40 +01:00
Ahmet Inan d2312d7ee9 added final modifier for rs members 2014-11-25 07:32:31 +01:00
Ahmet Inan 1cb1c7fe42 WIP: improving calibration header detection 2014-11-24 23:34:08 +01:00
Ahmet Inan 789ce9f8da added ema low pass to leader tone and relaxed leader length more 2014-11-24 22:44:17 +01:00
Ahmet Inan e9afd08451 fix naive calibration header logic 2014-11-24 20:10:10 +01:00
Ahmet Inan 273c97fb65 added naive calibration header detection 2014-11-24 18:11:06 +01:00
Ahmet Inan 2acdc4f030 Initial commit 2014-11-23 15:49:23 +01:00