Home Group Members Schedule Abstract Proposal Update 1 Update 2 Project Report Status Presentation ToDoList
| |
This page logs our current progress in completing our project. We will try to
keep this as up to date as possible (whatever that means).
April 9, 2000
| Created basic project web page |
| Wrote project abstract and linked to web page |
| Finished project proposal |
Week 4 -- Get the
Camera Working and Interfaced to the FPGA
| Monday, April 17: Ask Chris for 128K memory (2 chips)
and a 24MHz clock. |
| Tuesday, April 18:
Installed memory and clock on board.
Set up camera circuit, and verified wiring was correct with Chris.
Tests on the new memory failed. Chris verified these results, found
the memory chip was bad, and replaced it. |
| Wednesday, April 19:
Worked on testing the camera.
When downloading camera interface program to FPGA, the config command didn't
return immediately as expected. Troubleshooting revealed that our
ribbon connector between the camera and the board wasn't working. Used
ribbon connector from Carl's board, and it worked fine. Tested all
pins on our ribbon connector, can't find a problem. We're not sure why
our connector won't work.
Camera image now appears on the screen, but we're disappointed to see that
the image is shaky. This must be resolved otherwise we will not be
able to map the laser beam to the mouse pointer without shaking the mouse
pointer. Carl's camera does not do this and we're not sure why ours does.
However, we tested the image with a bright light and a laser pointer.
Both appear as a bright yellow light on the VGA image. We are a little concerned that there is no difference in appearance between a bright white
light and the bright laser light. Discussed that we may have to consider
using filters. However, this might not be a problem considering lights
are usually turned down when projection is used. We attempted to test the camera on an actual projector in a classroom, but
were unable to get programs that download to the board (xsload and config)
to work on the laptop we were using. We will need to do this testing
at a later time to determine how much room lights will affect our captured
image. |
| Thursday, April 20:
Found downloads for XSTools on Web.
Need to install on Anita's laptop.
Found info on connecting to CSEPCLAB domain. Will work on if needed.
Worked with Carl on Camera. When we hooked it up for him, the
shakiness disappeared (of course! :) ). He said that it was probably noise
on the Frame Start signal. He said our other tape cord was simply too long,
that's why it didn't work. Asked Chris to shorten it, he said to cut it
shorter.
CAMERA SEEMS TO WORK!!! Next we need to work on lowering light threshold -
maybe to the point that the laser is the only thing that it sees?? |
| Friday, April 21:
Worked on lab 4. Found
information on web on how to install XSTools on laptop. Also found
info on connecting laptop to CSEPCLAB Domain. Updated web page.
Somehow lost Frontpage theme on updated pages. Will try and figure
this out / fix on Saturday from lab. |
| Saturday, April 22:
Installed ioport program on laptop.
It seems to work fine.
Having issues with xsload program on laptop. The laptop we are using has
Windows 2000 on it, and the xsload program appears to be setup only for nt.
We are currently working on issues with writing an environment variable to
autoexec.bat to 'hack' it, and make it work in W2K.
Worked on lab 4.
Talked about how to put crosshairs on brightest spot in image from
camera.
Wrote code (untested and uncompiled) for finding brightest spot from
camera. |
Week 5 -- Obtain Laser Pointer coordinates from camera image and use
‘crosshair’ to display on monitor and calibrate
| Monday, April 24:
Group Meeting with Professor Ebeling and get very useful feedback.
Ideas on where to find information on PS/2 mouse port. Need to figure out
how to configure the camera to filter out low intensity light and color map
the highest intensity light to be white.
Working on finding the laser point (i.e., the brightest spot in the image). |
| Tuesday, April 25:
get
part 2 lab4 working. start on part3.
Receive useful web pages for PS/2 mouse from Professor Ebeling. Able
to filter out low intensity light before displaying to the monitor and color
map the highest intensity light to be white (it was yellow before). |
| Wednesday, April 26: Working
on finding the laser point in the image... almost there.
Debug part3 lab4.
Research PS/2 mouse configuration on the internet. |
| Thursday,
April 27: Installed XSTOOLS on Anita 's laptop and works fine
Go down EE1 building classroom to test the camera on actual projector ->
need a monitor to visually observe the image.
Debug part3 lab4 - find out how to use debug in KeilC software
Tracking the laser point when it is in the camera image. Works correctly and
we can demo it at the Engineering Open House tomorrow (or actually later today
since I'm here so late... but it is definitely worth it)! |
| Friday,
April 28: Demo the cross-hairs working at the Engineering Open
House. Get a lot of positive feedback about our project.
Begin looking into the problem of removing the cross-hairs when no laser
pointer is in the image. |
| Saturday,
April 29: Demo for the Engineering Open House. We received a lot of
positive feedback. There were two overwhelming reactions. How are we going to
get a button to work? Anita has taken this part of the project and is
researching the best solution. The other response was when can I buy one of
these???? This question is still up in the air. :)
After the Open House, fixed the problem of having the cross-hairs displayed
even when the laser pointer was not in the image. Noticed another bug. When
moving the laser pointer outside the camera range to the right, the
cross-hairs wrap around to the beginning of the image and are still tracking
the laser. Probably due to the fact that the camera is taking a larger image
than we are displaying. Need to discuss how to solve the problem of wrap
around.
Try to find out how Mouse interact with PC -> need some kind of
intermediate connection for testing. Get some useful PS/2 sources. |
| Sunday, April 30: Day
off from the project - do assignments for other classes!! Much needed!!! ;) |
Week 6 -- Send mouse
coordinates to laptop via PS/2 port
| Monday, May 1st: Ask Chris
for intermediate connection for the mouse.
Update Project status.
Hook up a logic analyzer to the mouse to see if the bit streams it was
sending followed the PS/2 protocol we had researched.
Begin to combine our camera interface (finding the cross hairs) with the
XBus interface (interfacing the FPGA with the microcontroller). We want to
use the microcontroller to talk to the PS/2 mouse port, so we need to send
the coordinates of the laser point to the microcontroller. This will
probably take a while to get all the bugs worked out (just like everything
else). :) |
| Tuesday, May 2nd: Got
Mouse for testing - started taking it apart. Working on sending
coordinates to the PS/2 port. |
| Wednesday, May 3rd:
Put together laser pointer. Works great! Continued work on PS/2
port. Worked on XBus interface. Had a bunch of questions. |
| Thursday, May 4th:
Studied for 477 midterm on Friday! |
| Friday, May 5th:
MIDTERM! Tried to download pictures from Rebekah's camera for use in
our presentation on Monday, had some issues. |
| Saturday, May 6th:
Worked more on XBus interface. Did a bunch of research into drivers,
etc., for mouse port. Appears we can use the pen unidriver to run our
laser mouse with just a couple of tweaks. Also might be able to use
the calibration applet that it includes. Wrote outline for
presentation on Monday. |
| Sunday, May 7th: Got
pictures off Rebekah's camera for use in presentation. They're pretty
cool! Wrote presentation to be given in class on Monday. We're
the first to present. :) |
Week 7 -- Work on mapping between camera pixels, laptop pixels, and
projection screen pixels. Work on steadying mouse movements on projected
screen.
| Monday, May 8th: Gave
presentation in lecture. It went great! Met with Carl about
status of our project, and timing issues. Seems putting mouse driver
code in the microcontroller will still work fine. We must've done
something wrong when we tried to figure it out. |
| Tuesday, May 9th:
Working on getting laptop on network so we can download Microsoft DDK to
write / tweak driver & calibration app. Working on logic for
PS/2 Port. |
| Wednesday, May 10th: compile
the code to send something to the computer. Get problem with the clock
signal (not stable.) - debug it |
| Thursday, May 11th: Fix
clock's problem in lab hours. Find out the mouse actually send 4
packets instead of 3 (as it says in docs). rewrite the code. |
| Friday, May 12th: Burned
CD of Windows 2000 DDK and WinNT 4.0 DDK |
| Saturday, May 13th: Loaded
Windows DDK on laptop. Compiled all drivers and examples included. |
| Sunday, May 14th: Do
some tests on PS/2 mouse and found some issue:
- L & R mouse click just send blank packets --> how computer knows
when which one is click???
- there's a time out between packets sent (not saying in doc) -->
modified our clock code |
Week 8 – Add buttons to laser interface for standard mouse click
| Monday, May 15th: Bought
book on windows drivers to help out
Search for PS/2 male - male cable. Do some research on how to send device ID
to computer when it's power up. Couldn't find anything useful. |
| Tuesday, May 16th: Got
cable from Chris Morgan. Got problem with timer 1 interrupt when running
debugging. |
| Wednesday, May 17th: Find
out the debug has no timer 1 checking.
Change the code to not using time 1 for time out. Put everything in
timer 0 instead |
| Thursday, May 18th:
day off |
| Friday, May 19th:
Walking through to make sure the data is synchronous with the clock using
debug in Keil C. Test it with the oscilloscope and find out that the
clock signal is not working the way the debug tells (it's always high.)
working on drivers. |
| Saturday, May 20th: still
working on the driver and PS/2. |
| Sunday, May 21st: Mouse
clock is still not working.
Update web page.
keep working on the driver.
Show other group about our project.
|
Week 9 – Flex Time and Final Project Documentation (or not :) )
| Monday, May 22nd: Mouse clock works! Updated web page
again. Talked about not using software driver, but instead either
doing calibration and relative coordinates in hardware. Think software
driver will work fine, but not sure if it will work in 2 weeks or not.
Options include either using touch screen interface and driver (which uses
the serial port) or doing it in hardware and using the PS/2 port to ship it
to the computer. ISSUES: seems the touch screen (and we think
the mouse too) is pinged by the computer to see what type of device it
is. We'll have to figure out how to 'answer' this ping, no matter
which way we end up going. |
| Tuesday, May 23rd: WE MOVED THE MOUSE ON THE COMPUTER!!!
YEAH!!! Go, ANH!!!! In other, much less exciting news, we
got the XBus interface imported into the Camera project. We are also
working on the correlation between camera pixels and screen pixels in
hardware. We are now testing the XBus interface also. We still
have our fingers crossed that this will all work in 10 days. :) |
| Wednesday, May 24th: Worked with Carl to try and find
one extra pin we needed. We're going to try to use the new XESS board,
but we need one more pin. Talked with Carl about it, and mapped out
what we have connected to what pin vs. what we still need. He's
helping us check to see if we can 'magically' find another pin. |
| Thursday, May 25th: Tried to use EEPROM to config
camera, which would free up enough pins for the XBUS. It didn't
work. Seems this board doesn't have a pin connected that the old board
does, which is used in the EEPROM config circuit. :( |
| Friday, May 26th: Continued working with Carl about pin
issues. He suggested we have another board set up to config the
camera, and then just unhook the camera from that board once it is
configured. Scheduling time to meet with Carl about this. |
| Saturday, May 27th: Day off! |
| Sunday, May 28th: Worked on presentation of
Project HEAD CASE for class on Wednesday. |
Week 10 – Flex Time and Final Project Demo
| Monday, May 29th: Worked with Carl on setting up extra camera
board to config camera. In the laser spot module, got algorithm for
finding 2 and 3 pixels in a row working. There might be an issue with
the laser spot not being 3 pixels if it is very far away. Will test in
classroom. Re-wired and cleaned up board. Continued working on
project Head Case presentation. |
| Tuesday, May 30th: Met and worked on presentation.
Tried to integrate project parts by adding XBUS interface, having problems
config'ing camera. Trying to meet with Carl tomorrow for help.
Updated web page. |
| Wednesday, May 31st: Anh gave presentation in class on
project Head Case. Great Job, Anh!! Met with Carl about camera
config problems. Turns out, we had some bad parts. Switched out
parts, and now that part works fine. We tried to uncomment the XBUS
pins in the .ucf file in the FPGA code, and got errors. Xilinx
wouldn't implement the project. We noticed two signals com0 and com1
didn't have an IBUF on the input, so after we added those, we got rid of the
first errors, but encountered more. We sent Carl more mail about our
newest problems. We added a reset switch to the board so we can use
the Atmel microcontroller, and we integrated all of our microcontroller code
into one project. This way, as soon as we figure out the XBUS
implementation pin errors we are getting, we can put it all together, and in
Anh's now famous saying "plug and pray". :) |
| Thursday, June 1st: Worked with Carl to resolve pin
issues. Think we have enough pins now. Will integrate project on
Saturday. |
| Friday, June 2nd: Day off! Needed to finish other
final projects. |
| Saturday, June 3rd: Tried to fully integrate project.
Had problems hooking up CLK, as pin 28 was being driven low. |
| Sunday, June 4th: Worked on final presentation. |
| Monday, June 5th: Gave final presentation in class.
Click here to see
it! Got past CLK pin issues - they're not exactly fixed, but we have a
lame workaround. Now trying to integrate project. Turns out PS2
stuff needs XSPORT1 and then XSPORT0, which messes up something with the
Atmel chip (this worked on the Oki). Working on PS2 code to fix this. |
| Tuesday, June 6th: Got PS/2 code working on the Atmel
chip. However, when we try and put in on the camera board, absolutely
nothing happens. After extensive testing, seems to be that it works
great on the new XS40 board, but not at all on the old XS40 board.
Things that make you go Hmmmm..... sent Carl mail, hoping for more
assistance. :) Working on final documentation. |
| Wednesday, June 7th: Continued work on final
documentation. Still haven't gotten anywhere with the old XS40 board /
new XS40 board issues. |
| Thursday, June 8th: Handed in final documentation.
Demo'ed project to Carl. Seems Rebekah and Anita might continue work
on Laser Mouse this summer with Carl's help. Final Status:
We have the Camera & FPGA modules working correctly, and the find and
track the brightest spot. We test this by having showing crosshairs
where the bright spot is on the VGA monitor. We also have the
correlation and calculation and the PS/2 modules working together in the
microcontroller. We can run a test program that moves the mouse on the
computer in a pattern, through our PS/2 hookup. However, the two
pieces can't be tested together, due to the old XS40 board / new XS40 board
issues described above. |
|