GTRI Internship Presentation
-
Upload
joseph-zuckerman -
Category
Documents
-
view
99 -
download
0
Transcript of GTRI Internship Presentation
Summer InternshipPresentation
Joseph Zuckerman
Tasks
I.Network Time Protocol with GPS
A.NTP Installation
B. GPSD Usage
C. GPS Configuration
D.Server/Client Network
II. Zynq Board Functionality Testing
A.C++11
B. Limits
C. Connecting to Network
D.Threading
E. Boost
III. Other Research Topics
A. PTP
B. USB Filesystems
IV. Pod Controller Testing
A. Testing MDF
B. Fixing Xterm Display
C. USB Investigation
V. Internship Experience
NTP
• Linux
• NTP installation
• Contacting Internet Servers
• north-america.pool.ntp.org
• time.nist.gov
• utcnist.coloarado .edu
• Terminology
GPS and GPSD
• GPSD Installation
• Instruction Changes (various packages)
• NTP with GPSD
• Must edit ntp.conf file to work with gpsd
Sample Output NTP & GPS
NTP Query
CGPS XGPSTools for monitoring GPS
GPS Configuration
• Issues:• GPS time-out after 5-10 minutes of running• GPSD doesn’t reconnect with NTP after a time-out
• Find a more stable configuration for the GPS using GUI
• GPS has sensors and other options that are capable of being turned on and off
• Also 3 different kinds of NMEA messages each with options for sensors and other data for time and position
GPS Configuration - Settings
• Most of these options and messages were turned on
• Theory – too much data was being sent, overloading the
GPS, and causing it to time out
• Turned off all settings except those related to raw position
and time
GPS Configuration – NMEA Messages
• 3 kinds of NMEA messages• GGA – latitude, longitude, altitude, time, and fix status• RMC – latitude, longitude, date, time, speed, course, fix status• ZDA – date and time
• To account for the settings update turned off everything except time and position with GGA and RMC and time with ZDA
• Testing this configuration revealed an error regarding GGA, so those were discarded, too
• Below configuration was decided on and various baud rates were tested to find the most stable
• 19200 gave the most stable configuration, GPS could run for over an hour without a time-out
GPS Configuration – PPS
• 4 options for a PPS signal• Main Loop Start – 100 PPS• Time Pulse Copy – 4PPS• Visual Odometer – Pulse everytime GPS travels set distance• Main Loop Divider – Can change number of pulses per second with a divider
• 100 = divider * Hz• For 1 Hz, set divider = 100
NTP Server/Client Setup
• Setup an NTP server/client system across the GTRI network
• Used my computer as server and Will’s as the client
• GPS timing source for broadcast
• Setup required editing the ntp.conf file
• For Server:
broadcast 10.104.21.230 minpoll 4
• For client:
broadcastclient
server 10.104.21.230 minpoll 4 maxpoll 4 iburst
NTP Server/Client Output
Server
Client
Zynq Board
• Getting Started• SD• SSH• NFS
• C++• Used Xilinx SDK to
cross compile code for ARM
• SDK has Linux terminal to communicate with board
Zynq Board – C++11 and Limits
• Tested some basic elements of C++11• Range-based for loop• Smart pointers – shared pointers• Tuples• Maps
• Tested the limits of sizes of variables on the board• Same output on my desktop and on Zynq Board
Size (Bytes) Zynq Board DesktopChar 1 1Short 2 2Int 4 4Long 4 4
Long Long 8 8Double 8 8Float 4 4
Pointer 4 4
Zynq Board – Connecting to Internet
• Board has a default IP address 192.168.42.50
• Use that address to communicate with the board
• Generated a static IP for the board
• Edited /etc/network/interfaces to update address, netmask, and gateway info
• ifconfig eth0 10.104.40.26 netmask 255.255.0.0
• Created /etc/resolv.conf to add DNS servers
• Allows FQDN formatting
Contents of interfaces Contents of resolv.conf
Zynq Board – Threading and Boost
• Threading
• Basic Hello World! Program using threading
• Threading code that worked on desktop, would not run on Zynq
• Trying to link to library that wasn’t on the board
• Solution: link to –pthread and statically link to –libstdc++
• Boost
• Installed boost and linked to boost libraries
• Ran simple code using boost features (e.g. Lambda expressions)
Other Research Topics
• PTP – Precision Time Protocol
• Requires hardware timestamping
• Incompatabilities between EXT4, FAT, and NTFS on USB
• Windows cannot read EXT4
Pod Controller
• Tested Mission Data File
• One script launches an Xterm window
• Unable to forward xterm over SSH
• Set DISPLAY = :0.0\
• Login with ssh –X, OR
• SSH settings in /etc/ssh/ssh_config
• Turn on ForwardX11
• USB Interaction
• Does not automatically mount to /media/user
• 4 Ports
• 1 goes to /dev/sdb1
• 3 go to /dev/sdc1
Internship Experience