Overall, we found that our results met our expectations quite well. Going into the project we expected to have a weather update system by the end and we achieved that due to favorable developments in the final week. When we were ready to tackle the interface from the PC to the internet through the VB program, we reached a major roadblock because neither of us knew how to code in VB or write PHP scripts to do the weather lookup. However, we found a public source program with a PHP script containing exactly what we wanted – it would take in an airport code, perform the query, and output back the information into a text file. We then quickly learned how to call this script from the VB program, and taught ourselves simple VB in the matter of an hour. By the end of the lab period, we had a working model. Our strategy from the beginning was to concentrate on the MCU side of the design first, getting everything perfect there because the purpose of the course was to use microcontrollers, not software on a PC. We spent 3 weeks on the MCU side and only left one week for the aspects of the design on the PC, which did turn out in our favor. However, if we were to do this project again, we might consider moving some of the internet interface programming to the middle of the design process so as to provide us a bit more leeway to do more with the project towards the end.
In our design, the main new standard we had to worry about was PS/2, and we were forced to conform with it to get the keyboard working. We did not have to worry about the 802.3 ethernet standard at all since the PC took care of it regardless of the nature of our design, and ANSI C was just the language in which we programmed the MCU code. As for RS232, we used programming techniques covered earlier in the course to ensure proper transmission and receiving of data over the UART. Therefore, our project was quite light in terms of standards we had to intimately worry about in choosing our program design.
As for intellectual property, the only piece of code we had to borrow from someone else was the PHP script that enabled the weather lookup. We found this to be legitimate because it was freely available and distributed from http://pear.php.net/package/Services_Weather/. Our project did not have wireless communication from the keyboard MCU to the PC, which eliminates its usefulness over a regular computer running the VB script. However, our project was about proof of concept, that we could integrate video, keyboard, SPI, and UART technologies, four important topics in the course. Therefore, we feel that the project does not have patent opportunities, but would serve as a good basis for a project in the future that wishes to build on what we did and add wireless or RF capabilities.
We felt that we maintained a high degree of ethical conduct while designing our project. First of all, because of our proof of concept design model, we were able to improve our own understanding of technology and its application, particular those not covered in the ECE476 labs such as SPI and VB programming. Secondly, the project served to increase our technical competence of ECE476 concepts, including serial communication and video. Thirdly, there were many points in the project when we asked the TAs and Professor for critical feedback on our design, for example when we were obtaining significant flicker on the TV screen, and this helped us to build a system that was more robust. Fourthly, we avoided conflicts of interest by helping other students with problems with their project but not sharing our code, because if we did the latter, we would be helping our friends get ahead of the rest of the class, an unfair advantage that should not be tolerated. One example of when we helped another group was when they were doing a project which involved decoding PS/2; we helped them to understand how PS/2 works and the decoding scheme, but did not share our code for the actual decoding. Lastly, the fact that we helped others in the class but refused to share code showed that we did indeed support fellow students, both by helping them and supporting them in following the code of ethics.