SPI library with Intel Edison

Hi All,

New to this forum but I wanted to post an issue I am having with the SPI library. I have been using the SPI library with the Arduino Due. I needed to move to a faster processor so I setup an Intel Edison to use in the Arduino IDE. My sketch no longer compiles with the Intel Edison as the target (blink example does compile). Has anyone else encountered this problem? I get the following error messages:

-Joel

BalanceBeamSketch:83: error: 'SPISettings' does not name a type

SPISettings myA2DSettings(A2D_SCK_RATE, MSBFIRST, SPI_MODE0);

^

BalanceBeamSketch:84: error: 'SPISettings' does not name a type

SPISettings myD2ASettings(D2A_SCK_RATE, MSBFIRST, SPI_MODE0);

^

BalanceBeamSketch:85: error: 'SPISettings' does not name a type

SPISettings myUFDCSettings(UFDC_SCK_RATE, MSBFIRST, SPI_MODE3); // SPI_MODE3

^

C:\Users\shields\Documents\Arduino\sketches\BalanceBeamSketch\BalanceBeamSketch.ino: In function 'float read_A2D_voltage()':

BalanceBeamSketch:459: error: 'class SPIClass' has no member named 'beginTransaction'

SPI.beginTransaction(myA2DSettings); // SPI_MODE0 15150000

^

BalanceBeamSketch:459: error: 'myA2DSettings' was not declared in this scope

SPI.beginTransaction(myA2DSettings); // SPI_MODE0 15150000

^

BalanceBeamSketch:469: error: 'class SPIClass' has no member named 'transfer16'

recieved_val = SPI.transfer16(data);

^

BalanceBeamSketch:471: error: 'class SPIClass' has no member named 'endTransaction'

SPI.endTransaction();

^

C:\Users\shields\Documents\Arduino\sketches\BalanceBeamSketch\BalanceBeamSketch.ino: In function 'void send_D2A_voltages(float*, float*)':

BalanceBeamSketch:503: error: 'class SPIClass' has no member named 'beginTransaction'

SPI.beginTransaction(myD2ASettings);

^

BalanceBeamSketch:503: error: 'myD2ASettings' was not declared in this scope

SPI.beginTransaction(myD2ASettings);

^

BalanceBeamSketch:505: error: 'class SPIClass' has no member named 'transfer16'

SPI.transfer16(data1);

^

BalanceBeamSketch:512: error: 'class SPIClass' has no member named 'transfer16'

SPI.transfer16(data2);

^

BalanceBeamSketch:514: error: 'class SPIClass' has no member named 'endTransaction'

SPI.endTransaction();

^

C:\Users\shields\Documents\Arduino\sketches\BalanceBeamSketch\BalanceBeamSketch.ino: In function 'void read_UFDC(float*, int)':

BalanceBeamSketch:540: error: 'class SPIClass' has no member named 'beginTransaction'

SPI.beginTransaction(myUFDCSettings); // 100 - 500 kHz

^

BalanceBeamSketch:540: error: 'myUFDCSettings' was not declared in this scope

SPI.beginTransaction(myUFDCSettings); // 100 - 500 kHz

^

BalanceBeamSketch:590: error: 'class SPIClass' has no member named 'endTransaction'

SPI.endTransaction();

^

BalanceBeamSketch:621: error: 'class String' has no member named 'toFloat'

*UFDC_sig = inString.toFloat();

^

exit status 1
'SPISettings' does not name a type

Can you please post a complete sketch that illustrates the problem

Turns out this problem was caused by differences between the Due SPI library and Intel SPI library. I was able to compile but still have issues. For some reason the CS is not functioning properly. Noticed the SCL and SDA pins might be related to this problem. Hmmm ... more posts later.