//////////////////////////////////////////////
//
// IIC snooper actions
//
// err = error
// ign = ignore
// imp = impossible (equal to entry state)
// HI  = high at entry
// LO  = low at entry
// ^   = low at entry, going high
// v   = high at entry, going low
//
//
// from idle state
//     
// SCL  HI   LO   HI   LO   ^    ^    v    v 
// SDA   ^    ^    v    v  HI   LO   HI   LO   
//      err  ign  sb   ign OK   err  err  err
//
// from sb (start begin)
//   
// SCL  HI   LO   HI   LO    ^    ^    v    v     
// SDA   ^    ^    v    v   HI   LO   HI   LO   
//      err  imp  imp  imp  imp  imp  imp  sta          
//
// from sta (start) "collect byte" which is address
// then go to DATACB 
//
// DATACB run ("collect byte") 
// on nak display byte with 'N' goto DATACB ??? OR goto idle