diff --git a/src/libraries/Adafruit_PCD8544.h b/src/libraries/Adafruit_PCD8544.h index 1abdc33..f8beedb 100644 --- a/src/libraries/Adafruit_PCD8544.h +++ b/src/libraries/Adafruit_PCD8544.h @@ -18,6 +18,8 @@ All text above, and the splash screen must be included in any redistribution #ifndef _ADAFRUIT_PCD8544_H #define _ADAFRUIT_PCD8544_H +#include "SPI.h" + #define BLACK 1 #define WHITE 0 @@ -71,6 +73,7 @@ class Adafruit_PCD8544 : public Adafruit_GFX { uint8_t getPixel(int8_t x, int8_t y); private: + SPIClass SPI; int8_t _din, _sclk, _dc, _rst, _cs; volatile uint8_t *mosiport, *clkport; uint8_t mosipinmask, clkpinmask; diff --git a/src/libraries/Adafruit_ST7735.h b/src/libraries/Adafruit_ST7735.h index ff326c3..f626d91 100644 --- a/src/libraries/Adafruit_ST7735.h +++ b/src/libraries/Adafruit_ST7735.h @@ -20,6 +20,7 @@ #define _ADAFRUIT_ST7735H_ #include "Adafruit_GFX.h" +#include "SPI.h" #define PROGMEM #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) @@ -122,6 +123,8 @@ class Adafruit_ST7735 : public Adafruit_GFX { */ private: + + SPIClass SPI; uint8_t tabcolor; void spiwrite(uint8_t), diff --git a/src/libraries/Pixy.h b/src/libraries/Pixy.h index bce3b68..6292ec5 100644 --- a/src/libraries/Pixy.h +++ b/src/libraries/Pixy.h @@ -42,6 +42,7 @@ class LinkSPI { + public: void init() { @@ -101,6 +102,7 @@ class LinkSPI } private: + SPIClass SPI; uint8_t outBuf[PIXY_OUTBUF_SIZE]; uint8_t outLen; uint8_t outIndex; diff --git a/src/libraries/SPI.cpp b/src/libraries/SPI.cpp index 8b2796e..edac825 100644 --- a/src/libraries/SPI.cpp +++ b/src/libraries/SPI.cpp @@ -32,14 +32,11 @@ #define SPI_SS_GPIO_PIN 10 -// SPIClass SPI; +SPIClass SPI; /* Constructor - establish defaults */ SPIClass::SPIClass() { - static int i; - i++; - this->id = i; /* reflect Arduino's default behaviour where possible */ this->mode = SPI_MODE0; this->bitOrder = MSBFIRST; @@ -149,7 +146,6 @@ void SPIClass::setClockDivider(uint8_t clkDiv) uint8_t SPIClass::transfer(uint8_t txData) { - printf ("id: %d\n", this->id); char s = spi_writebyte (this->fd, txData); return s; } diff --git a/src/libraries/SPI.h b/src/libraries/SPI.h index 06747db..5441b68 100644 --- a/src/libraries/SPI.h +++ b/src/libraries/SPI.h @@ -47,15 +47,11 @@ class SPIClass { private: int fd; - int id; uint8_t mode; uint8_t bitOrder; uint8_t clkDiv; }; -namespace -{ - SPIClass SPI; -} +extern SPIClass SPI; #endif diff --git a/src/libraries/Wire.cpp b/src/libraries/Wire.cpp index 4c165da..58c3eab 100644 --- a/src/libraries/Wire.cpp +++ b/src/libraries/Wire.cpp @@ -243,7 +243,7 @@ static void Wire_Init(void) { } -// TwoWire Wire = TwoWire(Wire_Init); +TwoWire Wire = TwoWire(Wire_Init); void WIRE_ISR_HANDLER(void) { Wire.onService(); diff --git a/src/libraries/Wire.h b/src/libraries/Wire.h index b47ae4a..a75c546 100644 --- a/src/libraries/Wire.h +++ b/src/libraries/Wire.h @@ -93,10 +93,7 @@ class TwoWire : public Stream { }; //#if WIRE_INTERFACES_COUNT > 0 -namespace -{ - TwoWire Wire = TwoWire(NULL); -} +extern TwoWire Wire; //#endif #if WIRE_INTERFACES_COUNT > 1 extern TwoWire Wire1; diff --git a/src/wyliodrin.i b/src/wyliodrin.i index af7b344..9b9e417 100644 --- a/src/wyliodrin.i +++ b/src/wyliodrin.i @@ -9,6 +9,7 @@ #include "wiring/wiring.h" #include "libraries/lcd.h" #include "libraries/Print.h" + #include "libraries/SPI.h" #include "libraries/Wire.h" #include "libraries/Servo.h" #include "libraries/Stepper.h" @@ -18,9 +19,6 @@ #include "libraries/Adafruit_GFX.h" #include "libraries/Adafruit_PCD8544.h" #include "libraries/Adafruit_ST7735.h" - - SPIClass SPI; - TwoWire Wire = TwoWire (NULL); %} %init %{ @@ -35,6 +33,7 @@ %include "libraries/lcd.h" %include "libraries/Print.h" %include "libraries/Stream.h" +%include "libraries/SPI.h" %include "libraries/Wire.h" %include "libraries/Servo.h" %include "libraries/Stepper.h"