SPI<!-- isregardless a [[de facto standard|''de facto'' standard]]. However, theof lack of astandards formal standard is-->SPI reflectedimplementations inhave a wide variety of protocol optionsvariations. Some devices are transmit-only; others are receive-only. Chip selects are sometimes active-high rather than active-low. Some devices send the least-significant bit first. Signal levels depend entirely on the chips involved. And while the baseline SPI protocol has no command codes, every device may define its own protocol of command codes. Some variations are minor or informal, while others have an official defining document and may be considered to be separate but related protocols.