GY-63_MS5611/libraries/FastShiftInOut/README.md
2022-11-06 20:27:03 +01:00

2.1 KiB

Arduino CI Arduino-lint JSON check License: MIT GitHub release

FastShiftInOut

Arduino library for AVR optimized shiftInOut (simultaneously).

Related libraries

Description

FastShiftInOut is a class that can send and receive bytes simultaneously. In that sense it mimics a SPI bus.

Experimental.

Performance

performance of write()

version UNO (us) ESP32 (us)
0.1.0 181.08 4.32
0.1.1 26.84 4.32

Interface

bitOrder = { LSBFIRST, MSBFIRST };

  • FastShiftInOut(uint8_t dataIn, uint8_t dataOut, uint8_t clockPin, uint8_t bitOrder = LSBFIRST)
  • uint8_t write(uint8_t data) reads and writes simultaneously.
  • uint8_t lastWritten(void) returns last written value.
  • bool setBitOrder(uint8_t bitOrder) idem.
  • uint8_t getBitOrder(void) idem.
  • uint8_t writeLSBFIRST(uint8_t data)
  • uint8_t writeMSBFIRST(uint8_t data)

Operation

See examples

Future

must

  • documentation

should

  • performance measurements
  • optimize for AVR

could

  • void ignoreRead()
  • add Print interface?