Intended audience This project requieres knowledge of libusb ([url removed, login to view]) and PIC16C745 ([url removed, login to view]) My requirement I need two programs that will talk to each other via USB. One is installed on a computer called “host?? and the other on a PIC16C745 called “device??. The host sends a byte. The device receives the byte and outputs it. If nothing is received in 40 seconds, the device outputs a special character. More on “program details??. The environment 1. The device is physically inside the host computer and is always connected. 2. The device is guaranteed to be the only USB device connected to the computer. No need searching for other devices. You may cut corners by incorporating on the host the characteristics of the device. Program details The tasks performed by each program are as follows. 1. On the host (the computer) 1.1. Initialize. 1.2. Open the 4 bytes long file ‘/bar/[url removed, login to view]’ and read the contents (say it is xyzx). 1.3. Set a variable called ‘URL’ as equal to http://xyzx.foo.com. 1.4. Set a variable called ‘LEDS’ to 0x09. 1.5. Download a 200 bytes web page from a web site whose url is ‘URL’. 1.6. If the previous page cannot be downloaded, set LEDS = 0x21. 1.7. If LEDS == 0x21, attempt to download from three sites: google, yahoo and some well known third site. If any of the three succeds, go to the next step. If all sites fail, set LEDS = 0x11. 1.8. Send the value of LEDS via USB to the 16C745. 1.9. Sleep 30 seconds. 1.10. Go to step 1.4. 2. On the device (the 16C745). 2.1. Initialize. For the IO port, set all output except pin 3. 2.2. Set LEDS to 0x00. 2.3. Output LEDS through the IO port. 2.4. Answer any USB communications. 2.5. Read LEDS when it is received via USB. 2.6. Set LEDS = 0x12 if nothing is received from the host after 40 seconds. 2.7. Go to step 2.3.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
The host runs freeBSD. We can provide information on freeBSD. If you are not familiar with freeBSD it’s ok, but you should know how to use libusb (libusb was written for Linux but is ported to freeBSD). The program on the host should be written in c and must use as little RAM and CPU as possible.