|
@ -64,19 +64,10 @@ namespace FTDI { |
|
|
|
|
|
|
|
|
noInterrupts(); |
|
|
noInterrupts(); |
|
|
for (k = 0; k < 8; k++) { // Output and Read each bit of spiOutByte and spiInByte
|
|
|
for (k = 0; k < 8; k++) { // Output and Read each bit of spiOutByte and spiInByte
|
|
|
if (spiOutByte & spiIndex) { // Output MOSI Bit
|
|
|
WRITE(CLCD_SOFT_SPI_MOSI, (spiOutByte & spiIndex) ? 1 : 0); // Output MOSI Bit
|
|
|
WRITE(CLCD_SOFT_SPI_MOSI, 1); |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
WRITE(CLCD_SOFT_SPI_MOSI, 0); |
|
|
|
|
|
} |
|
|
|
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 1); // Pulse Clock
|
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 1); // Pulse Clock
|
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 0); |
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 0); |
|
|
|
|
|
if (READ(CLCD_SOFT_SPI_MISO)) spiInByte |= spiIndex; |
|
|
if (READ(CLCD_SOFT_SPI_MISO)) { |
|
|
|
|
|
spiInByte |= spiIndex; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
spiIndex >>= 1; |
|
|
spiIndex >>= 1; |
|
|
} |
|
|
} |
|
|
interrupts(); |
|
|
interrupts(); |
|
@ -86,20 +77,13 @@ namespace FTDI { |
|
|
|
|
|
|
|
|
#ifdef CLCD_USE_SOFT_SPI |
|
|
#ifdef CLCD_USE_SOFT_SPI |
|
|
void SPI::_soft_spi_send (uint8_t spiOutByte) { |
|
|
void SPI::_soft_spi_send (uint8_t spiOutByte) { |
|
|
uint8_t spiIndex = 0x80; |
|
|
uint8_t k, spiIndex = 0x80; |
|
|
uint8_t k; |
|
|
|
|
|
|
|
|
|
|
|
noInterrupts(); |
|
|
noInterrupts(); |
|
|
for (k = 0; k < 8; k++) { // Output each bit of spiOutByte
|
|
|
for (k = 0; k < 8; k++) { // Output each bit of spiOutByte
|
|
|
if (spiOutByte & spiIndex) { // Output MOSI Bit
|
|
|
WRITE(CLCD_SOFT_SPI_MOSI, (spiOutByte & spiIndex) ? 1 : 0); // Output MOSI Bit
|
|
|
WRITE(CLCD_SOFT_SPI_MOSI, 1); |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
WRITE(CLCD_SOFT_SPI_MOSI, 0); |
|
|
|
|
|
} |
|
|
|
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 1); // Pulse Clock
|
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 1); // Pulse Clock
|
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 0); |
|
|
WRITE(CLCD_SOFT_SPI_SCLK, 0); |
|
|
|
|
|
|
|
|
spiIndex >>= 1; |
|
|
spiIndex >>= 1; |
|
|
} |
|
|
} |
|
|
interrupts(); |
|
|
interrupts(); |
|
@ -166,8 +150,7 @@ namespace FTDI { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Not really a SPI signal...
|
|
|
// Not really a SPI signal...
|
|
|
void SPI::test_pulse(void) |
|
|
void SPI::test_pulse(void) { |
|
|
{ |
|
|
|
|
|
#ifdef CLCD_AUX_0 |
|
|
#ifdef CLCD_AUX_0 |
|
|
WRITE(CLCD_AUX_0, 1); |
|
|
WRITE(CLCD_AUX_0, 1); |
|
|
delayMicroseconds(10); |
|
|
delayMicroseconds(10); |
|
|