Difference between revisions of "F14: Team4-Self Driving Car - AUG"
From Embedded Systems Learning Academy
Proj user16 (talk | contribs) (→Schedule) |
Proj user16 (talk | contribs) (→Schedule) |
||
Line 31: | Line 31: | ||
== Schedule == | == Schedule == | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
+ | |+ Sensor Team Schedule | ||
|- | |- | ||
! scope="col"| Sl. No | ! scope="col"| Sl. No | ||
! scope="col"| Start Date | ! scope="col"| Start Date | ||
! scope="col"| End Date | ! scope="col"| End Date | ||
− | ! scope="col"| Task | + | ! scope="col"<td width=600px>| Task |
! scope="col"| Status | ! scope="col"| Status | ||
− | ! scope="col"| Actual Completion Date | + | ! scope="col"| Actual Completion<br>Date |
|- | |- | ||
|- | |- | ||
Line 96: | Line 95: | ||
|12/09/2014 | |12/09/2014 | ||
|Final testing and debugging | |Final testing and debugging | ||
− | | | + | |Completed |
− | | | + | |12/19/2014 |
|} | |} | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
+ | |+ Motor Team Schedule | ||
|- | |- | ||
! scope="col"| Sl. No | ! scope="col"| Sl. No | ||
! scope="col"| Start Date | ! scope="col"| Start Date | ||
! scope="col"| End Date | ! scope="col"| End Date | ||
− | ! scope="col"| Task | + | ! scope="col"<td width=600px>| Task |
! scope="col"| Status | ! scope="col"| Status | ||
− | ! scope="col"| Actual Completion Date | + | ! scope="col"| Actual Completion<br>Date |
|- | |- | ||
|- | |- | ||
Line 180: | Line 178: | ||
|12/09/2014 | |12/09/2014 | ||
|Final testing and debugging | |Final testing and debugging | ||
− | | | + | |Completed |
− | | | + | |12/19/2014 |
|} | |} | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
+ | |+ I/O Team Schedule | ||
|- | |- | ||
! scope="col"| Sl. No | ! scope="col"| Sl. No | ||
! scope="col"| Start Date | ! scope="col"| Start Date | ||
! scope="col"| End Date | ! scope="col"| End Date | ||
− | ! scope="col"| Task | + | ! scope="col"<td width=600px>| Task |
! scope="col"| Status | ! scope="col"| Status | ||
− | ! scope="col"| Actual Completion Date | + | ! scope="col"| Actual Completion<br>Date |
|- | |- | ||
|- | |- | ||
Line 241: | Line 238: | ||
|11/14/2014 | |11/14/2014 | ||
|Build hardware for switches and write interrupt handlers for the same | |Build hardware for switches and write interrupt handlers for the same | ||
− | | | + | |Completed |
− | | | + | |11/07/2014 |
|- | |- | ||
|- | |- | ||
Line 249: | Line 246: | ||
|12/09/2014 | |12/09/2014 | ||
|Mount GLCD, headlights, switches on car and final testing | |Mount GLCD, headlights, switches on car and final testing | ||
− | | | + | |Completed |
− | | | + | |12/19/2014 |
|} | |} | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
+ | |+ Communication Bridge + Android Team Schedule | ||
|- | |- | ||
! scope="col"| Sl. No | ! scope="col"| Sl. No | ||
! scope="col"| Start Date | ! scope="col"| Start Date | ||
! scope="col"| End Date | ! scope="col"| End Date | ||
− | ! scope="col"| Task | + | ! scope="col"<td width=600px>| Task |
! scope="col"| Status | ! scope="col"| Status | ||
− | ! scope="col"| Actual Completion Date | + | ! scope="col"| Actual Completion<br>Date |
|- | |- | ||
|- | |- | ||
Line 302: | Line 298: | ||
|11/09/2014 | |11/09/2014 | ||
|Integration with GEO module and queue for each subscribed service | |Integration with GEO module and queue for each subscribed service | ||
− | | | + | |Completed |
− | | | + | |11/09/2014 |
|- | |- | ||
|- | |- | ||
Line 310: | Line 306: | ||
|11/16/2014 | |11/16/2014 | ||
|Incorporate all essential services into Android app and test for response | |Incorporate all essential services into Android app and test for response | ||
− | | | + | |Completed |
− | | | + | |11/16/2014 |
|- | |- | ||
|- | |- | ||
Line 318: | Line 314: | ||
|11/23/2014 | |11/23/2014 | ||
|Final setup and changes for all the CAN tasks along with XBee interfacing | |Final setup and changes for all the CAN tasks along with XBee interfacing | ||
− | | | + | |Completed |
− | | | + | |11/23/2014 |
|- | |- | ||
|- | |- | ||
Line 326: | Line 322: | ||
|12/01/2014 | |12/01/2014 | ||
|Testing with GEO module with real-time co-ordinates and plotting way points onto Maps | |Testing with GEO module with real-time co-ordinates and plotting way points onto Maps | ||
− | | | + | |Completed |
− | | | + | |12/01/2014 |
|- | |- | ||
|- | |- | ||
Line 334: | Line 330: | ||
|12/09/2014 | |12/09/2014 | ||
|Final Testing and verification of all components on the main field | |Final Testing and verification of all components on the main field | ||
− | | | + | |Completed |
− | | | + | |12/19/2014 |
|} | |} | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
+ | |+ GEO Team Schedule | ||
|- | |- | ||
! scope="col"| Sl. No | ! scope="col"| Sl. No | ||
! scope="col"| Start Date | ! scope="col"| Start Date | ||
! scope="col"| End Date | ! scope="col"| End Date | ||
− | ! scope="col"| Task | + | ! scope="col"<td width=600px>| Task |
! scope="col"| Status | ! scope="col"| Status | ||
− | ! scope="col"| Actual Completion Date | + | ! scope="col"| Actual Completion<br>Date |
|- | |- | ||
|- | |- | ||
Line 417: | Line 412: | ||
|11/02/2014 | |11/02/2014 | ||
|Distance to Destination Calculation and Algorithm | |Distance to Destination Calculation and Algorithm | ||
− | | | + | |Completed |
− | | | + | |11/02/2014 |
|- | |- | ||
! scope="row"|11 | ! scope="row"|11 | ||
Line 424: | Line 419: | ||
|11/10/2014 | |11/10/2014 | ||
|Basic CAN communication with Master, IO and Android | |Basic CAN communication with Master, IO and Android | ||
− | | | + | |Completed |
− | | | + | |11/10/2014 |
|- | |- | ||
! scope="row"|12 | ! scope="row"|12 | ||
Line 431: | Line 426: | ||
|11/17/2014 | |11/17/2014 | ||
|Synchronization and Data Integrity (Semaphores/Mutex/Critical Section) | |Synchronization and Data Integrity (Semaphores/Mutex/Critical Section) | ||
− | | | + | |Completed |
− | | | + | |11/17/2014 |
|- | |- | ||
! scope="row"|13 | ! scope="row"|13 | ||
Line 438: | Line 433: | ||
|11/25/2014 | |11/25/2014 | ||
|Final Integration of CAN Framework and Implementation of CAN communication with other modules | |Final Integration of CAN Framework and Implementation of CAN communication with other modules | ||
− | | | + | |Completed |
− | | | + | |11/25/2014 |
|- | |- | ||
! scope="row"|14 | ! scope="row"|14 | ||
Line 445: | Line 440: | ||
|12/09/2014 | |12/09/2014 | ||
|Testing and debugging on car (Re-Calibration/Bug Fixes) | |Testing and debugging on car (Re-Calibration/Bug Fixes) | ||
− | | | + | |Completed |
− | | | + | |12/19/2014 |
|} | |} | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
+ | |+ Master Team Schedule | ||
|- | |- | ||
! scope="col"| Sl. No | ! scope="col"| Sl. No | ||
! scope="col"| Start Date | ! scope="col"| Start Date | ||
! scope="col"| End Date | ! scope="col"| End Date | ||
− | ! scope="col"| Task | + | ! scope="col"<td width=600px>| Task |
! scope="col"| Status | ! scope="col"| Status | ||
− | ! scope="col"| Actual Completion Date | + | ! scope="col"| Actual Completion<br>Date |
|- | |- | ||
|- | |- | ||
Line 529: | Line 523: | ||
|11/15/2014 | |11/15/2014 | ||
|Algorithm for GPS based navigation | |Algorithm for GPS based navigation | ||
− | | | + | |Completed |
− | | | + | |11/15/2014 |
|- | |- | ||
|- | |- | ||
Line 537: | Line 531: | ||
|11/22/2014 | |11/22/2014 | ||
|Initial testing and tweaking of the car | |Initial testing and tweaking of the car | ||
− | | | + | |Completed |
− | | | + | |11/22/2014 |
|- | |- | ||
|- | |- | ||
Line 545: | Line 539: | ||
|12/9/2014 | |12/9/2014 | ||
|Final Testing! Showdown time! | |Final Testing! Showdown time! | ||
− | | | + | |Completed |
− | | | + | |12/19/2014 |
|} | |} | ||
Revision as of 11:13, 19 December 2014
Contents
- 1 Self Driving Car
- 2 Abstract
- 3 Objective and Scope
- 4 Team Members & Responsibilities
- 5 Introduction
- 6 Schedule
- 7 Parts List & Cost
- 8 Backup Parts & cost
- 9 Design & Implementation
- 10 Testing & Technical Challenges
- 11 Challenges and Learning
- 12 Future Enhancement
- 13 Conclusion
- 14 Project Video
- 15 Project Source Code
- 16 References
Self Driving Car
Abstract
Objective and Scope
Team Members & Responsibilities
- Sensor Controller:
- Motor Controller
- I/O Unit:
- Communication Bridge + Android:
- Geographical Controller:
- Master Controller:
Introduction
Schedule
Sl. No | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 09/14/2014 | 09/20/2014 | Understanding the logic of sensors to be used | Completed | 09/20/2014 |
2 | 09/21/2014 | 10/04/2014 | Writing the codes for the different types of sensors | Completed | 10/04/2014 |
3 | 10/05/2014 | 10/11/2014 | Testing the different sensors for accuracy and placing the order for the one we have selected. | Completed | 10/11/2014 |
4 | 10/12/2014 | 10/25/2014 | Build CAN transceiver and send data to the Master Board | Completed | 10/25/2014 |
5 | 10/26/2014 | 11/01/2014 | Place all the sensors on car and test for obstacle avoidance | Completed | 10/28/2014 |
6 | 11/02/2014 | 11/14/2014 | Work on light and tilt sensors | Completed | 11/04/2014 |
7 | 11/15/2014 | 12/09/2014 | Final testing and debugging | Completed | 12/19/2014 |
Sl. No | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 09/14/2014 | 09/20/2014 | Understand the logic of Motor Controller present in the RC Car | Completed | 09/20/2014 |
2 | 09/21/2014 | 09/27/2014 | Replace on-board controller with SJSU One board | Completed | 09/22/2014 |
3 | 09/28/2014 | 10/04/2014 | Drive the DC motor with SJSU One board at different Duty Cycles | Completed | 09/30/2014 |
4 | 10/05/2014 | 10/11/2014 | Test the Servo and DC motor together for moving forward and taking turns | Completed | 10/09/2014 |
5 | 10/12/2014 | 10/18/2014 | Build CAN Transceiver and move the car as per the CAN message received | Completed | 10/13/2014 |
6 | 10/19/2014 | 10/25/2014 | Make arrangement for CAN subscription task | Completed | 10/25/2014 |
7 | 10/26/2014 | 11/01/2014 | Interface encoder and calculate the actual speed at which car is running | Completed | 10/28/2014 |
8 | 11/02/2014 | 11/08/2014 | Make compensation algorithm and make car to move at desired speed | Completed | 11/04/2014 |
9 | 11/09/2014 | 12/09/2014 | Final testing and debugging | Completed | 12/19/2014 |
Sl. No | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 09/14/2014 | 09/20/2014 | Search and order GLCD module with touch screen, LEDs for headlights | Completed | 09/20/2014 |
2 | 09/21/2014 | 10/04/2014 | Study of GLCD data frame formats and design GUI | Completed | 10/03/2014 |
3 | 10/05/2014 | 10/11/2014 | Development of GLCD functions including touchscreen handler | Completed | 10/11/2014 |
4 | 10/12/2014 | 10/25/2014 | Setup CAN subscription tasks for communication with Master controller | Completed | 10/27/2014 |
5 | 10/26/2014 | 11/01/2014 | Develop hardware and code for automatic headlight control. | Completed | 11/01/2014 |
6 | 11/02/2014 | 11/14/2014 | Build hardware for switches and write interrupt handlers for the same | Completed | 11/07/2014 |
7 | 11/15/2014 | 12/09/2014 | Mount GLCD, headlights, switches on car and final testing | Completed | 12/19/2014 |
Sl. No | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 09/14/2014 | 09/20/2014 | Google maps API research | Completed | 09/20/2014 |
2 | 09/21/2014 | 10/04/2014 | Mock locations on Google maps and simulate co-ordinates w/o gps | Completed | 10/04/2014 |
3 | 10/05/2014 | 10/11/2014 | Two way Bluetooth communication and setup RTOS tasks | Completed | 10/11/2014 |
4 | 10/12/2014 | 10/25/2014 | Raw GUI for app and setup CAN tasks for Start and Stop commands | Completed | 10/25/2014 |
5 | 10/26/2014 | 11/09/2014 | Integration with GEO module and queue for each subscribed service | Completed | 11/09/2014 |
6 | 11/10/2014 | 11/16/2014 | Incorporate all essential services into Android app and test for response | Completed | 11/16/2014 |
7 | 11/16/2014 | 11/23/2014 | Final setup and changes for all the CAN tasks along with XBee interfacing | Completed | 11/23/2014 |
8 | 11/24/2014 | 12/01/2014 | Testing with GEO module with real-time co-ordinates and plotting way points onto Maps | Completed | 12/01/2014 |
9 | 12/02/2014 | 12/09/2014 | Final Testing and verification of all components on the main field | Completed | 12/19/2014 |
Sl. No | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 09/7/2014 | 09/14/2014 | Market research for GPS and Compass Modules | Completed | 09/14/2014 |
2 | 09/14/2014 | 09/21/2014 | Place order / receive the modules | Completed | 09/20/2014 |
3 | 09/21/2014 | 09/28/2014 | Interface GPS with SJ -One board via UART | Completed | 09/26/2014 |
4 | 09/28/2014 | 10/05/2014 | Interface Compass with SJ-One Board via I2C | Completed | 10/03/2014 |
5 | 10/05/2014 | 10/12/2014 | Parsing the GPS data stream | Completed | 10/11/2014 |
6 | 10/12/2014 | 10/19/2014 | Calibration and testing of compass | Completed | 10/13/2014 |
7 | 10/12/2014 | 10/19/2014 | Decide CAN message ID’s and message formats | Completed | 10/28/2014 |
8 | 10/19/2014 | 10/26/2014 | Combining UART and GPS parsing. Create task for GPS | Completed | 10/25/2014 |
9 | 10/19/2014 | 10/26/2014 | Combining compass calibration and i2c interface. Create task for Compass | Completed | 10/25/2014 |
10 | 10/26/2014 | 11/02/2014 | Distance to Destination Calculation and Algorithm | Completed | 11/02/2014 |
11 | 11/03/2014 | 11/10/2014 | Basic CAN communication with Master, IO and Android | Completed | 11/10/2014 |
12 | 11/10/2014 | 11/17/2014 | Synchronization and Data Integrity (Semaphores/Mutex/Critical Section) | Completed | 11/17/2014 |
13 | 11/18/2014 | 11/25/2014 | Final Integration of CAN Framework and Implementation of CAN communication with other modules | Completed | 11/25/2014 |
14 | 11/26/2014 | 12/09/2014 | Testing and debugging on car (Re-Calibration/Bug Fixes) | Completed | 12/19/2014 |
Sl. No | Start Date | End Date | Task | Status | Actual Completion Date |
---|---|---|---|---|---|
1 | 09/7/2014 | 09/13/2014 | Understanding CAN Bus and API's | Completed | 09/13/2014 |
2 | 09/14/2014 | 09/20/2014 | Deciding System Flow | Completed | 09/20/2014 |
3 | 09/21/2014 | 09/27/2014 | Deciding MSG id's for all devices | Completed | 10/27/2014 |
4 | 09/28/2014 | 10/11/2014 | Testing Subscription between 2 devices | Completed | 10/4/2014 |
5 | 09/28/2014 | 10/11/2014 | Making CAN bus hardware to interface all SJOne boards | Completed | 10/11/2014 |
6 | 09/28/2014 | 10/11/2014 | Testing subscription and time sync between all devices | Completed | 10/11/2014 |
7 | 10/12/2014 | 10/18/2014 | Reading sensor data from boards at the subscription rate | Completed | 10/26/2014 |
8 | 10/19/2014 | 11/1/2014 | Algorithm for obstacle avoidance | Completed | 10/27/2014 |
9 | 11/2/2014 | 11/15/2014 | Algorithm for GPS based navigation | Completed | 11/15/2014 |
10 | 11/16/2014 | 11/22/2014 | Initial testing and tweaking of the car | Completed | 11/22/2014 |
11 | 11/23/2014 | 12/9/2014 | Final Testing! Showdown time! | Completed | 12/19/2014 |
Parts List & Cost
Qty | Description | Manufacturer | Part Number | Total Cost |
---|---|---|---|---|
1 | RC Car | - | - | $$$ |
10 | CAN transceivers | - | - | Free |
1 | GPS module | - | - | $$ |
1 | Magnetometer Module | - | - | $ |
1 | Ultrasonic Sensor | - | - | $$ |
1 | Misc Components | - | - | $ |
Total Cost | INCREASING!! |
Backup Parts & cost
Qty | Description | Manufacturer | Part Number | Total Cost |
---|
Design & Implementation
CAN 11-bit ID Format
MSG | DST | SRC |
---|---|---|
5 bits (11-6) | 3 bits (5-3) | 3 bits (2-0) |
Controller ID Table
Controller ID | Controller Type |
---|---|
001 | Motor Controller |
010 | Master Controller |
011 | Sensor Controller |
100 | GEO Controller |
110 | Communication Bridge + Android Controller |
111 | I/O Controller |
Controller Communication Table
Message Number | Message Name (MSG_FUNCTION) | Data Layout of Data Sent over CAN (byte[0] = total number of data bytes) |
0x082 | POWERUP_SYN |
NO DATA |
0x102 | POWERUP_ACK |
Msg1 : byte[1] : (uint8_t) version Msg1 : byte[2-3] : (uint16_t) year Msg1 : byte[4] : (uint8_t) month Msg1 : byte[5] : (uint8_t) date Msg1 : byte[6] : (uint8_t) dayofweek Msg1 : byte[7] : (uint8_t) hour Msg2 : byte[1] : (uint8_t) minute Msg2 : byte[2] : (uint8_t) second |
0x142 | HEARTBEAT |
Msg1 : byte[1-2] : (uint16_t) rx_count Msg1 : byte[3-4] : (uint16_t) rx_bytes Msg1 : byte[5-6] : (uint16_t) tx_count Msg1 : byte[7] : (uint16_t) tx_bytes Msg2 : byte[1] : (uint16_t) tx_bytes |
0x3CA | SPEED_DIR_COMMAND |
Msg1 : byte[1] : (uint8_t) speed Msg1 : byte[2] : (uint8_t) direction Msg1 : byte[3] : (uint8_t) brake |
Message Number | Message Name (MSG_FUNCTION) | Data Layout of Data Sent over CAN (byte[0] = total number of data bytes) |
0x0D1 | POWERUP_SYN_ACK |
Msg1 : byte[1] : (uint8_t) version |
0x191 | HEARTBEAT_ACK |
Msg1 : byte[1-2] : (uint16_t) rx_count Msg1 : byte[3-4] : (uint16_t) rx_bytes Msg1 : byte[5-6] : (uint16_t) tx_count Msg1 : byte[7] : (uint16_t) tx_bytes Msg2 : byte[1] : (uint16_t) tx_bytes |
0x341 | SPEED_ENCODER_DATA |
Msg1 : byte[1] : (uint8_t) speed Msg1 : byte[2] : (uint8_t) dir Msg1 : byte[3] : (uint8_t) brake |
Message Number | Message Name (MSG_FUNCTION) | Data Layout of Data Sent over CAN (byte[0] = total number of data bytes) |
0x0D4 | POWERUP_SYN_ACK |
Msg1 : byte[1] : (uint8_t) version |
0x194 | HEARTBEAT_ACK |
Msg1 : byte[1-2] : (uint16_t) rx_count Msg1 : byte[3-4] : (uint16_t) rx_bytes Msg1 : byte[5-6] : (uint16_t) tx_count Msg1 : byte[7] : (uint16_t) tx_bytes Msg2 : byte[1] : (uint16_t) tx_bytes |
0x384 | GEO_HEADING_DATA |
Msg1 : byte[1] : (uint8_t) current_angle Msg1 : byte[2] : (uint8_t) desired_angle Msg1 : byte[3] : (uint8_t) destination_reached Msg1 : byte[4] : (uint8_t) is_valid |
0x484 | GEO_LOCATION_DATA |
Msg1 : byte[1-4] : (float) latitude Msg1 : byte[5-7] : (float) longitude Msg2 : byte[1] : (float) longitude Msg2 : byte[2-3] : (uint16_t) dist_to_final_destination Msg2 : byte[4-5] : (uint16_t) dist_to_next_checkpoint Msg2 : byte[6] : (uint8_t) is_valid |
0x2AC | CHECKPOINT_REQUEST |
Msg1 : byte[1] : (uint8_t) checkpoint_num |
Message Number | Message Name (MSG_FUNCTION) | Data Layout of Data Sent over CAN (byte[0] = total number of data bytes) |
0x0D5 | POWERUP_SYN_ACK |
Msg1 : byte[1] : (uint8_t) version |
0x195 | HEARTBEAT_ACK |
Msg1 : byte[1-2] : (uint16_t) rx_count Msg1 : byte[3-4] : (uint16_t) rx_bytes Msg1 : byte[5-6] : (uint16_t) tx_count Msg1 : byte[7] : (uint16_t) tx_bytes Msg2 : byte[1] : (uint16_t) tx_bytes |
0x1D5 | CAR_PAUSE |
NO DATA |
0x215 | CAR_RESUME |
NO DATA |
0x425 | CHECKPOINT_DATA |
Msg1 : byte[1-4] : (float) latitude Msg1 : byte[5-7] : (float) longitude Msg2 : byte[1] : (float) longitude Msg2 : byte[2-3] : (uint16_t) total_distance Msg2 : byte[4] : (uint8_t) checkpoint_num Msg2 : byte[5] : (uint8_t) is_new_route Msg2 : byte[6] : (uint8_t) is_final_checkpoint |
0x2C5 | DRIVE_MODE |
Msg1 : byte[1] : (uint8_t) mode |
0x255 | FREE_RUN_DIR |
Msg1 : byte[1] : (uint8_t) speed Msg1 : byte[2] : (uint8_t) turn Msg1 : byte[3] : (uint8_t) direction |
Message Number | Message Name (MSG_FUNCTION) | Data Layout of Data Sent over CAN (byte[0] = total number of data bytes) |
0x0D3 | POWERUP_SYN_ACK |
Msg1 : byte[1] : (uint8_t) version |
0x193 | HEARTBEAT_ACK |
Msg1 : byte[1-2] : (uint16_t) rx_count Msg1 : byte[3-4] : (uint16_t) rx_bytes Msg1 : byte[5-6] : (uint16_t) tx_count Msg1 : byte[7] : (uint16_t) tx_bytes Msg2 : byte[1] : (uint16_t) tx_bytes |
0x303 | DIST_SENSOR_DATA |
Msg1 : byte[1] : (uint8t) left Msg1 : byte[2] : (uint8t) middle Msg1 : byte[3] : (uint8t) right Msg1 : byte[4] : (uint8t) back |
0x443 | OTHER_SENSOR_DATA |
Msg1 : byte[1] : (uint8t) battery Msg1 : byte[2] : (uint8t) light |
Message Number | Message Name (MSG_FUNCTION) | Data Layout of Data Sent over CAN (byte[0] = total number of data bytes) |
0x0D6 | POWERUP_SYN_ACK |
Msg1 : byte[1] : (uint8_t) version |
0x196 | HEARTBEAT_ACK |
Msg1 : byte[1-2] : (uint16_t) rx_count Msg1 : byte[3-4] : (uint16_t) rx_bytes Msg1 : byte[5-6] : (uint16_t) tx_count Msg1 : byte[7] : (uint16_t) tx_bytes Msg2 : byte[1] : (uint16_t) tx_bytes |
0x1D4 | CAR_PAUSE |
NO DATA |
0x214 | CAR_RESUME |
NO DATA |
0x2C4 | DRIVE_MODE |
Msg1 : byte[1] : (uint8_t) mode |
Testing & Technical Challenges
Sl. No | Test Case | Test Description | Result |
---|
Challenges and Learning
Future Enhancement
Conclusion
Project Video
Project Source Code
References
Acknowledgement
References Used
- Preetpal Kang, Lecture notes of CMPE 243, Computer Engineering, Charles W. Davidson College of Engineering, San Jose State University, Aug-Dec 2014.
- en.wikipedia.org/