#!/bin/sh # B10A load probe: idle 20 s, 4x `yes` for 60 s, idle 30 s; sample BMS FIFO + CHGR/USB RT every 5 s. Reads only. grep -q " /sys/kernel/debug " /proc/mounts || mount -t debugfs debugfs /sys/kernel/debug R=/sys/kernel/debug/regmap/0-00/registers rd() { dd if=$R bs=9 skip=$(($1)) count=$2 2>/dev/null | cut -d' ' -f2 | tr '\n' ' '; } s() { echo "$1 $(date +%T) up=$(cut -d' ' -f1 /proc/uptime) fifo=$(rd 0x40c0 10) chgrt=$(rd 0x1010 1) usbrt=$(rd 0x1310 1) t=$(cat /sys/class/thermal/thermal_zone4/temp) f=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)"; } for i in 1 2 3 4; do s IDLE0; sleep 5; done echo "LOAD-ON $(date +%T)"; for c in 1 2 3 4; do yes > /dev/null & done for i in 1 2 3 4 5 6 7 8 9 10 11 12; do s LOAD; sleep 5; done killall yes; echo "LOAD-OFF $(date +%T)" for i in 1 2 3 4 5 6; do s IDLE1; sleep 5; done echo B10A-LOAD-END