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