hey; the amount of time that you need to hold the power button for the pi-top[4] to turn on is set in the pi-top hub; not sure why this value could have changed in your case.
to learn what value is set in the hub, you can run this code in a python interpreter. It will communicate with the hub to read the register:
from pitop.common.i2c_device import I2CDevice
try:
i2c_device = I2CDevice("/dev/i2c-1", 0x11)
i2c_device.set_delays(0.001, 0.001)
i2c_device.connect()
except Exception as e:
print(f"Unable to read from hub (v3) over i2c: {e}")
exit(1)
value = i2c_device.read_signed_byte(0xA1) # in tenths of seconds
print(f"You need to hold the power button for {value*0.1} seconds for the pi-top to turn on (Register value is {value})")
By default, this value should be set to 6 (tenths of a second). If you want to write a value to this register in the hub, run:
hold_time = 6 # default value
i2c_device.write_byte(0xA1, hold_time)
# verify that the value was written
assert i2c_device.read_signed_byte(0xA1) == hold_time, "hold_time value wasn't properly set"