CSULB EE400D TECHNICAL DOCUMENTATION ARDUINO/ARXTERRA PROGRAMMING PART II - TELEMETRY.

Slides:



Advertisements
Similar presentations
Custom Commands: Arxterra Control Panel & Android Application Creating A Custom Command Command Control Panel Interface Implementation Example Tommy Sanchez.
Advertisements

Getting Started: Arxterra Control Panel & Android Applications
Lab7: Introduction to Arduino
How to use Arduino By: Andrew Hoffmaster.
Comm Operator Introduction Serial Port Tool
Arxterra: Understanding the Communication Between Arduino and Phone Connection Type: How Connect Phone To Arduino Communication from Phone to Arduino Communication.
Vex 1.0 © 2005 Carnegie Mellon Robotics Academy Inc. Programming in easyC.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Internet Networking Spring 2004
OUTLINE WHAT ? HOW ? WHY ? BLUEPOST Poster and Message Content Specified by the User Displaying the Poster Content on a Monitor Sending Messages to.
Unit 1 Protocols Learning Objectives: Understand the need to detect and correct errors in data transmission.
Error Detection and Correction
Synchronous - Asynchronous Data Transmission. Asynchronous ► The sender and receiver are not Synchronised. ► The sender sends only one character at a.
LSU 06/04/2007BASIC Stamp Editor1 The BASIC Stamp Editor Programming Unit, Lecture 3.
1. 2 LXU800 User’s Manual 1.Installation – Windows XP UI Features Introduction Data Connection & Disconnection.
Shashank Srivastava Motilal Nehru National Institute Of Technology, Allahabad Error Detection and Correction : Data Link Layer.
Chapter 10 Supporting Modems. You Will Learn… How modems work and how to install them About communications software that modems use to communicate with.
CSULB EE400D TECHNICAL DOCUMENTATION ARDUINO/ARXTERRA PROGRAMMING PART I - COMMANDS.
Github & Arduino How To: Post On Github How To: Download from Github How To: Upload Code Downloaded from Github to Arduino Tommy Sanchez EE400D Spring.
AS Computing F451 F451 Data Transmission. What data is transmitted? Phone SMS Radio TV Internet.
Lexmark Wireless Printer Adaptor Instructions Step 1. For a Mac, go to network preferences/ select built-in-ethernet and click on TCP/IP tab and annotate.
Modems Chapter 17. Basic Knowledge  Modems are little devices to use the telephone to talk to other computers.  Modem is an abbreviation for Modulator/
Bluetooth Controller Setting up the BT controller and Arduino with Processing.
The iBlueBot By Walid Mnif, Tamer Shadid, Lim Seang FINAL PRESENTATION ECE /24/2003.
CS 8903 Demo Wireless Interface for the Bioloid Robot Chetna Kaur.
Vex Robotics Programming Sequence. Now that you’ve had some practice downloading and using the included programs, it's time to learn to write some of.
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.
AS Computing Data Transmission and Networks. Transmission error Detecting errors in data transmission is very important for data integrity. There are.
Development of a microprocessor project with LPC2388 development board.
Setting Up Your CPS Receiver and Student Responders.
LinkComm v3 – “Common Communicator”
Overview All data can be corrupted, for reliable communications we must be able to detect and correct errors implemented at the data link and transport.
Programming the Geiger Counter Board 1. Arduino Files Go to and download the latest Arduino.
GPRS functionality overview in Horner OCS. GPRS functionality – Peer to Peer communication over GPRS – CSCAPE connectivity over GPRS – Data exchange using.
Envision Tutorial Horner APG, LLC July 18, Introduction The Cscape Remote Viewer allows remote interaction with the user interface on Horner OCS.
Error Detection.
Longitudinal redundancy check
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Arxterra Telemetry Code Example is the Temperature Sensor from ATechTop Here is the setup subroutine of the original code from Sparkfun: #define TRUE 1.
Creating and Editing a Web Page
Programming - Motion Intro to Robotics. Motors and Sensors Setup The first thing we need to do is tell ROBOTC that we have motors on our robot. Choose.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
© N. Ganesan, Ph.D., All rights reserved. Chapter Formatting of Data for Transmission.
Data Link Layer. Link Layer The data unit to be transmited at the link layer is called a frame. Why link layer? How can it know where a frame begins and.
Vex Robotics Program Two: Using two motors. Program two: using the motors In the last section, you learned how to turn on one motor. Now, you will take.
Vex Robotics program three: using motors and sensors together.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 17 Supporting Modems.
ERROR DETECTION AND CORRECTION Chapter 8 Data Communications & Networking ERROR DETECTION AND CORRECTION Chapter 8 First Semester 2007/2008.
Software Troubleshooting Eliminate possible programming and timing errors by stopping all programs ( and ). Use the Executive program terminal and send.
THE NEW MOBILE WORKSPACE Enable Business Applications on Mobile Devices hopTo Work “I am amazed to see how easily hopTo transforms the user interface of.
Do-more Technical Training Connecting C-more. Two easy ways: ▫C▫Create TAGs manually ……in C-more Programming ▫C▫Create TAGs automatically ……by importing.
3DoT Technical Documentation
Arxterra: Understanding the Communication Between Arduino and Phone
Getting Started: Arxterra Control Panel & Application
Getting started with the Arxterra software and 3DoT Firmware
3DoT Technical Documentation
3DoT Technical Documentation
The first change to your project files that is needed is to change the device to the correct FPGA. This is done by going to the Assignments tab on the.
Lab 2: Packet Capture & Traffic Analysis with Wireshark
ERROR DETECTION AND CORRECTION
Roller Coaster Design Project
Call to Fix HP Printer Installation Error Code 1603
Lesson Objectives Aims You should know about: 1.3.3:
Programming - Buttons Intro to Robotics.
Programming - Buttons Intro to Robotics.
Error Detection and Correction
Arduino Leonardo Setup
Presentation transcript:

CSULB EE400D TECHNICAL DOCUMENTATION ARDUINO/ARXTERRA PROGRAMMING PART II - TELEMETRY

TELEMETRY DEFINITIONS The latest table of telemetry ID definitions is included in the pinouts_robot.h file. Within the Arduino IDE these telemetry ID definitions may be found under the pinouts_robot.h tab.

TELEMETRY ENCODING BYTE ARRAY FORMATTED INTO A PACKET Packet ID 0xCA indicates the start of a telemetry packet Packet Length is the number of bytes following minus the LRC byte. Telemetry ID is an 8-bit code identifying the sensor data contained in the packet. Depending on the sensor, the telemetry ID byte is followed by some number of bytes. Longitudinal Redundancy Check (LRC) is generated over the entire packet.

TELEMETRY EXAMPLE CALCULATING THE LRC BYTE One trick you can use to calculate the LRC byte for a command packet is to send the command with the LRC byte set to zero. Open the arxrobot_firmware tab and scroll to the configuration block. Turn on the debug mode, while turning off both Bluetooth and the watchdog timer.

TELEMETRY EXAMPLE CALCULATING THE LRC BYTE Next, send the command packet with the LRC field set to zero. Example - camera home command – Command Packet ID A5 – N = 1 – Camera Home = 4 – Parity 00 The “Telemetry ID” 0E sent by the commandDecoder() FSM, indicating an error was detected The checksum error 03 is “thrown” from state 3 of the FSM, where the LRC checksum byte is checked. The last data byte contains the LRC byte expected by the command decoder: A0. CoolTerm application

TELEMETRY EXAMPLE CALCULATING THE LRC BYTE Command Packet Example: camera home with correct parity We now know the correct LRC byte to send with this command (0xA0). Assuming you are in debug mode, the arxrobot program responds with telemetry packet data[0] CA = Telemetry Packet ID data[1] 02 = Packet Length N+1 data[2] 0D = Command Echo data[3] 04 = Camera Home data[4] C1 = Packet Checksum CoolTerm application

TELEMETRY EXAMPLE TESTING ROBOT COMMANDS Test commands locally before testing remotely removes the potential problems introduced by adding the: o Smart device (Android Phone) o Internet (the cloud) o Arxterra control panel layers. To test locally you will need a terminal application program, like CoolTermCoolTerm

TESTING ROBOT COMMANDS COOLTERM EXAMPLE i = N = A A1 MOV forward half speed sendPacket data[0] A5 = Command Packet ID data[1] 05 = Packet Length N w/o parity byte data[2] 01 = Move ID data[3] 01 = Left Motor Forward data[4] 80 = Half Speed (128/255) data[5] 01 = Right Motor Forward data[6] 80 = Half Speed (128/255) data[7] A1 = Longitudinal Redundancy Check (LRC)

TESTING ROBOT COMMANDS COOLTERM EXAMPLE – STEP 1: UPLOAD ARDUINO PROGRAM Plug in your Arduino (Uno, Leonardo, Mega ADK, …). Set the Board Type and Serial Port. If you are not sure what serial port is used by the Arduino 1. Open ”Devices and Printers” window from the Start Menu. 2. Left-click the Arduino icon and Select properties from the pop-up menu. 3. From the properties menu select the Hardware tab and Locate the serial port. Upload the arxrobot_firmware. See Companion PDF document for more help and troubleshooting tipsCompanion PDF

TESTING ROBOT COMMANDS COOLTERM EXAMPLE – STEP 2: LAUNCH AND CONFIGURE COOLTERM Launch CoolTerm

TESTING ROBOT COMMANDS COOLTERM EXAMPLE – STEP 3: SAVE AND CONNECT To save time in the future, save your setting and open the next time you work on your application. Open, the serial port communications between CoolTerm and the Arduino.

TESTING ROBOT COMMANDS COOLTERM EXAMPLE – STEP 4: SEND COMMANDS To send a command, open the Send String window from the “Connection” item on the menu bar or press CTRL-T, select Hex, and enter the command string. In the example below, I am sending the move forward at half speed command. See Companion PDF document Appendix A for more Test Cases.Companion PDF

TELEMETRY ADDITIONAL READING Here is the companion document to this presentation. Programming.pdf Programming.pdf