diff options
Diffstat (limited to 'extra/usb_power/powerlog.README.md')
-rw-r--r-- | extra/usb_power/powerlog.README.md | 181 |
1 files changed, 89 insertions, 92 deletions
diff --git a/extra/usb_power/powerlog.README.md b/extra/usb_power/powerlog.README.md index a5ce379670..105516330a 100644 --- a/extra/usb_power/powerlog.README.md +++ b/extra/usb_power/powerlog.README.md @@ -9,57 +9,58 @@ this session, a `.scenario` file. ## Converting from servo_ina configs -- Method 1 (not limited to chroot) +- Method 1 (not limited to chroot) - Many configs can be found for the servo_ina_board in `hdctools/servo/data/`. - Sweetberry is plug compatible with servo_ina headers, and config files can be - converted with the following tool: + Many configs can be found for the servo_ina_board in `hdctools/servo/data/`. + Sweetberry is plug compatible with servo_ina headers, and config files can + be converted with the following tool: - ``` - ./convert_servo_ina.py <board>_r0_loc.py - ``` + ``` + ./convert_servo_ina.py <board>_r0_loc.py + ``` - This will generate `<board>_r0_loc.board` and `<board>_r0_loc.scenario` - locally, which can be used with `powerlog.py`. + This will generate `<board>_r0_loc.board` and `<board>_r0_loc.scenario` + locally, which can be used with `powerlog.py`. -- Method 2 (recommended for Chrome OS developers, requires chroot) +- Method 2 (recommended for Chrome OS developers, requires chroot) - If you are using `powerlog.py` within the chroot, copy `<board>_r0_loc.py` to - `src/third_party/hdctools/servo/data`, then add this line to file: + If you are using `powerlog.py` within the chroot, copy `<board>_r0_loc.py` + to `src/third_party/hdctools/servo/data`, then add this line to file: - ```python - config_type = 'sweetberry' - ``` + ```python + config_type = 'sweetberry' + ``` - And run command in chroot: + And run command in chroot: - ``` - (Anywhere in chroot, just ONCE) cros_workon --host start dev-util/hdctools - ``` + ``` + (Anywhere in chroot, just ONCE) cros_workon --host start dev-util/hdctools + ``` - Then every time you make a change to `<board>_r0_loc.py`, run: + Then every time you make a change to `<board>_r0_loc.py`, run: - ``` - (Anywhere in chroot) sudo emerge dev-util/hdctools - ``` + ``` + (Anywhere in chroot) sudo emerge dev-util/hdctools + ``` - The command will install the corresponding `.board` and `.scenario` file in - the chroot. To use `powerlog.py` use the command: + The command will install the corresponding `.board` and `.scenario` file in + the chroot. To use `powerlog.py` use the command: - ``` - (Anywhere in chroot) powerlog -b <board>_r0_loc.board -c <board>_r0_loc.scenario - ``` + ``` + (Anywhere in chroot) powerlog -b <board>_r0_loc.board -c <board>_r0_loc.scenario + ``` - There is no need to specify the absolute path to the `.board` and `.scenario` - file, once they are installed into the chroot. If there is any changes to - `<board>_r0_loc.py`, you need to `sudo emerge dev-util/hdctools` again. + There is no need to specify the absolute path to the `.board` and + `.scenario` file, once they are installed into the chroot. If there is any + changes to `<board>_r0_loc.py`, you need to `sudo emerge dev-util/hdctools` + again. ## Board files Board files contain a list of rails, supporting 48 channels each on up to two Sweetberries. For each rail you must specify a name, sense resistor value, and -channel number. You can optionally list expected voltage and net name. -The format is as follows, in json: +channel number. You can optionally list expected voltage and net name. The +format is as follows, in json: example.board: @@ -81,9 +82,8 @@ example.board: Scenario files contain the set of rails to monitor in this session. The file format is simply a list of rail names from the board file. -Optionally, you can specify the type of measurement, from the set of -`"POWER"`, `"BUSV"`, `"CURRENT"`, `"SHUNTV"`. If not specified, the default is -power. +Optionally, you can specify the type of measurement, from the set of `"POWER"`, +`"BUSV"`, `"CURRENT"`, `"SHUNTV"`. If not specified, the default is power. example.scenario: @@ -109,93 +109,90 @@ An example run of: ./powerlog.py -b board/marlin/marlin.board -c board/marlin/marlin_short.scenario -t 100000 ``` -Will result in: -``` -ts:32976us, VBAT uW, VDD_MEM uW, VDD_CORE uW, VDD_GFX uW, VDD_1V8_PANEL uW -0.033004, 12207.03, 4882.81, 9155.27, 2441.41, 0.00 -0.066008, 12207.03, 3662.11, 9155.27, 2441.41, 0.00 -0.099012, 12207.03, 3662.11, 9155.27, 2441.41, 0.00 -... -``` +Will result in: `ts:32976us, VBAT uW, VDD_MEM uW, VDD_CORE uW, VDD_GFX uW, +VDD_1V8_PANEL uW 0.033004, 12207.03, 4882.81, 9155.27, 2441.41, 0.00 0.066008, +12207.03, 3662.11, 9155.27, 2441.41, 0.00 0.099012, 12207.03, 3662.11, 9155.27, +2441.41, 0.00 ...` The output format is as follows: -- `ts:32976us` +- `ts:32976us` - Timestamps either zero based or synced to system clock, in seconds. The column - header indicates the selected sampling interval. Since the INA231 has specific - hardware defines sampling options, this will be the closest supported option - lower than the requested `-t` value on the command line. + Timestamps either zero based or synced to system clock, in seconds. The + column header indicates the selected sampling interval. Since the INA231 has + specific hardware defines sampling options, this will be the closest + supported option lower than the requested `-t` value on the command line. -- `VBAT uW` +- `VBAT uW` - Microwatt reading from this rail, generated on the INA by integrating the - voltage/amperage on the sense resistor over the sampling time, and multiplying - by the sampled bus voltage. + Microwatt reading from this rail, generated on the INA by integrating the + voltage/amperage on the sense resistor over the sampling time, and + multiplying by the sampled bus voltage. -- `... uW` +- `... uW` - Further microwatt entry columns for each rail specified in your scenario file. + Further microwatt entry columns for each rail specified in your scenario + file. -- `... xX` +- `... xX` - Measurement in uW, mW, mV, uA, uV as per config. + Measurement in uW, mW, mV, uA, uV as per config. ## Calculate stats and store data and stats When appropriate flag is set, powerlog.py is capable of calculating statistics and storing statistics and raw data. -- Example 1 +- Example 1 - ``` - ./powerlog.py -b board/eve_dvt2_loc/eve_dvt2_loc.board -c board/eve_dvt2_loc/eve_dvt2_loc.scenario --save_stats [<directory>] - ``` + ``` + ./powerlog.py -b board/eve_dvt2_loc/eve_dvt2_loc.board -c board/eve_dvt2_loc/eve_dvt2_loc.scenario --save_stats [<directory>] + ``` - If `<directory>` is specified, this will save stats as: - `<directory>/sweetberry<timestemp>/summary.txt`. - If `<directory>` does not exist, it will be created. + If `<directory>` is specified, this will save stats as: + `<directory>/sweetberry<timestamp>/summary.txt`. If `<directory>` does not + exist, it will be created. - If `<directory>` is not specified but the flag is set, this will save stats - under the directory which `powerlog.py` is in: - `<directory of powerlog.py>/sweetberry<timestemp>/summary.txt`. + If `<directory>` is not specified but the flag is set, this will save stats + under the directory which `powerlog.py` is in: `<directory of + powerlog.py>/sweetberry<timestamp>/summary.txt`. - If `--save_stats` flag is not set, stats will not be saved. + If `--save_stats` flag is not set, stats will not be saved. -- Example 2 +- Example 2 - ``` - ./powerlog.py -b board/eve_dvt2_loc/eve_dvt2_loc.board -c board/eve_dvt2_loc/eve_dvt2_loc.scenario --save_raw_data [<directory>] - ``` + ``` + ./powerlog.py -b board/eve_dvt2_loc/eve_dvt2_loc.board -c board/eve_dvt2_loc/eve_dvt2_loc.scenario --save_raw_data [<directory>] + ``` - If `<directory>` is specified, this will save raw data in: - `<directory>/sweetberry<timestemp>/raw_data/`. - If `<directory>` does not exist, it will be created. + If `<directory>` is specified, this will save raw data in: + `<directory>/sweetberry<timestamp>/raw_data/`. If `<directory>` does not + exist, it will be created. - If `<directory>` is not specified but the flag is set, this will save raw data - under the directory which `powerlog.py` is in: - `<directory of powerlog.py>/sweetberry<timestemp>/raw_data/`. + If `<directory>` is not specified but the flag is set, this will save raw + data under the directory which `powerlog.py` is in: `<directory of + powerlog.py>/sweetberry<timestamp>/raw_data/`. - If `--save_raw_data` flag is not set, raw data will not be saved. + If `--save_raw_data` flag is not set, raw data will not be saved. -- Example 3: +- Example 3: - ``` - ./powerlog.py -b board/eve_dvt2_loc/eve_dvt2_loc.board -c board/eve_dvt2_loc/eve_dvt2_loc.scenario --save_stats_json [<directory>] - ``` + ``` + ./powerlog.py -b board/eve_dvt2_loc/eve_dvt2_loc.board -c board/eve_dvt2_loc/eve_dvt2_loc.scenario --save_stats_json [<directory>] + ``` - If `<directory>` is specified, this will save MEANS in json as: - `<directory>/sweetberry<timestemp>/summary.json`. - If `<directory>` does not exist, it will be created. + If `<directory>` is specified, this will save MEANS in json as: + `<directory>/sweetberry<timestamp>/summary.json`. If `<directory>` does not + exist, it will be created. - If `<directory>` is not specified but the flag is set, this will save MEANS in - json under the directory which `powerlog.py` is in: - `<directory of powerlog.py>/sweetberry<timestemp>/summary.json`. + If `<directory>` is not specified but the flag is set, this will save MEANS + in json under the directory which `powerlog.py` is in: `<directory of + powerlog.py>/sweetberry<timestamp>/summary.json`. - If `--save_stats` flag is not set, stats will not be saved. + If `--save_stats` flag is not set, stats will not be saved. - `--save_stats_json` is designed for `power_telemetry_logger` for easy reading - and writing. + `--save_stats_json` is designed for `power_telemetry_logger` for easy + reading and writing. ## Making developer changes to `powerlog.py` |