aboutsummaryrefslogtreecommitdiffstats
path: root/android/hw-sensors.c
Commit message (Collapse)AuthorAgeFilesLines
* Use new SdkController communication protocol for emulation portsVladimir Chtchetkine2012-04-301-6/+1
| | | | | | | | | | | | | | android/sdk-control-socket.* has replaced android/android-device.* as the back-bone of communicating with SDK controller on the device. The major differences are: - New communication protocol uses just one (async) socket connection to communicate with the device (the old one used two sockets: one sync, and another - async). - New communication protocol connects to one TCP port (1970 in this CL) for all emulation ports. Channel multiplexing is done by using port names, and assigning a separate socket for communication inside each separate port. The old protocol had separate TCP ports for each emulation ports (1968 for sensors, and 1969 for multi-touch) Change-Id: I779fcbdfba2f9b4c433a9d76a567975708b00469
* 64-bit emulatorAndrew Hsieh2012-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch to allow emulator searches for emulator64-${ARCH} first on 64-bit OS. If none is found, the original behavior which searchs for 32-bit emulator-${ARCH} is performed as usual. 64-bit emulator (which still emulates Android built in 32-bit) offers up to 20% speedup compared to its 32-bit counterpart. Details: android/main-emulator.c 1) search emulator64 based on the OS 2) dlopen lib64OpenglRender in 64-bit Makefile.* 1) Rules to build 64-bit executable emulator64-{x86,arm} and libraries emulator64-{libui,libqemu,target-i386,target-arm,libelff,common} 2) remove -Wa,-32 3) Changes prebuit toolchain path android-configure.h android/build/common.h 1) no longer force 32-bit build (because now prebuilts/tools/gcc-sdk/gcc can now handle 64-bit 2) set ANDROID_PREBUILTS to correctly locate ccache android/config/*/config-host.h 1) Detect HOST_X86_64 and HOST_X86_64/HOST_I386 Misc 64-bit porting clean-up 1) use %zx to print variable of type size_t in hex 2) use %zu to print variable of type size_t in dec 3) Initialize query_parm to NULL 4) use PRIu64 to replace PDUd64 5) use PRId64/PRIu64/PRIX64 to print 64-bit 6) drop PRUx64 because PRIx64 does the same 7) cast pointer arith to intptr_t before casting to int 8) fixed 1ULL<<63 Change-Id: Ife62a20063a6ec38d4a9b23977e840af1fce149a
* Don't display warning when emulator is unable to connect to device.Vladimir Chtchetkine2012-01-101-1/+3
| | | | | | | | | | Warning that is displayed when "realisting sensors emulation" component in emulator is not able to connect to an application streaming sensor changes from an actual device, that warning confuses users, making them think that emulator didn't initialize properly. To avoid that confusion, hide that warning under -verbose, displaying it only if -verbose option has been specified on emulator start. Change-Id: If40cc726db9bec4ab631dcbdcd02fb98cc30d93a
* Implements sensors emulation using a connected Android deviceVladimir Chtchetkine2011-11-091-6/+47
| | | | | | | | | | | | | | There are three major things in this CL: 1. Abstract a connection with an Android device that is connected to the host via USB, and there is a TCP port forwarding to this device via 'adb forward' command. This abstraction is implemented in android/android-device.* 2. A client for android device API that talks to an app on the connected device that provides values for sensors available on the device. This is implemented in android/sensors-port.* 3. Changes to the sensor emulation code in android/hw-sensors.c to use sensors port (when available) for sensors emulation. Change-Id: I12901e8db6b6a6262fc1703ed96a9f714335d666
* Enable qemud clients to pass connection parameters to emulator.Vladimir Chtchetkine2011-08-251-2/+5
| | | | | | | | | | | | This is useful for qemud pipe clients to be able to pass parameters to the emulator service when connecting. In particular, this would be extremely useful for camera emulation clients, which can pass name of the camera device, and other parameters that may be required to connect to the camera. Parameters are passed when opening the qemud pipe in form: /dev/qemu_pipe/camera:/dev/video0 I.e. parameters follow the service name, separated from it by ':' Change-Id: I67f0ef0ff27008e2b52652e58d72d5216b244646
* Sensor Command Line Interface implementation.Tim Wan2011-06-081-38/+115
| | | | | | | Implement an unified sensor command line interface(CLI) on emulator to check all available sensors, and get/set specified sensor data. Change-Id: Ibb3c3522dc6c88e42fa1c7dffa32fbb675596b08
* qemu-timer.c: rename qemu_timer_new_scale()David 'Digit' Turner2011-06-011-2/+2
| | | | | | | | | | | Get rid of qemu_timer_new() implementation, and update all callers to use qemu_timer_new_ms() or qemu_timer_new_ns() instead. Rename qemu_new_timer_scale() to qemu_new_timer() to follow upstream conventions. Change-Id: Id2c04f8597ec5026e02f87b3e2c5507920eb688e
* Fix sensor-related snapshot resume failure.David 'Digit' Turner2011-02-241-2/+10
| | | | | | | | A snapshot saved with the Tools r9 emulator couldn't be restored properly because we added another sensor (proximity) in Tools r10. Provide code to deal with this case properly and avoid a nasty crash. Change-Id: Ifc395c12496a599eb4ae02e089fe8e13a90865b4
* hw-sensors.c: Reduce default delay between sensor updates.David 'Digit' Turner2011-02-151-5/+7
| | | | | | | | | | This reduces the default delay used between sensor updates. This is needed to fix orientation for Honeycomb emulation since the framework's window orientation listener now discards events if they are spaced by more than 1 second (which happened to be the old default). Change-Id: I9194d93ab445302df1d887473b6ff5c446e13f98
* Adding proximity sensor simulationOla Albertsson2010-12-171-1/+31
| | | | | | | Proximity sensor is added in emulator and avd ini file is modified to be able add a proximity seensor to a avd. Change-Id: I4d2645c0c4861511451b606e18d2fd9b9a2d27ed
* Added state snapshot support for QemuD.Ot ten Thije2010-10-141-4/+123
| | | | | | | | | | | | | | | | | With this patch, both modem and sensor functionality are correctly restored when a state snapshot is loaded. This was not the case previously because communication with either of these services is done using the qemud daemon, which did not support snapshots. The boot-properties and charpipe services have no specific save/load functionality yet, since the framework itself should be reviewed first. Adding support for bootproperties should not be difficult though, and charpipe may not need it. For a description of the high-level process for saving and loading, consult section IV "State snapshots" in docs/ANDROID-QEMUD.TXT. Change-Id: I5b06d88b911ca096e78060163174904c48a01c66
* This fixes the hardware emulation to support several clients listeningDavid 'Digit' Turner2009-06-121-153/+238
| | | | | | | | | | | to the "sensors" service at the same time. Each client can decide to listen to different sensors, with different delays too. The previous implementation only allowed a single client, which blocked anything application that tried to read the sensors (since the framework was already the only allowed client) Signed-off-by: David 'Digit' Turner <digit@google.com>
* This adds the '-prop <name>=<value>' option which is used to setDavid 'Digit' Turner2009-05-261-1/+2
| | | | | | | | | | boot-time system properties from the command line. This is done by implementing a new 'boot-properties' qemud service in the emulator. This is to be used by the 'qemu-props' helper program that will be invoked by /system/etc/init.goldfish.rc to read a list of system properties from the emulator and set them in the emulated system during boot.
* auto import from //branches/cupcake_rel/...@140373The Android Open Source Project2009-03-181-0/+450