Then OUTcnt bytes from OUTlist will be transferred to the device to select the command. OUTcnt may be -1 and OUTlist empty. If OUTcnt is 0, then OUTlist bytes will be sent until a value of 0 is found (the 0 will not be sent). An empty OUTlist can be represented by "".
Following that the INcnt bytes will be read back from the device and saved in INlist .
If INcnt is 0, then the string will be filled with bytes until a 0, CR or LF character is received. Note that no bounds checking is performed on the input, and if a 0, CR, or LF is never received then this routine will hang. As there is no bounds checking its possible to overwrite other variables, if less than 256 bytes have been allocated for the InputList string.
OWOUT begins with a RESET/Presence sequence on the designated Pin.
If a one-wire device responds OWOUT will return 1, else 0.
Following that the OUTcnt bytes from OUTlist will be sent to the device. OUTlist can be a constant string.
The bit order for the 1-Wire device is assumed to be LSB (bit 0) first. The REV function can be used to change the bit order.