add gpio basic read and write func