Transcript
Zebra New EDA Device – MC36 Software features and Developer Guide Eric Hu Principal Software Engineer
Agenda • MC36 Introduction • SW Functionality • • • •
Scan Config Scan Demo Key Remapping MDM solution - SOTI
• Programming • • • • •
SDK Introduction Scan APIs Touch Input Manager APIs Intent APIs Mediatek APIs
• Debugging • Backup • Customer Security Keys
MC36 Introduction
MC36 Introduction- Product Overview Rugged Value Tiered Enterprise Mobile Computer with 802.11b/g/n and Dual WWAN WCDMA & TD-SCDMA System:
Ergonomics & UI:
MTK MT6582 ARM® Cortex®-A7 quad-core (1.3GHz) CPU 1GB RAM / 8GB Flash Memory Android Kit Kat 4.4.2 microSD Slot supports up to 32GB microSD Card
One handed, ambidextrous data capture form factor 4.3" Color WVGA display for best-in-class outdoor visibility Capacitive Touch Panel with 2 pts operation 24-Key Numeric Keypad Two scan side keys and volume key
Connectivity: Dual WAN: GSM 900/1800 WCDMA & TDSCDMA; WCDMA B1,B8&TDSCDMA B34,B39 for China Dual micro SIM WLAN: 802.11b/g/n WPAN: BT 4.0 Integrated Autonomous GPS with A-GPS USB2.0 (host/client);
Best in Class Ruggedness: Operating Temp: -10 deg C to +50 deg C 4ft/1.2m drop to concrete per MIL-STD 810G 300 drops 1.6ft/0.5m Tumbles IP65 Sealing (Dust and Water) ESD +/-15KV Air & +/-8KV Contact
Battery:
Data Capture:
Rechargeable Li-Ion: Standard Capacity, 3.7V, 2940mAh; Extended 1.5x, 3.7V, 4410mAh 12 Hour Shift RTC backup
Integrated 1D (SE655) or 2D (SE4710) Imager 5MP AF color camera HF-RFID – Card Reader, Card Emulation
Sensor Technologies: 3-axis accelerometer for display orientation and power management Ambient light sensor to auto adjust display brightness, keypad and display backlight Proximity Sensor to automatically detect when the user places the handset against head during a phone call to disable display output and touch input
Audio: Speaker – 0.7 Watts avg; Voice Support (Internal Speaker/MIC) Single MIC
Accessory eco-system: Single-Slot Charging Cradle Vehicle Charger Hand-strap
Platforming: MTK performance platform Supports Android SDK, Rho, and SOTI for Android
MC36 Cradle: Single slot cradle with battery charger
MC36 Software Functionality
SW Functionality – Scan Config • Provides UI interfaces for user to setup Scan Engine • Provides a background service and communicate with built-in scanner to allow user do scan bar code in applications without adding any customization
SW Functionality – Scan Config APPLICATIONS
• Application Association • Specify applications that is able to receive scan data in foreground from scanner • Initially the association list contains ScanDemo, Browser, Email, Messaging and QuickSearchBox
• Quick Launch • Enable/disable to launch ScanDemo by Scan trigger key in Launcher
SW Functionality – Scan Config BARCODE INPUT • Enabled • Enable/Disable scanner decode input (Enabled by default)
• Decoders • Configuration for enable/disable individual barcode type
• Decoder Params • Provides options to configure decoder parameters for each individual barcode type
• UPC/EAN Params • Provide setup for generic UPC/EAN
• Reader Params • Specific settings for reader (scanner)
• Scan Params • Specific settings for scanning behavior • Encoding supports UTF-8, and Traditional/Simplified Chinese encoding (GB18030, GBK, BIG5, BIG5-HKSCS)
SW Functionality – Scan Config BARCODE INPUT • Keystroke Output (The Keystroke Plug-in captures and sends data received from the scanner to the foreground applications by emulating keystrokes)
• Enabled: Enables or disables • Action key character: Enables or disables decoding of a special character embedded within a bar code for use in native Android applications
• Basic data formatting: Allows Scan Config to add a prefix and/or a suffix to the captured data before passing it to the Keystroke Output
• Intent Output (The Intent Output plug-in allows the captured data to be sent to an application in the form of an implicit Intent)
• • • •
Enabled: Enables or disables this plug-in Intent actions: Enter the Intent Action name Intent Category: Enter the Intent Category name Basic data formatting: Allows to add a prefix and/or a suffix to for the Intent output
SW Functionality – Scan Config Configuration Management • Import : Allows the user to import Scan Config configuration file from specified path. The imported configuration overrides the current configuration
• Export: Allows the user to export the current Scan Config configuration to specified path
• Restore: Restore the configuration to factory defaults • About: Shows the versions of scanner API, scanning framework, Scan Config and scanner firmware
SW Functionality – Scan Config Configuration Management • Auto Import (The configuration will be used the next time an associated application is opened ) • Scan Config monitors the Enterprise folder /enterprise/device/settings/scanconfig/autoimport for prefs.xml file. • Once prefs.xml is found, Scan Config imports the file and replaces the existing configuration. • Then, Scan Config deletes the prefs.xml after finishing import.
• Configuration persistence after Enterprise reset: • Enterprise folder is persistent and maintains data after an Enterprise reset • After an Enterprise reset, Scan Config checks folder for a configuration file
SW Functionality – Key Programmer • MC36 provides buttons can be programmed to • Difference functions • Shortcuts to install applications
• MC36 programmable Keys • Center scan button • Left & Right scan button • P1 & P2
• Configuration File import/export • The Button Remapping configuration can be exported to an xml file and imported
• Wakeup Configuration: • Center, Left and Right Scan three keys
SW Functionality – SOTI MobiControl (MDM Application) • Provisioning: MobiControl Stage provides configuration functionality for Wifi, VPN, NFC and Bluetooth via scanning barcode
• Devices Management:
MobiControl Agent provides tool for IT administrator to manage devices (E.g. Enforce complex passwords, Turn features on and off, implement hardware and OS restriction policies, and remotely lock and wipe devices,…etc)
• Applications Management: MobiControl Agent provides over-theair distribution, configuration, updating, and removal of applications
• Content Management: MobiControl Agent can configure priority levels, specifying time durations for document availability, stagger content distribution by location
MC36 Programming
SDK Introduction • The SDK Add-on package includes: • Libraries for Symbol APIs and Mediatek APIs. • Sample code for Scan API
• SDK Add-on Installation (Use Eclipse as example) • Make sure the Android SDK and Eclipse are installed. • Extract MC36 SDK Add-on file to “add-ons” folder of Android SDK Installation folder • Open Android SDK Manager to check if MC36 SDK add-on is installed
• Use SDK Add-on in Eclipse: • Open Eclipse IDE • Create a new Android Project; Select Symbol Add-on in “Compile With” as target
MC36 APIs – Scanning APIs • com.symbol.scanning.Scanner /* Scanner class will provide the access to the built-in scanner */ • .ScannerVersion • .DataListener /* Callback to notify client on a good decode.The decoded barcode string would be stored in the argument*/ • .StatusListener • .ScannerInfo
• com.symbol.scanning.BarcodeManager /* The primary object to access the barcode scanning feature */
• com.symbol.scanning.ScannerException /* Show the exception when an error occurs */
• com.symbol.scanning.StatusData /* Class to indicate the scanner status */
• com.symbol.scanning.ScanDataCollection /*The ScanDataCollection object gives scanning result and the collection of ScanData*/ • .ScanData
MC36 APIs – Scanning APIs • com.symbol.scanning.ScannerConfig /*Class that provides access to scanner configuration settings*/ • .DecoderParams • .ReaderParams • .ReaderSpecific •
.ImagerSpecific
•
.LaserSpecific
• .ScanParams
• com.symbol.scanning.ProfileManager /*Class handles all the config related functions*/
MC36 APIs – Scanning APIs • com.symbol.scanning.ProfileConfig /* Class to indicate the config status */ • .ActivitySelection /*Class for dealing with ActivitySelection (application association)*/ • .ActivityElement
• .QuickLaunch • .DataCapture • .DataCapture.Barcode • • • • •
.DataCapture.Barcode.Decoders .DataCapture.Barcode.DecoderParams .DataCapture.Barcode.ReaderParams .DataCapture.Barcode.ScanParams .DataCapture.Barcode.UpcEanParams
• .DataCapture.DataDelivery /* Class for dealing with DataDelivery profile data */ • • •
.DataCapture.DataDelivery.BasicDataFormatting .DataCapture.DataDelivery.Intent .DataCapture.DataDelivery.Keystroke
MC36 APIs – Intent APIs • com.symbol.actions.DISBLE_DEVICE_RESET • Class that holds Keystroke Configuration settings
• com.symbol.actions.ENABLE_DEVICE_RESET • Enable Enterprise data reset option in Settings
• com.symbol.intent.action.HOMEKEY_MODE • Activate/Inactivate the capacitive Home button
Mediatek APIs • MC36 is based on Mediatek Chipsets Platform and offer following extra packages: • • • • • •
-com.mediatek.build -com.mediatek.camcorder -com.mediatek.hardware -com.mediatek.hotknot -com.mediatek.media -com.mediatek.telephony
• A complementary Mediatek API reference on MTK Labs site: (The API Level of MC36 devices is level 2) http://labs.mediatek.com/site/znch/developer_tools/mediatek_android/api_references/m ediatek-sdk3/reference/packages.gsp
MC36 Debugging
MTKLogger • MTKLogger contains • • • •
Mobile Log Modem Log Network Log System Logger
• Launch MTKLogger •
Boot up MC36
•
Enter *#*#3646633#*#* in Phone -> Dialer
• Mobile Log •
Android Log, Kernel Log, Bluetooth Log
•
Can set limit for log size and total size
•
Can set to turned on automatically after boot up
• Modem Log • • •
Log Mode: SD or USB Can set limit for log size and total size Can set to turned on automatically after boot up
• Network Log •
Can support network connection check
• •
Can sit limit for package size and total size Can set to turned on automatically after boot up
THANK YOU