1
0
mirror of https://github.com/ARM-software/devlib.git synced 2025-03-28 12:37:50 +00:00

748 Commits

Author SHA1 Message Date
setrofim
2a0d110012 Merge pull request #157 from marcbonnici/airplane/brightness
Adds additional Android methods
2017-08-17 10:59:27 +01:00
Sergei Trofimov
3d10e3eae9 utils/types: numeric expeanded to handle percentages
numeric() conversion function is expanded to handle percentage values in
the form "10.123%". The result is the numeric part converted to a float
and divided by 100, e.g. 0.10123.
2017-08-16 16:00:38 +01:00
setrofim
4d95656e49 Merge pull request #160 from qperret/gem5/stats/async-origin
module/gem5stats: enable asynchronous origins in gem5 stats file
2017-08-16 13:39:31 +01:00
Quentin Perret
38258eb74c module: gem5stats: enable asynchronous origins in gem5 stats file
Currently, reset_origin() in the gem5stats module enables to virtually
truncate the existing dumps from the gem5 statistics file so that any
subsequent match() calls will apply only on new dumps. However, the
current implementation resets the origin of the stats file unilaterally,
without other clients knowing about it, hence leading to data being
lost.

This commits removes the reset_origin() method and provides a different
API to handle virtual truncatures in the stats file. Namely, the match()
method now takes a base_dump parameter letting clients specifiying from
which dump they want match() to apply. This feature could also be usefull
if someone wanted to add off-line processing features for statistics
files.
2017-08-16 10:40:10 +01:00
Marc Bonnici
8839ed01ba AndroidTarget: Changes default unlocking method
Instead of using a default 'horizontal' unlocking method, now will try
a diagonal swipe up as this should work most modern devices with vertical or
horizontal unlocking methods.
2017-08-14 09:55:21 +01:00
Marc Bonnici
1229af0895 AndroidTarget: Fixes 'swipe_to_unlock' method. 2017-08-11 14:22:28 +01:00
Marc Bonnici
003785dde1 AndroidTarget: Adds methods to get/set screen rotation 2017-08-10 11:21:04 +01:00
Marc Bonnici
3e751746d6 AndroidTarget: Adds methods to get/set airplane mode
In order to change the state of airplane mode, the setting needs to
be configured before broadcasting an intent to update the system. As of
Android N, root is required to send the broadcast, therefore this method
will raise an error if the requirements are not satisfied.
2017-08-10 11:21:03 +01:00
Marc Bonnici
ddd2e29b87 AndroidTarget: Adds methods to get/set screen brightness 2017-08-10 11:21:03 +01:00
Brendan Jackman
380ad0515d ssh: Improve error when failing to push file
CalledProcessError doesn't include the output of the failed command
in the message it prints, so use a HostError isntead.
2017-08-09 16:01:49 +01:00
Brendan Jackman
93b39a7f47 ssh: Fix redacting SSH password in errors
IIUC this is supposed to redact the password from exception messages,
but 'pass_string' is not set to the password so nothing is
altered. Fix that.
2017-08-09 16:01:49 +01:00
setrofim
1da8d3f95f Merge pull request #151 from AnthonyARM/master
Add support for arbitrary ADB servers
2017-07-31 15:51:15 +01:00
Ionela Voinescu
d25beb5c8b gem5stats: fix missing import for TargetError
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
2017-07-27 11:07:05 +01:00
Sergei Trofimov
63e60401d5 module/cpufreq: rename get_domain_cpus
Rename get_domain_cpus to get_related_cpus to match cpufreq nomenclature.
2017-07-26 14:23:34 +01:00
Sergei Trofimov
e206e9b24a module/cpufreq: fix get_affected_cpus docstring
The docstring was duplicated from get_domain_cpus. This updates the
docstring to reflect the difference from get_domain_cpus.
2017-07-26 14:23:34 +01:00
Sergei Trofimov
36aa3af66d module/cpufreq: fix domain cpus.
- Use related_cpus rather than affected_cpus inside get_domain_cpus to
  return all cpus in the domain (including those online). This changes
  the behavior, but old behavior was almost certainly wrong as the
  method is memoized, and so the result should not be affected by
  hotplug.
- Add a non-memoized get_affected_cpus() which implements the old
  behavior.
2017-07-26 14:02:59 +01:00
Anthony Barbier
b392a0a1b4 Use related_cpus instead of affected_cpus
related_cpus doesn't rely on the related cores to be online to work cf https://www.kernel.org/doc/Documentation/cpu-freq/user-guide.txt
2017-07-26 14:00:38 +01:00
Valentin Schneider
b54dc19b81 devlib/module/thermal: Fix thermal zone disabling
Calling thermal.disable_all_zones() would raise an exception.
I've changed a few things:
* use self.zones.itervalues() in disable_all_zones to fix that exception
* renamed zone.set_mode() to zone.set_enabled()
2017-07-26 11:39:49 +01:00
Anthony Barbier
7919a5643c Add support for arbitrary ADB servers 2017-07-25 13:48:33 +01:00
Marc Bonnici
02c93b48ab ABI_MAP: Adds 'armeabi-v7a' to mapping 2017-07-20 14:24:07 +01:00
Marc Bonnici
98fb2e2306 Target: Ported supported_abi property from WA2 2017-07-20 14:24:07 +01:00
Marc Bonnici
68be9d8acc utils/android: Added native code extraction of apks from WA2 2017-07-14 17:20:24 +01:00
Sergei Trofimov
85036fbb30 utils/android: better error message when exit code not detected
Include the stdout/stderr output in the message of the exception raised
when the exit code of the adb command cannot be detected.
2017-07-12 13:46:19 +01:00
setrofim
b933dbda67 Merge pull request #146 from derkling/adb_addons
Add a couple of ADB related utility functions
2017-07-12 13:20:53 +01:00
Patrick Bellasi
0c7eb9e91e target: add support to kill/restart and ADB connection
Sometimes it could be useful to disconnect from the target, for example
when a "pass thought" energy monitor is used to control the USB
connection to the device.

This patch adds a couple of utility methods which allows to kill the ADB
server and restart it while waiting for the device to be ready to accept
new connections.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
2017-07-12 12:30:30 +01:00
Patrick Bellasi
f26f942723 tagert: factor out the wait_boot_complete code
The connect() method embeds some code to wait for a target to be
completely booted.

Let's move this code into a dedicated function.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
2017-07-12 12:27:28 +01:00
Ionela Voinescu
0a95bbed87 misc.py: fix syntax error introduced by 86c9b6a1c7e
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
2017-07-10 16:07:28 +01:00
Sergei Trofimov
86c9b6a1c7 utils/misc: update MIDR table
Update the MIDR CPU part number table with values from
https://github.com/torvalds/linux/blob/master/arch/arm64/include/asm/cputype.h
2017-07-10 15:03:59 +01:00
Quentin Perret
7a827e2b11 instrument: Add power monitoring support on Gem5 platforms 2017-07-10 09:49:39 +01:00
Quentin Perret
ce48ad217d module: gem5stats: add an iterator to match records 2017-07-10 09:49:33 +01:00
setrofim
f9bc6966c0 Merge pull request #142 from qperret/gem5stats-module
module: Control and parse gem5's statistics log file
2017-07-07 11:44:02 +01:00
Quentin Perret
baedd676a9 module: Control and parse gem5's statistics log file
Gem5's statistics log file contains plenty of interesting information
that are not exposed so far. This module enables control and parsing of
the statistics file by:
 - configuring periodic dumps of statistics;
 - marking Regions of Interest (ROIs);
 - and extracting values of specific fields during the ROIs.
2017-07-07 11:33:28 +01:00
Valentin Schneider
92b0c25ed3 target: Add background_invoke() method 2017-07-06 16:01:15 +01:00
setrofim
fb58e47cf5 Merge pull request #141 from AnthonyARM/pull/big_little
Check if any big/LITTLE core is online before dereferencing a potentially empty list
2017-06-30 13:20:44 +01:00
Anthony Barbier
3660361df0 Raise a ValueError when trying to set a property of a type of core which is offline 2017-06-30 13:15:23 +01:00
Anthony Barbier
1199f2512b Check if any big/LITTLE core is online before dereferencing an potentially empty list 2017-06-28 17:15:05 +01:00
Anthony Barbier
c837a29299 Let the user customize the way to execute superuser commands 2017-06-28 15:08:35 +01:00
setrofim
de15658025 Merge pull request #138 from marcbonnici/apk_install
Ports `install_apk` and `get_sdk_version` from WA2
2017-06-23 16:09:36 +01:00
Marc Bonnici
d3396f2725 Target: Added get_sdk_version method
Added the method to retrieve a devices sdk version taken from WA2.
2017-06-23 15:33:57 +01:00
Marc Bonnici
c33dd65249 Target: Updated install_apk to version from WA2
This version of the method adds support for both replacing and downgrading of
APKS.
2017-06-23 15:33:42 +01:00
setrofim
7145b366ab Merge pull request #133 from valschneider/fix-activity-error
utils/android: Fix error detection in adb_shell()
2017-06-13 08:57:56 +01:00
Valentin Schneider
2d96840873 utils/android: Fix error detection in adb_shell()
If we execute a command such as:
'am start -a android.intent.action.VIEW -d nothing'
on Hikey960 with AOSP master, we do get an error message:
'Error: Activity not started, unable to resolve Intent ...'
but the error code is set to 0. Furthermore, that error message
is outputted to STDERR and not STDOUT.

The current error checking in adb_shell() is done by either
reading the error code or finding an error string in the
standard output. This commit adds a check of the error output,
and also changes the regular expression that is used to find
an error string as it wasn't generic enough.
2017-06-12 19:08:10 +01:00
marcbonnici
48d717b301 Merge pull request #132 from setrofim/fps
Fps
2017-06-07 11:59:32 +01:00
Sergei Trofimov
1d3b4c8062 instrument/frames: Add surfaceflinger frames instrument
Add an instrument that utilizes the SurfaceFringerFrameCollector.
2017-06-07 11:53:57 +01:00
Sergei Trofimov
2b3cee6a7e rendering: Add surfaceflinger frame collector
Add a FrameCollector implementation that utilizes the output from
surfaceflinger (the Android compositor). This is is the only method for
accessing rendering data on older Android devices.
2017-06-07 11:53:57 +01:00
Sergei Trofimov
4adefecb55 instrument/frames: Add GfxInfoFramesInstrument
Added an instrument that exposes the GfxinfoFramesCollector via the
standard instrument APIs.
2017-06-07 11:53:57 +01:00
Sergei Trofimov
195085e28d rendering: Add gfxinfo frame data collector
Add display rendering frame collector that utilizes gfxinfo utility
present on newer Android devices.
2017-06-07 11:53:52 +01:00
Sergei Trofimov
59f36fc768 instrument: Add channel discovery to MeasurementCsv
- Add "unknown" measurement type to be used when the type of measurement
  for a CSV column cannot be established.
- Make channels argument optional for MeasurementCsv.
- If channels for a MeasurementCsv have not been specified, attempt to
  discover them from the CSV header. This will  check if each entry in
  the header ends with the name of a known MeasurementType prefixed with
  a "_"; if so, it will assume the reset of the entry is the site.
  Otherwise, the entire entry will be assumed to be the site and
  "unknown" MeasurementType will be used.
2017-06-07 11:53:06 +01:00
Sergei Trofimov
871c59a3f4 instrument: Add MeasurementType for time_us
Add time_us MeasurementType for time expressed in microseconds and
define conversions to/form time. This is a very common unit for low-level
operations, and it may be desirable to avoid converting large number of
metrics to floats in order to report as a "standard" type.
2017-06-07 11:53:06 +01:00
Sergei Trofimov
df81742100 instrument: add conversion support to MeasurementType
- Change MeasurementType to derive from object rather than tuple.
- There is now support for conversion from one MeasurementType to
  another. A MeasurementType defines what it can be converted to and
  how.
2017-06-07 11:53:06 +01:00