Two softwares in C# with code to communicate through serial port

IN PROGRESS
Bids
6
Avg Bid (USD)
$107
Project Budget (USD)
$30 - $100

Project Description:
******Please bid only if you agree on my terms specified at the end.

I need a software to communicate to a device through serial port. With code and very, very, very, very, very, well commented.
I need another software to simulate this device. With code and very, very, very, very, very well commented.

This software will have to read and provide information about the battery level of the PC (of course I am talking about a notebook), and if it is charging or not, create a 37 byte protocol header and payload, and send it to the device, read back information from the device and display the data received from the device in a on/off button. Another button will send 1 bit data (included in one of these 37 bytes) to turn the device on or off, along with the battery level, which is included in another information byte.

This is how the protocol will work:
The protocol will send a first 7 byte data and wait for another 7 byte ACK data from the device.
The software will wait for the answer from the device through a 7 byte data ready.
If the device is ready, it will send the 37 byte data about the battery level and on/off state.
The device will send a 4 byte ACK if received OK.
Then the software will wait for information from the device through a 37 byte data.
The software will read specific bits from this 37 byte header and payload from the device, and turn on or off a status display (just something red and green, depending on the information received).
It will start over this process, in a time period that can be configured.

More information on this protocol will be provided to the winner. Basically, you will have to read the bytes and bits.

Serial communication configuration should have the basics (Port,Baud, RTS/CTS, etc).
There should be a configuration for the time between transmissions.
The software should be able to see if the device is ready.

The device emulation software should be able to read the information received, and interact with a problem simulation or two. It should display the battery level and if battery is charging or not. It should provide back information like OK or not OK, through 1 bit of a byte in the 37 byte data protocol.

If any DLL's should be used, then the appropriate code should also be handed.

The code will have to be handed in so I can compile on my side and check the functionality of it and release the milestone after completion.

I encourage the freelancer to keep good contact and a nice communication skill.

I will be very strict on the deadline.

***MILESTONE RELEASE POLICY
What I need is the project to be done. Completely. Fully. Working. In all it's extent. Period. I don't want half of a project, or a partial schematic, or partial code, or partial something whatever. What I want is the FULL complete project and this is what I am willing to get and, of course, pay for.
By this, I am creating one milestone only, to be released when all that I asked for up here is delivered. This is why I tried to be so criterious about each part. No exceptions will be made. *****PLEASE BID ONLY IF YOU ACCEPT THESE TERMS.

Skills required:
.NET, C Programming, C# Programming, Embedded Software, Software Testing
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.