<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1671">
<style type="text/css">
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px 'Courier New'; color: #0f7201; -webkit-text-stroke: #0f7201; background-color: #f6f6f6}
li.li2 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px 'Courier New'; color: #000000; background-color: #f6f6f6}
li.li3 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px 'Courier New'; color: #0f7201; background-color: #f6f6f6}
li.li4 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px 'Courier New'; color: #6d6d6d; -webkit-text-stroke: #6d6d6d; background-color: #f6f6f6}
li.li5 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px 'Courier New'; color: #000000; -webkit-text-stroke: #000000; background-color: #f6f6f6}
li.li6 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 12.0px 'Courier New'; color: #000000; -webkit-text-stroke: #0f7201; background-color: #f6f6f6}
span.s1 {-webkit-text-stroke: 0px #000000}
span.s2 {font-kerning: none}
span.s3 {font-kerning: none; color: #000000; -webkit-text-stroke: 0px #000000}
span.s4 {font-kerning: none; -webkit-text-stroke: 0px #000000}
span.s5 {font-kerning: none; -webkit-text-stroke: 0px #0f7201}
span.s6 {color: #277b45; -webkit-text-stroke: 0px #000000}
span.s7 {font-kerning: none; color: #277b45; -webkit-text-stroke: 0px #277b45}
span.s8 {font-kerning: none; color: #0a5287; -webkit-text-stroke: 0px #0a5287}
span.s9 {color: #0a5287; -webkit-text-stroke: 0px #000000}
span.s10 {font-kerning: none; color: #0f7201}
span.s11 {font-kerning: none; color: #0000ff; -webkit-text-stroke: 0px #0000ff}
ol.ol1 {list-style-type: decimal}
</style>
</head>
<body>
<ol class="ol1">
<li class="li1"><span class="s1"></span><span class="s2">/* fps.c - fingerprint sensor driver */</span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">/* Copyright Mistral Software Pvt Ltd. Corporation */</span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li3"><span class="s5">/* </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">Modification History </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">--------------------- </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">Version 1.0,07Jul05,CS - Created </span><span class="s3"> </span></li>
<li class="li3"><span class="s5"> </span><span class="s3"> </span></li>
<li class="li3"><span class="s5">*/</span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li3"><span class="s5">/* </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">DESCRIPTION </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">------------ </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">This module contains the fingerprint sensor driver functions. </span><span class="s3"> </span></li>
<li class="li3"><span class="s5"> </span><span class="s3"> </span></li>
<li class="li3"><span class="s5">*/</span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li3"><span class="s5">/* </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">INCLUDE FILES </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">-------------- </span><span class="s3"> </span></li>
<li class="li3"><span class="s5">*/</span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#include <stdlib.h> </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#include <stdio.h> </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#include "fpc1011.h" </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#include "spi.h" </span><span class="s3"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">//#include "mcbsp55x.h"//cs testing </span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li1"><span class="s1"></span><span class="s2">/* defines */</span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define XEMPTY_BIT 0x04 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define RRDY_BIT 0x02 </span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define MAXROW 200 /* Total number of row in sensor pixel matrix */ </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define MAXCOLUMN 152 /* Total number of column in sensor pixel matrix */ </span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define READ_REGS 0x50 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define READ_SPI_DATA 0x20 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define READ_SPI_STATUS 0x21 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define READ_SENSOR 0x11 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_DRIVC 0x75 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_ADC_REF 0x76 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_SENSEM 0x77 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_FIFO_TH 0x7C </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_XSENSE 0x7F </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_YSENSE 0x81 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_XSHIFT 0x82 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_YSHIFT 0x83 </span><span class="s3"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define WRITE_XREADS 0x84 </span><span class="s3"> </span></li>
<li class="li2"><span class="s4"> </span></li>
<li class="li4"><span class="s1"></span><span class="s2">#define SHIFT_X �