430 likes | 581 Views
How I Used to Think Black and White Stripes Belonged Only on Zebras. Walt Woods, 2008 MECOP at Datalogic Mobile Inc. Eugene, OR, USA. Datalogic Mobile Inc. as an Employer. Datalogic Mobile Inc. Original Equipment Manufacturer (OEM) of data collection devices
E N D
How I Used to Think Black and White Stripes Belonged Only on Zebras Walt Woods, 2008 MECOP at Datalogic Mobile Inc. Eugene, OR, USA
Datalogic Mobile Inc • Original Equipment Manufacturer (OEM) of data collection devices • Major manufacturer of handheld PDTs and PDAs • Vehicle Mounted scanners • Barcodes (1D and 2D), RFID, and Magnetic Stripe cards • Windows CE and Windows Mobile
Datalogic Mobile Inc. in Eugene: A Brief History • 1961: Spectra-Physics Inc. founded • 1974: First commercial barcode scan (by a Spectra-Physics device, nonetheless) • 19XY, 74 <= XY <= 96: Spectra-Physics moves to Eugene • 1980: Percon founded; Easy-Read scanner • 1996: PSC acquires Spectra-Physics Scanning Systems • 2000: PSC acquires Percon Inc. • 2005: Datalogic acquires PSC • April 2nd, 2007: “Day One” of Datalogic Scanning, Datalogic Automation, and Datalogic Mobile
How They Treat Interns • $18/hour (1st Internship) • 40 hours/week • Flexible hours aside from meetings • Overtime acceptable for time-sensitive, important projects • Discount at a local health club
Software Research & Development • Datalogic Mobile has two SW R&D groups • Eugene’s software R&D consists of 5 people (excluding myself) • Bologna’s software R&D consists of 7 people • Semi-autonomous • First fully joint project this year
Software Test • Eugene’s is Datalogic Mobile’s only test group • Responsible for Validation and Verification of all products’ requirements • 3 People
Marketing • Represents customers • Significant stakeholder in most products
PREMR Process Product Requirements Document Software Project Management Plan Software Requirements Specification Software Design Document External Design Document Software
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Definitions • ROI – Return on Investment • I do not have accurate figures to estimate these monetarily • Instead, I present the two following metrics: • E-Ratio – Effectiveness Ratio: Measured in ratio of “Direct Usefulness to the business + Indirect Usefulness through applicable experience” compared to “Development time”. Use this as ROI if you want. • SAT - Satisfaction – Percentage (0-100) personal satisfaction with the solution as I left it. Zero implies that I feel my contributions should be scrapped; 100 implies that I think my solution is the absolute best solution possible for the project
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
First CE Application • No prior CE experience • Familiarized me with Datalogic’s barcode SDK • 1.5 Weeks spent tinkering • E-Ratio 1:1, SAT 40% • Saved time later • Had I included more GUI elements, would have been more useful
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Starstrike • Quick project to familiarize myself with GDI functions • 1-2 Days to make • E-Ratio 3:1, SAT 80% • Used most this knowledge later • Re-used basic code for subsequent projects • Directly contributed to headset control panel
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Serial X • Windows app that erases the serial number from Pegaso units • Directly modifies flash • Used by repair in some situations • 2 Weeks • E-Ratio 6:1, SAT 50% • Needed functionality • Also assessed perceived failure of flash erasure • It’s never particularly satisfying to find out that a week was spent to determine nothing was wrong
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
DLConfigManager / DDUConfig • Reads settings from device, spits out XML representation of GUI • Plugs into DCU • 2 Weeks • Initial version only took 1 week. Turns out there’s a reason to spend more time on projects • E-Ratio 10:1, SAT 90% • Developed fairly rapidly • Very quick to modify, good backwards compatibility support • Required functionality
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Remote Automation Library • Allows control and querying of device through PC link • Designed to aid GUI testing • 4 Weeks • E-Ratio 0:1, SAT 80% • At the moment, not used; test is too busy to employ time learning to use it • The solution seems to work great though
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Audio Drivers • Experimenting with ways to clean up signal for VR software • Band pass filters, fourier transforms, band compression • 4 Weeks • E-Ratio 1:4, SAT 60% • Microphone volume meter is used in Headset Control Panel • Sadly, the filters degraded signal performance • Learned a lot about waveform drivers and mathematical filters
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Headset Control Panel • Allows users to control microphone gain and amp boost • 1 Week • E-Ratio 4:1, SAT 80% • Required functionality • Simple design, works well
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Datalogic Configuration Utility / WISE • Fixed various bugs • Contributed basic password encryption scheme • 1 Week • E-Ratio 1:1, SAT 60% • Closing bugs is kind of fun • Weak password scheme
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Datalogic Firmware Utility • Fixed a few WISE installer bugs • Updated for Vista compatibility • Swapped out USB drivers (old Jungo for new) • Updated Serial driver • Replaced ActiveSync detection method • 1 Week • E-Ratio 5:1, SAT 90% • Quick patch • Supporting a new OS is important • Made future replacements of Jungo easier
My Projects • First CE Application • Starstrike • SerialX • DLConfigManager / DDUConfig • Remote Automation Library • Audio Drivers • Headset Control Panel • Datalogic Configuration Utility / WISE • Datalogic Firmware Utility • Coprocessor Communications
Coprocessor Communications • Designed (read: adapted old) coprocessor communication protocol for Next Gen products • First experience writing Serial communication code • 2 Weeks • E-Ratio 4.5:1, SAT 60% • Specs are important, particularly when development is physically split (Eugene and Bologna) • Directly influences Next Generation of products • Networking is something of a hobby
Pegaso Presentation • Learned about: • Windows CE • Image Build process • Image layout in RAM • Coprocessor functionality • CPU Boot Procedure
Diagnosing System Lockups • Interesting lock-up caused more than a few headaches around the office • No reason for the lockup was immediately apparent • Grand example of unknown bug analysis • Isolate conditions • Determine contributors • Craft and try solutions
Task Switching • Writing two • It’s hard to write • sentences at once • this way • is hard. • There was a great deal of this, though usually it was to a good effect
Thana Schafer • Owns and displays a crowbar in her office • Lies to boys • Takes scary pictures
RAPIt Up That’s a bad pun. In other words: last words.
Helpful Courses • CS161/162 – Intro to CS • CS261 – Data Structures • CS311 – Operating Systems • CS325 – Analysis of Algorithms • CS361 – Software Engineering I • ENGR201/202 – Electrical Fundamentals • ECE375 – Computer Organization & Assembly Language • Notable omissions: CS362
Overall Impressions • Datalogic Mobile makes quality, diverse products • Wide variety of tasks to choose from • As well as plenty of interesting odds and ends to keep an intern busy • Excellent balance of work and play