-gpio hal improve