android dental camera system building · 2017. 12. 14. · multiple pendrive storage support....
TRANSCRIPT
![Page 1: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/1.jpg)
www.phiinnovations.com
Building Android Dental Camera System
Android Builders Summit 2014Rafael Coutinho - Software Engineer
![Page 2: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/2.jpg)
www.phiinnovations.com
Agenda
● Scenario● Motivation● Project requirements● Challenges and solutions● Final solution● Summary● Q&A
![Page 3: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/3.jpg)
www.phiinnovations.com
Scenario
Existing system● Customized Ubuntu ● Dental Software
● Electronic health records of patients● Storing digital dental pictures● Simple image editing of the dental pictures
● Some entertainment software included
![Page 4: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/4.jpg)
www.phiinnovations.com
Scenario
Hardware● Digital Camera ● All in one with Intel Atom N455 (x86)● User Interaction using Air mouse● Multiple USB peripherals
● Foot pedals (for camera activation)● Mouse inside a box
● Multiple Pendrive Storage support
![Page 5: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/5.jpg)
www.phiinnovations.com
Performance Issues
Action Time to execute
Boot 56s
Save picture 6s
View a Picture 2s
Start image capture 5s
![Page 6: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/6.jpg)
www.phiinnovations.com
Motivation
● Software evolution limitations● Needed performance improvements● User interface needed to improve● Got governmental funding to finance the product
upgrade
![Page 7: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/7.jpg)
www.phiinnovations.com
Project
Migrate the operating system to Android● Easy of use
● UI similar to what dentists owners of Android devices already have● Easy to find skills for new softwares ● Easy to find new softwares to integrateModernize the foot pedal activation device● To reduce power consumption
![Page 8: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/8.jpg)
www.phiinnovations.com
Selected Android ‘distribution’
Needed a stable and complete x86 Android distributionApril 1st 2014 Intel provided an Android Code for Intel
Architectures.
![Page 9: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/9.jpg)
www.phiinnovations.com
Selected Android ‘distribution’
![Page 10: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/10.jpg)
www.phiinnovations.com
Selected Android ‘distribution’
Decided to use Android-x86● Started in 2009● Supports Atom N455 ● Very active group● Pretty open● ICS 4.0.3
![Page 11: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/11.jpg)
www.phiinnovations.com
Challenges
Identify the most compatible target device configuration ● EeePC
● Wifi works fine● Power button
![Page 12: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/12.jpg)
www.phiinnovations.com
Video with Hardware Acceleration
Live Demo worked at first try. Problems solved?● Video card needed i915 driver
● Default menuconfig had not this driver selected● Simply activated it
![Page 13: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/13.jpg)
www.phiinnovations.com
Video Capture Support
● SAA7113● Worked smoothly at first
● However Android by default uses only the internal PCI camera
● Configure USB cameras● Hard way - Investigating CameraFactory.cpp
● Create /etc/camera.cfg● Format: ORIENTATION DEVICE
● Added support to multiple cameras
![Page 14: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/14.jpg)
www.phiinnovations.com
Video Capture Support 2
Needed to have camera settings● Brightness / Contrast / Saturation…● Support in V4l2 but no support in Android’s Libcamera
implementationAdded some custom methods to v4l2camera.cpp and in
CameraHardware.cppIt also helped with the requirement of setting video norm
(NTSC/PAL...)
![Page 15: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/15.jpg)
www.phiinnovations.com
Challenges
● Multiple USB storage● ICS only supports 1 USB mounted● JB has support to multiple USBs● Migrate from Android 4.1 -> 4.0.3● Mainly code from system/vold● USB1 / USB2 / USB3 ...
![Page 16: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/16.jpg)
www.phiinnovations.com
Challenges
● Existing foot pedal● Actually a wireless mouse inside a box
● Consumes too much battery● Motion ~20mA● Quick Idle 1.3mA● Long idle 0.29mA
![Page 17: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/17.jpg)
www.phiinnovations.com
Challenges
● New foot pedal solution● Using a Silicon Labs Si4010 that only
sends 10 radio comm per press● Idle it consumes < 10 nA (10x10⁻⁶mA)● Activated it consumes 10 mA during 3 seconds
● Receiver using Si 4355 and uC Freescale to communicate with USB
● Android native code receives the connection and broadcasts the event for the apps
![Page 18: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/18.jpg)
www.phiinnovations.com
Challenges
● Support printers● Printer drivers on Android is really limited
● SkyPrinter Service● Custom network service on a Windows or Mac computer
![Page 19: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/19.jpg)
www.phiinnovations.com
Application Layer
● Home Application UI● Easier the access to
main system features● Access to Android
standard components
![Page 20: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/20.jpg)
www.phiinnovations.com
Application Layer
Electronic health records of the patients
![Page 21: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/21.jpg)
www.phiinnovations.com
Application Layer
Storing digital dental pictures
![Page 22: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/22.jpg)
www.phiinnovations.com
Application Layer
Image editing tool
![Page 23: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/23.jpg)
www.phiinnovations.com
Application Layer
Capture with camera settings
![Page 24: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/24.jpg)
www.phiinnovations.com
Performance Results
Action Previous Ubuntu Version
Android Version
Boot 56s 16s
Save picture 6s < 0.02 s
View Picture 2s < 0.01 s
Start image capture 5s 1.4s
![Page 25: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/25.jpg)
www.phiinnovations.com
All done… but suddenly
● 2 new All in one devices● New capture boards● DVD player
![Page 26: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/26.jpg)
www.phiinnovations.com
Video Capture Support 3
● New devices received from the China supplier● New Video Capture version
● GM7113c - Generic version of SAA7113● Not identified by the SAA7113 driver
● Good news there is a new SAA7113 driver supporting that board● Bad news is, the driver is in kernel 3.2.0.48, our is 3.0.36● Had to port that driver, and it’s related files (v4l2 and EM28xx updates)
![Page 27: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/27.jpg)
www.phiinnovations.com
DVD Issue
● Kind of ignored by Android system…● mainly because… it is old
● But the previous product had it.● Apparently the main issue was to mount it and done.● Mount done, play was working but… no DVD menu
access etc.
![Page 28: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/28.jpg)
www.phiinnovations.com
DVD Solution
● Needed a DVD application for Android (open)● Tried VLC
● Played ok but not menu access● Tried XBMC
● 1st part was to recompile XMBC for Android x86● Testing identified it works if DVD files were copied into a USB drive or
the internal memory● DVD drives must not be case sensitive!!!
![Page 29: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/29.jpg)
www.phiinnovations.com
Finally… we identified the main problem
● Project done● Software got a great makeup● Operating system adapted and working● The end?● New delivery from china supplier, lots of devices with
Atom D2500● Graphic card is GMA3600 - no support (driver available)
![Page 30: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/30.jpg)
www.phiinnovations.com
Real issue of our customer
Is not softwareIs not operating systemIt is: Having an embedded system with no dedicated hardware
![Page 31: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/31.jpg)
www.phiinnovations.com
New project
Develop a dedicated hardwareSolution uses Beagle Bone Black with a cape containing
the extensions and devices needed
![Page 32: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/32.jpg)
www.phiinnovations.com
New project
![Page 33: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/33.jpg)
www.phiinnovations.com
New project
BBB is broadly availableMitigates the risk of having hardware changesAndroid for ARM is more common
![Page 34: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/34.jpg)
www.phiinnovations.com
Summary
The more challenges we have, the more fun (after the stress)
Developing an embedded system without a dedicated hardware is not easy
![Page 36: Android Dental Camera System Building · 2017. 12. 14. · Multiple Pendrive Storage support. Performance Issues Action Time to execute Boot 56s ... Format: ORIENTATION DEVICE Added](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdee20991f5af23fb02d05e/html5/thumbnails/36.jpg)
www.phiinnovations.com
References
Android x86 - www.android-x86.orgPhi Innovations - www.phiinnovations.com