Changes between Version 10 and Version 11 of 2012/Projects/SignetRingDrivesafe


Ignore:
Timestamp:
Aug 26, 2012, 8:58:55 PM (5 years ago)
Author:
joshuad
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2012/Projects/SignetRingDrivesafe

    v10 v11  
    1515The Android platform has different types of events to determine what type of touch occurred on the screen. The ring that we are using was designed to create many "MOVE" events. Along with these "MOVE" events, we needed their exact timestamps to determine how far apart they were and when exactly they occured. However, Since the events captured by the actual Android operating system were inaccurate due to queuing delays we needed to access the kernel logs within the device to get the original timestamps. This required root access to the device. Reading the log stream from the kernel logs, gave us the information we needed. 
    1616==== Decoding 4 or 5 bit Codes ==== 
    17 After reading the logs and scanning for the events we needed, I needed to apply an algorithm to accurately determine which groups of events were 1 bits and which were 0 bits. Using an algorithm developed by my mentor in MATLAB,  
    18 ==== Login Screen Application ==== 
    19 TODO 
     17After reading the logs and scanning for the events we needed, I needed to apply an algorithm to accurately determine which groups of events were 1 bits and which were 0 bits. An algorithm already created by my mentor was outlined to me and I ported it to the android device. This algorithm would place the events into "bucket" or time intervals that counted the number of events that were between the beginning time and the ending time of the interval. There were 4 + 2 extra buckets that were needed since the codes were cyclic. Using these buckets as well as shifting them for more accuracy, we determined the code based on the number of events that were in each bucket that were close to the average number of events for a "one" bit and the average number of events for a "zero" bit.  
     18==== Login Screen Application & other Test Tools==== 
     19After decoding the ring, I built a login screen application for testing purposes. having the codes inside the login screen and applying the decoding I had the application set the user wallpaper to a specific picture that indicated the owner of the ring. Other tools I created was a graph tool to graph the number  of events in each bucket so that one could visually inspect the accuracy of the decoding on the device.  
    2020==== Build New Rings for different Codes ==== 
    21 TODO 
     21The final part of this project was to prepare rings for other codes. Since at the time, there was only one ring it was not possible to test with other codes. The design of the ring was made so that only one code could be used. I teamed up with another winlab intern to create 2 new rings that robust and interchangeable.  
    2222---- 
    2323== Drivesafe ==