I am trying to work with a couple of RF24L01 radios:
one is mounted on a Uno and is the slave
one is mounted on a Mega+EthernetShield and is the master
I am using ManiacBugs libraries for the RF24.
The sketch for the Mega need the SoftSpi library because Spi is taken by the Shield.
Using these library RF24 and Ethernet works ...........
#include <SPI.h>
#include <Ethernet.h>
//#include <SD.h>
#include <I2cConstants.h>
#include <nRF24L01.h>
#include <PinIO.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SoftI2cMaster.h>
#include <SoftSPI.h>
But now I am trying to use also the SD library........
the sketch doesn't compile and give me this errors:
Arduino:1.6.5 (Windows 8.1), Scheda:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
In file included from d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:31:0,
from Test_Master_communication.ino:34:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h:37:8: error: redefinition of 'struct pin_map_t'
struct pin_map_t {
^
In file included from D:Program FilesArduinolibrariesSDsrc/utility/Sd2Card.h:26:0,
from D:Program FilesArduinolibrariesSDsrc/utility/SdFat.h:29,
from D:Program FilesArduinolibrariesSDsrc/SD.h:20,
from Test_Master_communication.ino:26:
D:Program FilesArduinolibrariesSDsrc/utility/Sd2PinMap.h:43:8: error: previous definition of 'struct pin_map_t'
struct pin_map_t {
^
In file included from d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:31:0,
from Test_Master_communication.ino:34:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h:309:22: error: redefinition of 'const uint8_t digitalPinCount'
static const uint8_t digitalPinCount = sizeof(pinMap)/sizeof(pin_map_t);
^
In file included from D:Program FilesArduinolibrariesSDsrc/utility/Sd2Card.h:26:0,
from D:Program FilesArduinolibrariesSDsrc/utility/SdFat.h:29,
from D:Program FilesArduinolibrariesSDsrc/SD.h:20,
from Test_Master_communication.ino:26:
D:Program FilesArduinolibrariesSDsrc/utility/Sd2PinMap.h:323:22: error: 'const uint8_t digitalPinCount' previously defined here
static const uint8_t digitalPinCount = sizeof(digitalPinMap)/sizeof(pin_map_t);
^
In file included from d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:31:0,
from Test_Master_communication.ino:34:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h:313:69: error: new declaration 'void badPinNumber()'
__attribute__((error("Pin number is too large or not a constant")));
^
In file included from D:Program FilesArduinolibrariesSDsrc/utility/Sd2Card.h:26:0,
from D:Program FilesArduinolibrariesSDsrc/utility/SdFat.h:29,
from D:Program FilesArduinolibrariesSDsrc/SD.h:20,
from Test_Master_communication.ino:26:
D:Program FilesArduinolibrariesSDsrc/utility/Sd2PinMap.h:325:9: error: ambiguates old declaration 'uint8_t badPinNumber()'
uint8_t badPinNumber(void)
^
In file included from d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:31:0,
from Test_Master_communication.ino:34:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h: In function 'bool fastDigitalRead(uint8_t)':
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h:352:33: error: new declaration 'bool fastDigitalRead(uint8_t)'
bool fastDigitalRead(uint8_t pin) {
^
In file included from D:Program FilesArduinolibrariesSDsrc/utility/Sd2Card.h:26:0,
from D:Program FilesArduinolibrariesSDsrc/utility/SdFat.h:29,
from D:Program FilesArduinolibrariesSDsrc/SD.h:20,
from Test_Master_communication.ino:26:
D:Program FilesArduinolibrariesSDsrc/utility/Sd2PinMap.h:349:11: error: ambiguates old declaration 'uint8_t fastDigitalRead(uint8_t)'
uint8_t fastDigitalRead(uint8_t pin) {
^
In file included from Test_Master_communication.ino:34:0:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h: In member function 'void SoftSPI<MisoPin, MosiPin, SckPin, Mode>::sendBit(uint8_t, uint8_t)':
d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:134:48: error: call of overloaded 'fastDigitalWrite(unsigned char&, int&)' is ambiguous
fastDigitalWrite(MosiPin, data & (1 << bit));
^
d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:134:48: note: candidates are:
In file included from D:Program FilesArduinolibrariesSDsrc/utility/Sd2Card.h:26:0,
from D:Program FilesArduinolibrariesSDsrc/utility/SdFat.h:29,
from D:Program FilesArduinolibrariesSDsrc/SD.h:20,
from Test_Master_communication.ino:26:
D:Program FilesArduinolibrariesSDsrc/utility/Sd2PinMap.h:357:8: note: void fastDigitalWrite(uint8_t, uint8_t)
void fastDigitalWrite(uint8_t pin, uint8_t value) {
^
In file included from d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:31:0,
from Test_Master_communication.ino:34:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h:380:6: note: void fastDigitalWrite(uint8_t, bool)
void fastDigitalWrite(uint8_t pin, bool level) {
^
In file included from Test_Master_communication.ino:34:0:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h: In member function 'void SoftSPI<MisoPin, MosiPin, SckPin, Mode>::transferBit(uint8_t, uint8_t*, uint8_t)':
d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:148:50: error: call of overloaded 'fastDigitalWrite(unsigned char&, int&)' is ambiguous
fastDigitalWrite(MosiPin, txData & (1 << bit));
^
d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:148:50: note: candidates are:
In file included from D:Program FilesArduinolibrariesSDsrc/utility/Sd2Card.h:26:0,
from D:Program FilesArduinolibrariesSDsrc/utility/SdFat.h:29,
from D:Program FilesArduinolibrariesSDsrc/SD.h:20,
from Test_Master_communication.ino:26:
D:Program FilesArduinolibrariesSDsrc/utility/Sd2PinMap.h:357:8: note: void fastDigitalWrite(uint8_t, uint8_t)
void fastDigitalWrite(uint8_t pin, uint8_t value) {
^
In file included from d:UserspbeccOneDriveArduinolibrariesRF24Soft/SoftSPI.h:31:0,
from Test_Master_communication.ino:34:
d:UserspbeccOneDriveArduinolibrariesRF24Soft/DigitalPin.h:380:6: note: void fastDigitalWrite(uint8_t, bool)
void fastDigitalWrite(uint8_t pin, bool level) {
^
I dont understand where is the error and what I can do to solve it.....
I will appreciate your help.....