aboutsummaryrefslogtreecommitdiff
path: root/devlib
AgeCommit message (Collapse)Author
2017-10-24Merge branch 'master' of ssh://github.com/ARM-software/devlibKevin DuBois
Change-Id: I6d3051f6ef0e49ea2efb26daec42ff1cd0dce8b0
2017-10-24Merge pull request #196 from bjackman/is-network-connectedsetrofim
target: Ensure returning False when is_network_connected fails
2017-10-24target: Ensure returning False when is_network_connected failsBrendan Jackman
2017-10-24Merge pull request #193 from bjackman/is-network-connectedsetrofim
target: Add is_network_connected method
2017-10-23target: Add is_network_connected methodBrendan Jackman
2017-10-23Merge pull request #194 from bjackman/screen-rotation-intsetrofim
AndroidTarget: Make get_rotation return an int
2017-10-20LogcatMonitor: Fix opening logfile for writeBrendan Jackman
2017-10-18AndroidTarget: Make get_rotation return an intBrendan Jackman
That means you can pass the result back to set_rotation without having to change its type.
2017-10-12Instrument/Acmecape: ensure iio-capture terminationPatrick Bellasi
Once an ACME cape instrument is released, if the stop() method has not been called by the client code, let's ensure to release the channels by killing the corresponding iio-caputure process. Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
2017-10-12LogcatMonitor: Fix clear_logBrendan Jackman
2017-10-12Merge pull request #190 from bjackman/logcat-pexpectsetrofim
android: Use pexpect for LogcatMonitor
2017-10-12utils/android: Use pexpect for LogcatMonitorBrendan Jackman
Using a pexpect.spawn object simplifies the LogcatMonitor by removing the need for a separate thread along with the synchronization that brings. Since pexpect.spawn creates a logfile that is flushed with each write, it also removes the need for code to handle flushing. I originally wrote this to allow more complex features that are made possible by the pexpect API, however I then discovered those features are not necessary and did not submit this for merging. However I then discovered that in Python 2.7, threading.Event.wait (used in the `wait_for` method) makes the task uninterriptible (i.e. can't be killed with Ctrl+C/SIGINT), which is rather frustrating. This issue doesn't arise when using pexpect's expect method, so that's why I'm submitting this now.
2017-10-11platform/arm: propagate model parameterSergei Trofimov
VExpress platforms were not updated to handle "model" parameter when it was added to Platfrom.
2017-10-11libs/android: Add get_adb_command functionBrendan Jackman
This is just like adb_command but instead of executing the command it just returns it.
2017-10-11AndroidTarget: Add boolean 'state' to airplane mode intent broadcastBrendan Jackman
Recently I've been seeing some errors with enabling airplane mode on hikey960 - firstly I get a 'broken pipe' error followed by a 'cmd: Can't find service: settings'. This missing boolean was the first thing I found that had changed wrt. the code I used to use, and adding it back appears to fix the issue.
2017-10-10Merge pull request #184 from setrofim/mastersetrofim
ANSI escape sequences stripping fixes for gem5
2017-10-10Merge pull request #188 from bjackman/apkinfo-better-errorsetrofim
ApkInfo: Improve error for bad .apk files
2017-10-10Merge pull request #187 from bjackman/clear-logcat-locksetrofim
AndroidTarget: prevent concurrent invocations of 'logcat -c'
2017-10-10Merge pull request #186 from bjackman/acmecape-improvementssetrofim
Acmecape improvements
2017-10-09ApkInfo: Improve error for bad .apk filesBrendan Jackman
Provide a more specific error, including the output from aapt.
2017-10-09acmecape: Add note on how to reboot ACMEBrendan Jackman
The ACME firmware sometimes benefits from turning-it-off-and-on-again.
2017-10-09acmecape: Add check for nonzero return code from iio-captureBrendan Jackman
2017-10-09acmecape: Fix default iio-capture binary nameBrendan Jackman
2017-10-09AndroidTarget: prevent concurrent invocations of 'logcat -c'Brendan Jackman
'adb logcat -c' has been observed to fail when called twice concurrently. Rather than requiring all devlib users to fix their usage patterns, let's just delay whenever clear_logcat is called twice.
2017-10-09target: Install busybox before updating modulesBrendan Jackman
Due to the new read_tree_values API, some devlib modules now use shutils in their __init__, which happens from Target::connect(). Therefore ensure we have busybox on the target before we get to that stage.
2017-10-06utils/ssh: fix Gem5Connection.pullSergei Trofimov
Gem5Connection lists the path to be pulled, however it was not stripping ANSI escape sequences from resulting output, which would corrupt the path.
2017-10-06utils/misc: strip more with strip_bash_colorsSergei Trofimov
Update regex used by strip_bash_colors to match more ANSI escape sequencies.
2017-10-06read_tree_values: more robust parsing.Sergei Trofimov
Skip entries not containing a ":".
2017-10-05shuilt: re-introduce speedupSergei Trofimov
The previous fix for read_tree_values fixed the issue with sh not supporting arrays, but looping over paths and counting them. Hover each count increment requires spawning a subshell. For a large number of paths, this can eat away any performance benefits of using read_tree_values. Since we only care whether the count is greater than one, detect that and break out of the loop early to re-introduce the performance improvement.
2017-10-05shutil: fix read_tree_values and hotplug_online_all for shSergei Trofimov
read_tree_values and hotplug_online_all relied on () array evaluation which is a Bash thing and is broken in sh; this fixes things for sh.
2017-10-05shutils: fix read_tree_valuesSergei Trofimov
My bash fu was off on my previous list. The output of find was being treated as a single string, rather than an array of paths; which ment that the test that there was more than one path returned failed, resulting in null output not just for empty directories but for everyting. This fixes the issue by converting find output to an array.
2017-10-05Target: fix read_tree_values for empty dirSergei Trofimov
grep was existing with 1 when passed an empty directory, resulting in TargetError being raised unless explicitly suppressed with check_exit_code=False. This case is now fixed to correctly return an empty dict without error. read_tree_values bash function has also been optimized to not unnecessarily run find in a subshell if the path passed to the function does not exist.
2017-10-04module/hotplug: optimize online_allSergei Trofimov
Optimize online_all by offloading it to a shutils function which only requres a single call to the target.
2017-10-04module/cpuidle: optimize initialization.Sergei Trofimov
Optimize cpuidle module initialization by using the new Target.grep_values call to get information about all idle states in a single call to the target during module intialization, rather lazily fetching them from the target afterwards.
2017-10-04module/hwmon: optimize initialization.Sergei Trofimov
Optimize hwmon module initialization by using the new Target.grep_values call to get information about all HWMON devices in a single call to the target.
2017-10-04Target: add read_tree_values and read_tree_values_flatSergei Trofimov
Add two new methods to target that allow querying values of all sysfs nodes in a sub-directory structure all at once. The difference is that read_tree_values_flat returns a flat dict of path->value mappings; read_tree_values returns a nested dict structure that mimics the scanned sub-directories tree.
2017-10-04module: nicer logger nameSergei Trofimov
Use Module.name rather than Module.__name__ to name the logger for slightly more readable log output.
2017-10-04Target: ensure shutils is always setSergei Trofimov
Make sure shutils is always set, even if setup() has not been called by initializing it on first access if necessary.
2017-10-02utils/android_build: Remove methods to build kernelSuren Baghdasaryan
Kernel build process will be described in an external script referenced from board config file. Change-Id: Ied74824996a4121cdfded55b283e196e8193c6bc Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2017-10-02Merge pull request #177 from bjackman/hwmon-no-permissionssetrofim
hwmon: Disable if no permissions
2017-09-27gfxinfo fixesSergei Trofimov
- Make sure timestamps are actually reported in microseconds. - Eliminate duplicate entries from successive dumps
2017-09-27derived: add DerivedSurfaceFlingerStatsSergei Trofimov
Add DerivedSurfaceFlingerStats that parse output from SurfaceFlingerFramesInstrument to produce FPS data and rendering statistics.
2017-09-27derived: add DerivedGfxInfoStatsSergei Trofimov
Add DerivedGfxInfoStats that parse output from GfxInfoFramesInstrument to produce FPS data and rendering statistics.
2017-09-27Merge pull request #178 from setrofim/mastersetrofim
Various fixes.
2017-09-27AndroidTarget: fix ps()Sergei Trofimov
ps() splits the output on whiestspace into fields; always expecting nine. In some cases, wchan field may be blank, resulting in only eight chunks after the split. Detect that case and insert and empty entry at the appropriate index.
2017-09-27AndroidTarget: fix get_pid_of for recent AndroidsSergei Trofimov
ps on recent Androids no longer takes an optional comm name; use Target.ps() instead, and filter by process name on the host.
2017-09-27utils/rendering: frame collectors should respect column orderSergei Trofimov
Previously FrameCollector.write_frames used "columns" argument only as a filter for which columns to write, but the order would always be the same as in raw output. The Instrument API requires that the column ordering in the resulting MeasurementsCsv matches the ordering of channels specified in reset() (if any). This means the collectors should respect the ordering specified in the "columns" parameter (which gets populated based on active channels).
2017-09-27utils/rendering: fix surfaceflinger listSergei Trofimov
SurfaceFlingerFrameCollector.list now converts line endings before splitting, so it now works when the endings are something other than "\r\n".
2017-09-21Merge pull request #176 from bjackman/logcat-docssetrofim
utils/anroid: Documentation for LogcatMonitor
2017-09-21hwmon: Disable if no permissionsBrendan Jackman
If we don't have permissions, scan() currently raises a TargetError. Instead we should return False from probe() so the module is disabled