
/** Implements the "Connection reset sequence" described in the
 *  SHT11 datasheet.
 *
 *  @par Datasheet quote:
 *
 *      "If communication with the SHT1x is lost the following
 *      signal sequence will reset its serial interface: While
 *      leaving DATA high toggle SCK 9 or more times.  This must
 *      be followed by a "Transmission Start" sequence preceding
 *      the next command."
 *
 *  This is accomplished by performing an I2C receive (8 bits
 *  with SDA pulled high) with a NAK (1 bit with SDA high) for a
 *  total of 9 clocks.
 */
#define CONNECTION_RESET()  (void)I2cRx(I2C_NAK)

/** Implements the "Transmission start" sequence described in
 *  the SHT11 datasheet.
 *
 *  @par Datasheet quote:
 *
 *      "To initiate a transmission a "Transmission Start"
 *      sequence has to be issued.  It consists of a lowering of
 *      the DATA line while SCK is high, followed by a low pulse
 *      on SCK and raising DATA again while SCK is still high."
 *
 *  This is accomplished by generating an unconventional I2C
 *  condition sequence -- a RESTART followed by a STOP.
 */
#define TX_START()  do { I2cRestart(); I2cStop(); } while (0)
