doc - ECpE Senior Design

advertisement
Applications for the PDA
Project Final Report
Dec 02-06
December 18, 2002
Client:
National Instruments
Faculty Advisor:
Dr. Steve Russell
Team Members:
Rick Cordaro
Romeo Denghel
Shawn Rouse
Holly Denghel
i
TABLE OF CONTENTS
LIST OF FIGURES ...................................................................................................................... ii
LIST OF TABLES ....................................................................................................................... iii
EXECUTIVE SUMMARY ........................................................................................................ 1
ACKNOWLEDGEMENT ............................................................................................................ 2
DEFINITION OF TERMS........................................................................................................... 3
INTRODUCTION......................................................................................................................... 4
General Background ................................................................................................................... 4
Technical Problem ...................................................................................................................... 4
Operating Environment ............................................................................................................... 5
Intended User(s) and Use(s)........................................................................................................ 5
Assumptions................................................................................................................................ 5
Limitations .................................................................................................................................. 6
DESIGN REQUIREMENTS ....................................................................................................... 7
Design Objectives ....................................................................................................................... 7
Functional Requirements ............................................................................................................ 7
Design Constraints ...................................................................................................................... 8
Measurable Milestones ............................................................................................................... 8
END PRODUCT DESCRIPTION............................................................................................. 10
APPROACH AND DESIGN ...................................................................................................... 11
Technical Approach .................................................................................................................. 11
Technical Design ...................................................................................................................... 11
Testing Approach ...................................................................................................................... 20
Risks.......................................................................................................................................... 22
Recommendation for Follow-On Work .................................................................................... 24
PERSONAL EFFORT BUDGET .............................................................................................. 26
PROJECT SCHEDULE ............................................................................................................. 27
EVALUATION OF PROJECT SUCCESS .............................................................................. 29
COMMERCIALIZATION ........................................................................................................ 31
RECOMMENDATIONS FOR ADDITIONAL WORK ......................................................... 32
LESSONS LEARNED ................................................................................................................ 33
PROJECT TEAM INFORMATION ........................................................................................ 34
Client ......................................................................................................................................... 34
Faculty Advisor ......................................................................................................................... 34
Team Members ......................................................................................................................... 34
SUMMARY ................................................................................................................................. 35
REFERENCES ............................................................................................................................ 36
APPENDICES ............................................................................................................................. 37
Appendix 2: Module Testing Form.......................................................................................... 37
Appendix 3: Application Testing Form ................................................................................... 38
i
LIST OF FIGURES
Figure 1: Voltmeter User Interface .............................................................................................. 11
Figure 2: Voltmeter Code ............................................................................................................ 12
Figure 3: Continuous Read Voltmeter Code ................................................................................ 13
Figure 4: PDA-to-PDA Chat User Interface ................................................................................ 14
Figure 5: PDA-to-PDA Chat - Send Message Code .................................................................... 14
Figure 6: PDA-to-PDA Chat - Receive Message Code ............................................................... 15
Figure 7: Automobile Diagnostic Main User Interface ............................................................... 16
Figure 8: Automobile Diagnostic Connector Diagram ................................................................ 16
Figure 9: Finished automobile diagnostic connector ................................................................... 17
Figure 10: ALDL Communications Data Format ........................................................................ 18
Figure 11: Sample Data Stream ................................................................................................... 18
Figure 12: Automobile Diagnostic Decision Tree User Interface ............................................... 19
Figure 13: Automobile Diagnostic Interface - Decision Tree Code ............................................ 20
Figure 14: Original/Revised/Final Gantt chart for EE 491 (First Semester) ............................... 27
Figure 15: Original Gantt chart for EE 492 (Second Semester) .................................................. 28
Figure 16: Final Gantt chart for EE 492 (Second Semester) ....................................................... 28
ii
LIST OF TABLES
Table 1 – Testing Summary .......................................................................................................... 22
Table 2 – Estimated Financial Budget for the Project .................................................................. 25
Table 3 – Original Estimated Personnel Effort Budget for the Project ........................................ 26
Table 4 – Revised Personnel Effort Budget for the Project .......................................................... 26
Table 5 – Summary of Estimated and Actual Personnel Effort for the Project ............................ 26
iii
EXECUTIVE SUMMARY
National Instruments is in the process of developing a programming language that runs on PDAs
(personal digital assistant) running the PalmOS operating system. As with any new product, the
hardware and software requires testing by both the development team and beta users. The
development team often catches many bugs in the software and hardware but cannot find all of
them. Some bugs show up on some systems and not others. Some bugs appear when using
certain operating systems, or when putting modules together in a certain way, or many other
possibilities. That is why beta user testing is so important. It simulates how the product will be
used in real life and can assist in catching bugs before the product is released to the public.
National Instruments has asked this senior design team to be a beta test group. The objective of
this team is to design applications using this software that run on a PDA. These applications will
fulfill two purposes. One, the design and implementation of these applications will assist in
flushing out any bugs that may remain in the software or hardware. Two, these applications will
belong to National Instruments upon completion and may potentially be used as product
demonstrations.
The project consists of three applications. The first application is a basic voltmeter. It takes
measurements in the range of ±10 Volts. The second application is a two-PDA chat program. It
allows two users each with their own PDA and a copy of the application to communicate with
each other by writing messages and transmitting them over a short distance. The third
application is an automobile diagnostic computer interface. Using a connector built by the team,
a person could connect to an automobile’s diagnostic computer, download the available data, and
determine what system(s) on the automobile have a problem, and follow a flowchart to better
pinpoint the problem.
The project is currently in a partially finished state. The team has been successful in their first
objective, finding software or hardware bugs. All three projects are currently being examined to
better determine the source of the errors that are occurring. Due to the problems currently being
explored, the team has not been successful in their second objective, creating applications that
National Instruments could use as demos. However, the team anticipates that these bugs will be
fixed and the projects completed by the date of the industrial review panel presentation.
1
ACKNOWLEDGEMENT
The team would like to thank National Instruments for providing the equipment and software
used in the development of this project.
The team is also grateful for the help of David Gardner, Andrew Dove, Stephanie Rowland, and
Marius Ghercioiu, the company representatives and engineers who have provided helpful
information and technical assistance.
Finally, the team would like to thank Dr. Lamont for his help in getting an additional computer
added to the senior design lab for use in testing our projects.
2
DEFINITION OF TERMS
ALDL – Assembly line diagnostic link
DAQ – Data acquisition
DMM – Digital multimeter
GM – General Motors
GUI – Graphical user interface; the part of the program that the user interfaces with.
IR – Infrared
IrDA – Infrared data acquisition
Palm – A handheld computer developed by the Palm Company (http://www.palm.com/)
PalmOS – The operating system that runs on the Palm handheld computer
PDA – Personal digital assistant, a handheld computer
Software – The programming language being used to develop the applications is still under
development and is considered confidential. For this reason, we cannot disclose the
name of the software in public documents and will instead simply refer to it as
software.
TV – Television
3
INTRODUCTION
GENERAL BACKGROUND
The purpose of the Applications for the PDA project is to design and develop useful applications
for a handheld computer (the PDA). National Instruments is in the process of developing a
programming language that operates on a PDA running the PalmOS. The development team has
asked this project team to create some applications that will help beta test their new software.
Three applications will be developed to meet this need.
1. Voltmeter (previously multimeter) – The task is to produce a fully functional voltmeter
with the appropriate display.
Producing the voltmeter requires only software
implementation, as the hardware already exists.
2. PDA-to-PDA chat – The task is to create an application that allows two PDAs to
communicate via the wireless (infrared) port. Text from one PDA appears on the screen
of the second PDA and vice versa.
3. Automobile diagnostic computer interface – The task is to design a connector and
software to communicate with GM vehicles and their onboard computers. Modern cars
have complex diagnostic systems that are helpful for skilled mechanics but prohibit the
weekend warrior from tinkering with many of the advanced systems. This product allows
anyone the chance to interface with his or her car and read the available diagnostic
information in the same way a mechanic would.
4. Television remote control (obsolete) – Our original project plan included plans for
creating a television remote control that used of the infrared interface. Due to infrared
interface specifications, this project has been cancelled and replaced with the chat
program specified above. The reasons for discontinuing this application are explained in
more detail in the encountered risks section.
TECHNICAL PROBLEM
The preliminary technical approaches are as follows:
1. Voltmeter – A data acquisition (DAQ) card that can connect to the PDA will be the
hardware portion of the application. Two electrical probes attached to the card serve as
the probes for the meter. Finally, software has been written to read from the DAQ card
and display the measurement.
2. PDA-to-PDA chat – The PDA is equipped with an infrared interface that is utilized by
this application. Software has been written to enable the users to send and receive instant
messages by writing to and reading from the PDA’s infrared interface.
4
3. Automobile diagnostic computer interface – The team designed a cable that connects the
automobile’s onboard diagnostic computer to a DAQ card. Development for this project
was twofold. First, a connector was designed to allow the data to be read from the
automobile. Second, software has been written to interpret the diagnostic data and
display it to the user.
OPERATING ENVIRONMENT
The operating environments for these products are varied. For instance, a voltmeter is often used
in a laboratory setting but is also commonly found wherever there is an electrical measurement
to be made. A chat program may be used almost anywhere. The automotive diagnostic tool
could be found in hazardous and dirty conditions. According to the Palm Users Guide, the
handheld computer should not be exposed to rain or moisture, strong impacts, or extreme
temperatures (outside of 32 – 100 F). The environment in which any of these tools may be
used is varied, and the tools will be designed so that the constraints of the PDA are the limiting
factors.
INTENDED USER(S) AND USE(S)
The intended user(s) and use(s) follow:
1. Voltmeter – Electronics workers and engineers measuring small voltages within the ±10
Volts range.
2. PDA-to-PDA chat – People who want to send instant messages at close distance without
using the Internet.
3. Automobile diagnostic computer interface – The home-based mechanic who needs to
quickly and accurately diagnose his or her vehicle.
ASSUMPTIONS
The following assumptions were made about the user.



The user is assumed to know how to turn on a Palm PDA and operate a touch screen
interface.
The user is assumed to be familiar with their particular application (for instance, a typical
voltmeter user is an electrical engineer and the auto diagnostic tool is used by a trained
mechanic).
Users wishing to use the chat program have the software installed on both PDAs that will
be used to chat.
5
LIMITATIONS
The following limitations were made when developing the applications.












The auto diagnostic tool may only be used for GM vehicles using the same connector
cable and data specifications as the 1988 Pontiac Grand Prix. This is due to the fact that
cable and data specifications vary widely between models and years.
Design implementation was limited to total cost of all chosen parts.
Any parts selection will be limited to availability.
Design complexity will be limited to a two-semester turn-around time.
All external devices are constrained by the input and output ports of the DAQ card and
voltage requirements of the PDA, which is why the change from multimeter to voltmeter
was made.
The size and weight of external devices should be no larger than the PDA and DAQ card.
Power consumption while the applications are in use is limited to what the PDA can
provide.
Infrared transmissions are valid for distances of less than five feet.
Infrared transmissions are limited to line-of-sight.
All other physical requirements are limited to the PDA or DAQ card’s specifications.
Cost may not exceed a budget of $150, which is provided by the team members.
Voltmeter accuracy is limited to the accuracy of the DAQ card, which is approximately 1
millivolt.
6
DESIGN REQUIREMENTS
DESIGN OBJECTIVES
Each application has its own design objectives.
1. Voltmeter – This design objective has changed since the writing of the Project Plan
document. Due to the electrical constraints of the chosen DAQ card, only a digital
voltmeter will be designed and implemented. The small range and limited accuracy of
the DAQ card make creating an entire multimeter impractical and possibly hazardous to
the DAQ card. The voltmeter will use the PDA for displaying output and the DAQ card
as input source.
2. PDA-to-PDA chat – The objective is to design and implement a tool for the PDA that
will be used to send and receive instant messages using the PDA’s infrared capabilities
3. Automobile diagnostic computer interface – The objective is to design and implement a
diagnostic tool for the PDA that will interface with the on-board computer on a 1988
Pontiac Grand Prix and vehicles with similar systems through the DAQ card.
FUNCTIONAL REQUIREMENTS
1. Voltmeter
 Measure and display voltage from the DAQ card
 Provide both an analog as well as a digital display of the measured voltage
2. Chat program
 Send instant messages
 Receive instant messages
3. Automobile diagnostic computer interface
 Adaptable to all GM cars that use the same physical connector and data specifications
as the 1988 Pontiac Grand Prix.
 Display an error code being signaled by the automobile’s on-board computer
 Interpret the error code and display the affected system to the user
 Provide an interactive decision tree (yes/no questions) for pinpointing the faulty
component in the system producing the error
 Assist the user in finding additional information in the appropriate reference manual
7
DESIGN CONSTRAINTS
1. Voltmeter
 Input levels and accuracy limited to the DAQ card’s capabilities. The DAQ card can
handle ±10 Volts and has an accuracy of 1 millivolt.
 Operation under interference limited to PDA capabilities
2. Chat program
 PDAs must be within five feet of each other due to infrared limitations
 PDA infrared ports must be within the line-of-sight of each other due to infrared
limitations
3. Automobile diagnostic computer interface
 Diagnostic capabilities and accuracy limited to on-board computer capabilities
 Access to on-board computer
 Interpretation of data is limited to what General Motors or other suppliers have made
publicly available
4. The following design constraints are applicable to all three applications
 User-friendly
 Power consumption limited to PDA capabilities
 Operating environment limited to PDA capabilities
 Display capabilities limited to PDA capabilities
MEASURABLE MILESTONES
The following eight items are the major milestones accompanied with bulleted lists of items that
constitute the tasks that must be accomplished to successfully complete the milestone. A
milestone is considered successful if all of the accompanying tasks are finished. The percentage
in parentheses is what weight each milestone has relative to the entire project.
1. Project definition (5%)
 Define applications to be developed
2. Project design (10%)
 Define functionality of each application
 Develop prototype user interfaces for each application
 Outline program flow
3. Research (10%)
 Research on-board computers of GM automobiles and determine what data is
produced and how the system may obtain this data
 Research infrared capabilities of the Palm as well as infrared requirements of
televisions and television remote controls
8
4. Implement voltmeter (10%)
 Set up DAQ card to receive voltage information
 Create software application to receive, interpret, and display data provided by DAQ
card.
5. Implement automobile diagnostic computer interface (15%)
 Create hardware connector for connecting to the automobile’s on-board computer.
 Create software application to receive, interpret, and display data from the on-board
computer.
 Create decision charts for each of the possible systems in which an error could occur.
6. Implement chat program (15%)
 Create software to send instant messages
 Create software to receive instant messages
7. Testing (30%)
 Test each application for software bugs
 Test each application for accuracy
 Conduct user testing when possible.
8. Documentation (5%)
 Document final results
 Prepare final report
 Present results
9
END PRODUCT DESCRIPTION
The end product is a collection of three software applications that run on most PDAs that use the
PalmOS and have an infrared interface. The first application adapts a PDA to work as a digital
and analog voltmeter. The second application allows two users each with their own PDA to
communicate using a chat program that utilizes the PDAs’ wireless ports. The third application
allows the user to communicate with the onboard diagnostic computer of GM vehicles that use
the same connector and data standard as the 1988 Pontiac Grand Prix. This allows the user to
diagnose internal mechanical problems in much the same way as certified mechanics. The
voltmeter and automobile computer diagnostic interface applications require the use of
specialized hardware to interface between the PDA and the incoming electrical signals.
10
APPROACH AND DESIGN
TECHNICAL APPROACH
The client has specified the technical approach. This project is to be done using two PDAs
supplied by the client and two DAQ cards purchased by the client. The software applications are
to be programmed using a beta version of software that is currently being tested for the PalmOS
environment.
TECHNICAL DESIGN
The project has three parts, each corresponding to one of the three applications. Each part has its
own design specifications and considerations.
1. Voltmeter

User interface
The first task for this application is to design a user-friendly voltmeter display
(Figure 1). The interface should be designed so that anyone familiar with a
conventional voltmeter should be able to use it without instruction.
The interface will have both a digital LCD display and an analog dial display.
The user can set the data range and the DAQ channel that will be used to obtain
the reading.
Figure 1: Voltmeter User Interface
11

Data acquisition
The programming language has pre-written data acquisition functions that work
with the DAQ cards of other manufacturers. One of these is used to obtain the
data from the DAQ card.

Processing data
The main voltmeter module initially sets up the connection to the DAQ card.
After that, readings are taken continually until an error occurs or the user clicks
“EXIT”. The meter and digital monitor on the front panel are updated after each
reading to show the latest data. The code for the voltmeter is shown in Figure 2
below.
Figure 2: Voltmeter Code

Continuous read voltmeter
To test more than one DAQ card function, a second voltmeter was written that
takes 1500 samples an averages them before providing the result to the user. The
code for this second version is shown in Figure 3.
12
Figure 3: Continuous Read Voltmeter Code

Current status of this application: Completed (100%)
Both versions of this application are functional and have been tested to the team’s
satisfaction.
2. PDA-to-PDA chat

User interface
The first task for this application is to design a user-friendly interface that is easy
to use and resembles a classic chat program (Figure 4). It needs to have a field for
entering text, a button to send the entered text to the chat partner, and a field for
reading text received from the chat partner.
13
Figure 4: PDA-to-PDA Chat User Interface

Send instant message
This code is responsible for sending an instant message to the receiving PDA.
When the user is ready to send a message, they click the “SEND” button. The
send message module then transmits the message. It must first set up an IrDA
connection. It then transmits the message and finally closes the connection. The
code is shown below in Figure 5.
Figure 5: PDA-to-PDA Chat - Send Message Code
14

Receive instant message
This code is responsible for receiving an instant message from the emitting PDA.
A listener is set up to listen for an IrDA connection. When one is detected, the
message is received and displayed to the user. Then the connection is closed and
the program waits for the next IrDA connection. The code for this module is
shown below in Figure 6.
Figure 6: PDA-to-PDA Chat - Receive Message Code

Current status of this application: Mostly completed (75%)
Both the send message and receive message modules have been thought out,
designed, and written. However, there currently are problems with receiving
messages. The team has experimented with several different algorithms and
worked with National Instruments to resolve this issues, but was unsuccessful.
National Instruments is aware of the issues that the team has had and the steps
that were taken to try to resolve the issue.
3. Automobile diagnostic computer interface

User interface
The first task for this application is to design a user-friendly interface to display
error codes as well as the system to which the error refers (Figure 7).
15
Figure 7: Automobile Diagnostic Main User Interface

Hardware connector
Commercially made connectors are available for purchase. However, these are
very expensive and can range from $50.00 and higher. The team decided it was
more practical to create a homemade connector than to purchase one. A diagram
of the automobile socket pin out is shown in Figure 8. The connector on the
automobile is in the shape of a normal 25-pin D-sub connector with four slots.
Top View
Ground (Black)
160 Baud Data (Red)
5 Volts (Black w/ Stripe)
8192 Baud Data (Green)
Side View
Figure 8: Automobile Diagnostic Connector Diagram
16
The connector was made with a normal 25-pin D-sub female connector. Pins
from a male connector were inserted into the appropriate slots and wires were
soldered onto the pins. The wires are colored coded as noted in Figure 8. The
remaining holes were then covered. The finished cable is shown in Figure 9.
Figure 9: Finished automobile diagnostic connector

Data acquisition and interpretation
To obtain the data from the automobile’s diagnostic computer, a module that
reads continuously from the DAQ card will be used. This DAQ module is a
standard software module that comes as part of the programming language
package. Thus, no actual code needs to be written to accomplish this task. The
data is interpreted by a processing module, which is discussed in the next section.
The connector, called an ALDL (Assembly Line Diagnostic Link), has a specific
output scheme. The communications data format is shown below in Figure 10.
This is how the data will be interpreted to determine the error code that the
automobile’s computer is transmitting.
17
Figure 10: ALDL Communications Data Format
The easiest way to determine if a 0 or 1 bit is being transmitted is to measure the
time interval between negative going transitions (i.e. the end of the start time) and
then the next positive going transitions (i.e. the start of the stop time).
Data bytes (8 bits) are transmitted with the most significant bit first. A leading 0
logic level start bit (indicated as bit S in Figure 11) is added to delimit successive
bytes. This gives a total of 9 bits per transmitted byte. The screen shot here shows
3 groupings of 9 data bits (the waving signal is due to the measurement technique.
The first character is a SYNC character followed by the character 20H
(000100000) and 0FH (000001111).
Figure 11: Sample Data Stream

Diagnostic chain
This code will be displayed when the user presses the “View Diagnostic Chain”
button on the main user interface. This code will execute a “yes/no”-based
decision tree. There are several possible decision trees; the one shown will be
based on the error code received from the automobile’s on-board computer. The
purpose of the decision tree is to pinpoint the exact error in the automobile
18
system. The user interface of the “View Diagnostic Chain” code is shown below
in Figure 12.
Figure 12: Automobile Diagnostic Decision Tree User Interface
The actual code of the decision tree is a basic state machine. Initially, the Yes and
No buttons are enabled and the Exit button is disabled and grayed out. The
problem system and initial question are displayed on the screen. The user clicks
either yes or no in answer to the question and the next question is displayed.
Once the user has reached the bottom of the tree, the Yes and No buttons are
disabled and the Exit button is enabled. The code for one of the decision trees is
shown below in Figure 13.
19
Figure 13: Automobile Diagnostic Interface - Decision Tree Code

Current status of this application: Mostly completed (75%)
The connector has been completed and the research on the data format is
complete. The team was able to download data from the automobile’s diagnostic
computer. However, the data received was not at the expected 160-baud rate and
data format. The data received was at the 8192-baud rate and format. This is a
data format considered proprietary by GM and cannot be interpreted based on the
data the team has found. Although the data interpretation code cannot be
completed, the auto diagnostic chains are complete. So although the user would
have to purchase a commercial scan tool, they would at least be able to use the
application to narrow down the problem after receiving the error code from the
scan tool.
TESTING APPROACH
Two types of testing shall be used to verify the validity of all of the code for each of the three
applications.
1. Module testing
As each individual piece of code is developed, it shall be tested to insure that it meets all
of its particular specifications. The developer as a part of the code-writing process shall
do this testing. This testing shall mainly consist of boundary and statements tests,
verifying that each piece of code performs as it is supposed to within and outside of its
normal operating constraints. This testing is vital for ensuring that all data, both valid
and invalid, is handled properly. For a module of code to pass this test, it must have all
inputs tested satisfactorily over a sufficient range of values inside, near the boundaries of,
and outside of its normal operations range. These tests shall be recorded on the “Module
Test Form”, located in Appendix 1.
20
2. Application testing
Once the individual functions or modules of code are written and tested, they will be
integrated into an application and tested as a unit. The developers will also handle
application testing. Each module should have been thoroughly tested by the module
testing so that any errors uncovered in this portion of the testing should be errors in the
handing of data from one area of the program to another. The team will use a top-down
approach by testing the overall functionality of the integrated portions and then, if
necessary, move down into the functionality to uncover what portions of data exchange
are not functioning properly. For a clump of integrated modules to pass the integration
test, all functions of the inputs should be successfully tested over a range of valid and
invalid inputs. These tests shall be recorded on the “Application Test Form”, located in
Appendix 2.
Voltmeter testing:
Inputs of –10, -7.5, -5, -2.5, 0, 2.5, 5, 7.5, and 10 Volts will be tested. Measurements will
be compared with the readings from a standard laboratory multimeter and a standard
handheld multimeter. If the reading from the PDA is within one standard deviation of the
readings of the two multimeters, the voltmeter will pass the test.
PDA-to-PDA chat testing:
Several messages will be sent between the two PDAs over varying distances to verify that
the chat program works within the specified physical distances and line-of-sight
requirements. Also, the program will be tested to be sure that data buffers will not
overflow.
Automobile diagnostic interface testing:
Several errors will be simulated on a 1988 Pontiac Grand Prix by removing parts and
testing to verify that the application interprets the error code correctly. The decision trees
will be followed along all paths to verify that all branches are correctly implemented.
A summary of testing appears below in Table 1. All of the tests are module tests.
21
Table 1 – Testing Summary
Module
Tested
Voltmeter
Voltmeter
Automobile
Diagnostic
Tested By
Status
Comments
10/4/02
10/26/02
# Times
Tested
6
3
R. Cordaro
R. Cordaro
Failed
Failed
11/4/02
4
R. Cordaro
Failed
Chat Program
11/9/02
8
R. Denghel
Failed
Chat Program
11/10/02
3
R. Denghel
Failed
Offset Problem
Offset Problem
Continuous DAQ
acquisition not working
IrDA ports not
connecting
IrDA ports not
connecting
5
H. Denghel
Success
5
4
8
R. Cordaro
R. Denghel
H. Denghel
Success
Failed IrDA read/write timeout
Failed IrDA read/write timeout
1
R. Cordaro
Failed
Unexpected data format
15
R. Cordaro
Failed
IrDA timeouts
Date
Auto Decision
11/10/02
Tree
Voltmeter
11/20/02
Chat Program 12/1/02
Chat Program 12/2/02
Auto
12/03/02
Diagnostic
Chat Program 12/7/02
RISKS
Encountered risks:
1. Client misses promised delivery deadline(s)
This risk occurred during the design process. Originally, the team was scheduled to
receive the PDAs, DAQ cards, and a beta version of the software on March 15. Actually
delivery of the equipment occurred during the first week of August. Most of the
development time that was lost was during the summer months, which did not have too
much of an impact. The major impact was that the team did not have time to become
more familiar with the equipment prior to starting actual application development. The
team managed this risk by compressing the schedule, but its impact is still being felt.
2. Bugs in client’s prototype hardware or software
The software and hardware that are being provided by the client are still in the
development phase. As beta testers, one of the team’s objectives is to find and report any
bugs that are found. This risk has impacted the team, but the extent is not known.
Currently, there are problems with all three applications. However, the team cannot be
certain in any of the three cases if the problems encountered are due to problems with our
designs or if there is a bug in the hardware or software. This uncertainty has lengthened
the amount of time it is taking to develop each of the three applications. The team
managed this risk by communicating with the National Instruments developers frequently
and keeping them advised of the problems since they can better determine if the problems
the team is experiencing are possible bugs.
22
3. Inability to find documentation for the automobile onboard computer
This risk prevented the team from completed the automobile diagnostic tool. The
publicly available data formats were not the ones used by the vehicle that was chosen.
The team managed this risk by completing all of the decision trees and by making an
extra voltmeter that used the modules that should have been used by the automobile
diagnostic tool. This ensured that at least all of the DAQ modules were tested.
4. Inability to complete a proposed application
This is a risk that the team did not originally anticipate but had to compensate for. The
team had originally intended to create a television remote control to test the infrared
capabilities of the PDA and the IrDA modules. However, upon researching the infrared
signals that television infrared ports require versus the infrared signals that the PDA’s
infrared interface can produce, the team discovered that the two were incompatible. The
team discussed possible ways of coding the specifications using C DLLs that could be
incorporated into the modules. However, this was rejected for two reasons. One, it was
quite possible that the C DLLs would make the modules too large for the PDA’s limited
memory space. And two, although this would have made use of the PDA’s infrared
interface, it would not have tested the programming language’s IrDA functions. Since
testing the programming language is one of the main objectives of this project, that was
the major reason for abandoning the television remote control project. To replace this
project, the team proposed writing a PDA-to-PDA chat program that would send instant
messages between two PDAs using the infrared interface and the IrDA functions.
National Instruments approved this substitute project. The major impact of this risk was
loss of time due to researching a project that was not implemented.
Risks that were not encountered:
1. Loss of a team member
This is a risk that is possible in any project and was planned for to minimize its impact
were it to occur. The team kept all members up-to-date on what each member was
working on and did its best to document code and research so that other members could
pick it up and continue working if necessary. If this risk had occurred, its biggest impact
would have been the redistribution of work among the remaining members.
2. Client cancels the project
As the end of the second semester of development drew near, the likelihood of this risk
became smaller and smaller because the client was growing closer and closer to their
anticipated release date. Now that the team has the software, hardware, and PDAs, the
only impact this risk could have had was in losing the technical support of National
Instruments.
23
RECOMMENDATION FOR FOLLOW-ON WORK
National Instruments intends to release this product sometime in the early part of 2003. One of
the major objectives of this project was for the team to act as beta testers for National
Instruments. Since they will not need beta testers after the product has been released, there is no
work that could be done by a future senior design team.
24
FINANCIAL BUDGET
The client provided the following hardware and software that includes, but is not limited to, two
Palm m505 series PDAs, two DAQ cards, two signal cables, two signal connector blocks, and
two copies the development software package. The team provided the hardware for the
automobile connector, telephone and postage, and the poster. Original estimates neglected to
take the connector cost into account. Table 2 below shows the costs.
Table 2 – Estimated Financial Budget for the Project
Item
Hardware
Palm PDA (2)
DAQ Card (2)
Software
Automobile Connector
25-position D-sub metalized hood
8’ of insulated wire
Epoxy
22-18 gauge crimp-on spade terminal (4)
4-pin male interlocking power connector
Electrical tape
1’ x 1’ cardboard
Telephone and Postage
Poster
Total
Original
Estimated
Cost
$ 1060.00
$ 600.00
$ 460.00
$ 4000.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
40.00
$
50.00
$ 5150.00
25
Revised
Estimated
Cost
$ 1060.00
$ 600.00
$ 460.00
$ 4000.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
0.00
$
40.00
$
50.00
$ 5150.00
Final Cost
$ 0 (client provided)
$ 0 (client provided)
$ 0 (client provided)
$ 0 (client provided)
$ 16.13
$ 2.19
$ 4.98
$ 2.99
$ 1.69
$ 3.19
$ 0.99
$ 0.10
$
36
$
80
$ 132.13
PERSONAL EFFORT BUDGET
Table 3 is an estimate of the time each individual is expected to contribute to the project. Table
4 is a revised version of Table 3 based on actual data and more accurate predictions. Table 5
shows our total hours to date. The final hours are less than the estimated hours due to
unexpected stalls in development when the team conferred with the client about possible bugs.
Table 3 – Original Estimated Personnel Effort Budget for the Project
Task
Research
Documentation
Poster
Meetings
Design
Programming
Assembly
Testing
Presentation
Total Effort
Rick
Cordaro
5
14
4
64
15
10
4
15
8
139
Shawn
Rouse
10
12
6
64
15
10
4
15
6
142
Romeo
Denghel
1
15
2
64
15
40
2
4
4
147
Holly
Denghel
1
12
3
64
15
40
0
4
4
143
Total
Hours
17
53
15
256
60
100
10
38
22
571
Table 4 – Revised Personnel Effort Budget for the Project
Task
Research
Documentation
Poster
Meetings
Design
Programming
Assembly
Testing
Presentation
Total Effort
Rick
Cordaro
5
8
8
50
12
30
0
12
4
129
Shawn
Rouse
10
5
6
50
12
10
4
6
4
107
Romeo
Denghel
0
8
2
50
12
30
0
12
4
118
Holly
Denghel
0
15
3
50
12
20
0
6
8
114
Total
Hours
15
36
19
200
48
90
4
36
20
468
Table 5 – Summary of Estimated and Actual Personnel Effort for the Project
Task
Rick Cordaro
Shawn Rouse
Romeo Denghel
Holly Denghel
Total Effort
Original
Estimated Effort
139
142
147
143
571
Revised
Estimated Effort
129
107
118
114
468
26
Actual Effort
To Date
115
80
90
105
390
PROJECT SCHEDULE
Figure 14 is the Gantt chart for EE 491. The original, revised, and final chart for EE 491 are the
same; no changes have been made since the design report. It is shown below.
January February
March
April
14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29
Develop Project Plan
Define Project Scope
Define General Functions Required
Draft Project Plan
Review and Update Project Plan
Develop Project Poster
Define Poster Content
Develop Poster Content
Layout Poster
Create Poster
Revise and Finalize Poster
Develop Project Design
Define Operating Environment
Define Intended User(s) and Use(s)
Define Initial Assumptions and Limitations
Define Schedule and Budget
Create Project Design
Review and Update Project Design
Draft Project Design Report
Revise and Update Design Report
Research
Research Voltmeter
Research IR protocol and TV interface
Research ALDL protocol and connector
Figure 14: Original/Revised/Final Gantt chart for EE 491 (First Semester)
Figure 15 is the original/revised Gantt chart for EE 492. This chart shows all implementation
and code revision being finished before November, with November dedicated to extensive
application and user testing as well as preparing the final report and the presentation.
Figure 16 is the current, up-to-date Gantt chart for EE 492. Due to all of the problems the team
has had in implementing the applications, implementation and module testing is being pushed
out to almost the end of November. Application testing time has been shortened and intensified,
with most of the application testing being done in just a couple of weeks. This is unfortunate,
but it is difficult to test a product that does not work! Due to the team giving their practice
presentation early in September, the dates for the gathering of information for the final report and
designing the presentation are much earlier than intended. These dates are split, showing that the
drafting began in September, was halted to allow implementation to proceed, and will be finished
up in November and early December. Also, the change from implementing a television remote
control to implementing a chat program should be noted.
27
August September
October
November December
12 19 26 2 9 16 23 1 7 14 21 28 4 11 18 25 2 9 16 23
Implement Voltmeter
Gather Parts
Implement Code
Module Testing
Integration Testing
Revise Code
Retest Code
Testing Phase 1
Application Testing for Voltmeter
Implement Auto Diagnostic Interface
Gather Parts
Implement Code
Module Testing
Integration Testing
Revise Code
Retest Code
Implement TV Remote Control
Implement Code
Module Testing
Integration Testing
Revise Code
Retest Code
Testing Phase 2
Application Testing for Auto Diagnostic
Application Testing for TV Remote
Develop Final Report and Presentation
Define Final Report Contents
Develop Presentation
Draft Final Report
Figure 15: Original Gantt chart for EE 492 (Second Semester)
August September
October
November December
12 19 26 2 9 16 23 1 7 14 21 28 4 11 18 25 2 9
Research
Research Voltmeter
Research IR protocol and TV interface
Research ALDL protocol and connector
Implement Voltmeter
Gather Parts
Implement LabVIEW Vis
Module Testing
Integration Testing
Revise Code
Retest Code
Testing Phase 1
Application Testing for Voltmeter
Implement Auto Diagnostic Interface
Gather Parts
Implement LabVIEW Vis
Module Testing
Integration Testing
Revise Code
Retest Code
Implement PDA to PDA Chat
Implement LabVIEW Vis
Module Testing
Integration Testing
Revise Code
Retest Code
Testing Phase 2
Application Testing for Auto Diagnostic
Application Testing for PDA to PDA Chat
Develop Final Report and Presentation
Define Final Report Contents
Develop Presentation
Draft Final Report
Figure 16: Final Gantt chart for EE 492 (Second Semester)
28
EVALUATION OF PROJECT SUCCESS
At this point in time, the evaluation of project success is mixed. This project has two objectives:
assist in beta testing of the software package, and create demonstration applications that National
Instruments could use in the future. As far as the first objective is concerned, the team has been
very successful. The team has found several issues while working with the products and has
made these issues known to the development team at National Instruments. In our second
objective, the creation of demo applications, the team has been less than successful. Each of our
applications has a problem that is currently being worked out. Pending the successful resolution
of these issues, the team is optimistic that the second objective will be met prior to the industrial
review panel presentation.
As far as the milestones themselves, here is a breakdown of the relative success of each
milestone: To measure the success of the milestones, the following scale has been used. The
percent given is how much work has been done on that particular milestone, not on the entire
project.






Not attempted
Started
Partially completed
Mostly completed
Completed
Completed above and beyond
0%
25%
50%
75%
100%
>100%
1. Project definition – Completed
This milestone has been fully met. The project was defined in the project plan and
redefined in the design plan. The National Instruments development team approved the
proposed applications.
2. Project design – Completed
This milestone has been fully met. Our project has been completely defined and is in the
implementation and testing phase.
3. Research – Completed
This milestone has been fully met. The research is complete and the team has all of the
information required to implement each application, pending the resolution of
outstanding issues.
4. Implement voltmeter – Completed
Two versions of the voltmeter have been implemented and are fully functional.
29
5. Implement automobile diagnostic computer interface – Mostly completed
This milestone has been partially met. The hardware connector and the diagnostic
decision tree are both complete. However, the team was unable to interpret the data
received from the automobile due to the proprietary information of the data scheme
utilized by GM.
6. Implement chat program – Partially completed
This milestone has been partially met. The design of both the send message and receive
message modules has been written. However, the issue regarding the send/receive
timeouts was not resolved prior to the end of the semester.
7. Testing – Completed
All functional modules have been tested completely and to the team’s satisfaction.
8. Documentation – Mostly completed
Upon the completion of this document, this milestone will be completely met.
As a whole, the project is mostly completed. Although the team was not able to complete all of
the intended applications, they did fulfill their intended function as beta testers.
30
COMMERCIALIZATION
Commercialization does not apply to this project. The purpose of this project is to assist
National Instruments with their beta testing and provide them with demo applications. The demo
applications may possibly be used as examples, but National Instruments provides examples free
of charge.
31
RECOMMENDATIONS FOR ADDITIONAL WORK
National Instruments intends to release this product sometime in the early part of 2003. One of
the major objectives of this project was for the team to act as beta testers for National
Instruments. Since they will not need beta testers after the product has been released, there is no
work that could be done by a future senior design team.
32
LESSONS LEARNED
What went well:
 Brainstorming application ideas
 Defining application ideas and having them approved by National Instruments
 Dividing the work among the group members
What did not go well:
 Understanding the document requirements
 Getting the client demos to work on the team’s systems
 Meeting deadlines
 Scheduling
Technical lessons learned:
 Different infrared protocols (TV remote control modulation scheme vs. IRDA data
transfer scheme)
 Datalog functions in the software: a proprietary scheme for saving data
 The file system (or lack thereof) on PDA and how to deal with this issue
 Interpreting data specification schemes (such as the ALDL used in the automobile
diagnostic interface)
Non-technical lessons learned:
 Creation of project timelines and estimating work needed to complete a task
 Stay in regular contact with the client
 Communicate confidentiality requirements early in the relationship with the client
 Pay attention to details
 Understand and conform to documentation standards
33
PROJECT TEAM INFORMATION
CLIENT
David Gardner
National Instruments
11500 N Mopac Expwy
Austin, TX 78759-3504
512-683-5458 (Phone)
512-683-6837 (Fax)
david.gardner@ni.com
FACULTY ADVISOR
Steve F. Russell, Ph.D., P.E.
3108 Coover, Iowa State University
Ames, IA 50011
515-294-0442
sfr@iastate.edu
TEAM MEMBERS
Rick Cordaro (EE)
300 Stanton Ave. #308
Ames, IA 50014
515-292-9616
rcordaro@iastate.edu
Romeo Denghel (CprE)
4112 Westbrook #17
Ames, IA 50014
515-292-0313
romster@iastate.edu
Shawn Rouse (EE)
3219 Roy Key Ave. #204
Ames, IA 50010
515-233-4347
srouse@iastate.edu
Holly Denghel (CprE)
4112 Westbrook #17
Ames, IA 50014
515-292-0313
hstilwel@iastate.edu
34
SUMMARY
All PDAs are light and portable. Combining a PDA with software creates a powerful tool. With
the weight and size of a PDA, using a PDA to control and monitor a voltmeter makes working
out in the field easier and less cumbersome. Utilizing PDAs to send instant messages is a great
way to converse without making it obvious. What better way to get across essential information
during a business meeting without letting your clients know? For the home auto mechanic, the
automobile diagnostic computer interface helps them diagnose problems with their vehicles
faster and more efficient than old conventional ways.
35
REFERENCES
Palm m500 Series Users Guide. Palm Company. 2001.
General Motors Systems manual for the 1988 Grand Prix
36
APPENDICES
APPENDIX 2: MODULE TESTING FORM
Module Testing Results
Group: Dec 02-06
Project: Applications for the PDA
Name of Module Tested:
Start Time:
Results of Test:
Finish Time:
Passed:
Elapsed Time:
Failed:
Reason for Failure:
Inputs and Values Tested:
Inputs or Values Not Tested:
Comments:
Tested By:
Date:
37
APPENDIX 3: APPLICATION TESTING FORM
Application Testing Results
Group: Dec 02-06
Project: Applications for the PDA
Name of Module Tested:
Start Time:
Results of Test:
Finish Time:
Passed:
Elapsed Time:
Failed:
Reason for Failure:
Inputs and Values Tested:
Inputs or Values Not Tested:
Comments:
Tested By:
Date:
38
Download