New design hardware needs appropriate software to achieve desired product behavior. Bill Grace's Software Engineering skills include:>
Microcontroller firmware
User software
Data communications
Microcontroller firmware>
Many new designs contain microcontrollers and programmable logic devices.
These components provide huge cost savings in moderately complex designs by combining the
low cost of standard parts with the functional strength of being tailored to each specific design.
"Firmware" is a general term describing the special kinds of programming used to transform these kinds
of components from blank, generic components to specialized, design specific assets.
Bill Grace has developed firmware for many kinds of programmable part applications including:
- Embedded microcontrollers
- Embedded microprocessors
- Programmable logic arrays
- Read Only Memories
>
[Return to top of page]
User software>
Personal computers are often used as central resources for new product designs.
The product is designed to be used with a computer because the computer already has many
resources that can be made part of the beneficial function of the new product.
This method works much the same as a boat trailer which is not in itslef a complete
vehicle with a motor but is expected to be connected through a standard trailer
hitch to a standard vehicle.
Sometimes the standard software on the standard computer is enough to operate the
new product but sometimes there is a need for computer programs specific to the new product.
Bill Grace has written numerous programs to run on standard computers and enhance the
value of new products.
The platforms and languages in which Bill is proficient include:
- Microsoft Windows user applications
- Microsoft Windows service applications
- Microsoft Windows device drivers
- Visual C++
- Assembler
>
[Return to top of page]
Data communications>
When new products are designed to be connected to personal computers a data communications
method must be employed to make the connection.
Sometimes there won't be a personal computer involved but there will be multiple electronic
portions of the product and they must have some way to communicate among themselves.
There are numerous connection methods and "languages" of data communications.
The best choices for a given design situation depend upon many factors including physical
conditions, distances, data speeds, cost factors, etc.
Bill Grace has extensive experience in the selection and use of data communications methods including:
- USB
- RS-485
- RS-232
- parallel links
- IEEE-488
- CRC use
- assorted specialized
>
[Return to top of page]