Find Jobs
Hire Freelancers

Arduino Uno Rev3 9-bit communication

$30-250 USD

In Progress
Posted over 11 years ago

$30-250 USD

Paid on delivery
I need to implement an Arduino Sketch (for Arduino Uno Rev 3 AND/OR Arduino Mega 2560) which give me access to communicate using Arduino serial port based on 9-bit communication. The basic features I need to solve are : 1) send pre-defined packets on TX (packet = byte array based on protocol specification defined at the end of this spec) (example of packet to send = 0x01 0x53 0x00 0x05 0x91 0x27 , 0x91 0x27 must be calculated using CRC formula Algorithm defined at the end of this spec) 2) listen for incoming packets on RX (packet = byte array based on protocol specification defined at the end of this spec). on each incoming packet must : 2.1 - determine if the first incoming byte has 9th bit flag set or not. 2.2 - check CRC to determine if it is correct or not (check CRC Algorithm spec defined at the end of this spec) INCOMING PACKET DEFINITION : ------------------------------------------- Communication must occurs through a serial data link operating at 19.2 KBaud in a "wakeup" mode. The 11-bit data packet consists of one start bit, eight data bits, a ninth ‘wakeup’ bit, and one stop bit. In wakeup mode (outgoing packets), arduino must sets the 9th (wakeup) bit each time it sends the first byte of a message to the client. For all additional bytes in the message, this bit is cleared. For incoming packets, Arduino must use the wakeup bit (9th bit) to determine whether the received byte is the first byte of a new message or an additional byte of the current message. CRC CALCULATION ================================================== The CRC follows the basic CCITT convention by starting with the most significant byte, least significant bit and applying the CRC polynomial x^16+x^12+x^5+1. Figure 5.1 details a fast CRC calculating routine from the public domain. The routine can be used to generate message CRCs as well as the variable-seed calculation needed for ROM signatures. CRC Algorithm //Function: CRC //Purpose: Calculate the 16-bit CRC of a string using // a byte-oriented tableless algorithm. The // routine inputs are the buffer pointer, the // buffer length, and the seed for the // calculation. The magic number 010201 octal // is derived from the CRC polynomial // x^16+x^12+x^5+1. //Passed in: unsigned char, int, unsigned short //Passed out: unsigned short unsigned short CRC(unsigned char *s, int len, unsigned short crcval) { register unsigned c,q; for (; len; len--) { c = *s++; q = (crcval ^ c) & 017; crcval = (crcval >> 4) ^ (q * 010201); q = (crcval ^ (c >> 4)) & 017; crcval = (crcval >> 4) ^ (q * 010201); } return (crcval); }
Project ID: 2465816

About the project

5 proposals
Remote project
Active 12 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hello , we can complete this project. Please check PM for bid details.
$180 USD in 8 days
4.9 (2 reviews)
2.5
2.5
5 freelancers are bidding on average $232 USD for this job
User Avatar
Hi, I can do this job.
$250 USD in 3 days
5.0 (17 reviews)
4.8
4.8
User Avatar
Hi, please check PMB. Thanks.
$250 USD in 10 days
5.0 (16 reviews)
4.5
4.5
User Avatar
Dear Sir, I have 10 year experience on analog design, audio system, power electronics, digital motor control, inverters, converters, DC-DC converters, power distribution sysetms, PCB design, circuit simulation, system simulation. The document which shows my background is attached. It shows my ability to make your work. I have gratuated Hacettepe University electric and Electronics engineer. I have passed several courses until now. My university is one of 500 th university in the world. To discuss details of project, you can ask me any questions. By talking we can agree on terms and conditions of your Project. I hope you will give oppurtinutiy to show my intelligence and reasoning. Regards. Beta
$200 USD in 4 days
5.0 (3 reviews)
1.4
1.4
User Avatar
Custom software development (<b><i>Removed by Admin</i></b>)
$250 USD in 1 day
0.0 (0 reviews)
0.0
0.0
User Avatar
Expert Arduino Engineer
$230 USD in 7 days
0.0 (1 review)
1.2
1.2

About the client

Flag of URUGUAY
Maldonado, Uruguay
0.0
0
Payment method verified
Member since Sep 6, 2012

Client Verification

Other jobs from this client

USB Receipt Printer Sniffer
$30-250 USD
Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.