leapmotion / ProjectNorthStar

The open-source files comprising Leap Motion's Project North Star AR Headset.
https://leapmotion.github.io/ProjectNorthStar/
GNU General Public License v3.0
1.7k stars 268 forks source link

Fix build and make functional #25

Closed JimInCA closed 5 years ago

JimInCA commented 5 years ago

There were a number of issues with the prior state of the source code that prevented this repository from building and from running once build issues were addressed. With these changes, this repository should build, load, and run on the AR Display Driver board (rev 2.1?). By running, I mean that once powered up and connected to a host computer through the display port, the host computer should see this board as an auxiliary display and start to stream images to it and the images should be displayed on the two displays attached to this board as left and right half of the image. The issues that were addressed in the delivery were as follows: a. Solution file still referred to files that had been deleted from this repo in a prior delivery. This was fixed by deleting the non-existent files for the solution file. This allowed this repo to build and load onto the ar display board. b. Once loaded, the firmware still did not run. It wasn't even entering main(). I tracked down the problem to the initialization of the processor's clocking. The code was sitting in a while loop waiting for the clock to sync which never happened. I updated the clock configuration and once fixed, the code would make it to main(), run setup(), and then repetitively called loop() (as it should). c. Once running, the code still wasn't streaming images. I needed to update the display settings along with the device pin settings. Once updated, the device started to stream. d. Even though it was streaming, the images were not valid for the back light was not being properly configured prior to turning it on. Updated the setup for the back light prior to turning them on and then the displays were properly lit. Please not that the code is just turning the back lights on at full. This need to be enhanced to drive the back light drivers with a pwm signal synchronized with the display chip's vsync. e. I enhanced the output to the uart to display a header, firmware revision, build date and time, and the displays resolution. f. Suppressed unnecessary debugging messages. g. Added README.md with instructions on setup, build, and installation of the firmware. h. Removed derived build objects that should not be part of this repository. i. Added .gitignore with references to build directories so that git will ignore derived objects.