22 void sspiInit(uint8_t sck, uint8_t mosi, uint8_t miso) {
24 uint8_t val = (1 << sck) | (1 << mosi);
40 void sspiOutMSB(uint8_t sck, uint8_t mosi, uint16_t data, uint8_t bits) {
41 uint16_t mask = (1 << (bits - 1));
42 uint8_t output = (1 << mosi);
43 uint8_t clock = (1 << sck);
68 uint16_t
sspiInMSB(uint8_t sck, uint8_t miso, uint8_t bits) {
70 uint8_t input = (1 << miso);
71 uint8_t clock = (1 << sck);
95 uint16_t
sspiInOutMSB(uint8_t sck, uint8_t mosi, uint8_t miso, uint16_t data, uint8_t bits) {
97 uint16_t mask = (1 << bits);
98 uint8_t input = (1 << miso);
99 uint8_t output = (1 << mosi);
100 uint8_t clock = (1 << sck);
113 result = result << 1;
129 void sspiOutLSB(uint8_t sck, uint8_t mosi, uint16_t data, uint8_t bits) {
130 uint8_t output = (1 << mosi);
131 uint8_t clock = (1 << sck);
156 uint16_t
sspiInLSB(uint8_t sck, uint8_t miso, uint8_t bits) {
158 uint8_t input = (1 << miso);
159 uint8_t clock = (1 << sck);
160 for(uint8_t count=0; count<bits; count++) {
164 result = result >> 1;
170 result = result >> (16 - bits);
184 uint16_t
sspiInOutLSB(uint8_t sck, uint8_t mosi, uint8_t miso, uint16_t data, uint8_t bits) {
186 uint8_t input = (1 << miso);
187 uint8_t output = (1 << mosi);
188 uint8_t clock = (1 << sck);
189 for(uint8_t count=0; count<bits; count++) {
199 result = result >> 1;
205 result = result >> (16 - bits);
void sspiOutLSB(uint8_t sck, uint8_t mosi, uint16_t data, uint8_t bits)
uint16_t sspiInLSB(uint8_t sck, uint8_t miso, uint8_t bits)
uint16_t sspiInOutMSB(uint8_t sck, uint8_t mosi, uint8_t miso, uint16_t data, uint8_t bits)
uint16_t sspiInMSB(uint8_t sck, uint8_t miso, uint8_t bits)
void sspiInit(uint8_t sck, uint8_t mosi, uint8_t miso)
uint16_t sspiInOutLSB(uint8_t sck, uint8_t mosi, uint8_t miso, uint16_t data, uint8_t bits)
void sspiOutMSB(uint8_t sck, uint8_t mosi, uint16_t data, uint8_t bits)