adafruit / Adafruit_BluefruitLE_nRF51

Arduino library for nRF51822-based Adafruit Bluefruit LE modules
197 stars 122 forks source link

Error compiling for board Adafruit Feather 32u4 #46

Open C-dr opened 6 years ago

C-dr commented 6 years ago

If you're sure this issue is a defect in the code and checked the steps above please fill in the following fields to provide enough troubleshooting information. You may delete the guideline and text above to just leave the following details:

The Arduino.h file seems to be missing. When I add the rFN52 Arduino.h file to my rFN51 library, I get a rabbit hole of missing files.

`

include

include

include "Adafruit_BLE.h"

include "Adafruit_BluefruitLE_SPI.h"

include "Adafruit_BluefruitLE_UART.h"

include "Adafruit_BLEMIDI.h"

if SOFTWARE_SERIAL_AVAILABLE

include

endif

include "BluefruitConfig.h"

define FACTORYRESET_ENABLE 1

define MINIMUM_FIRMWARE_VERSION "0.7.0"

// This app was tested on iOS with the following apps: // // https://itunes.apple.com/us/app/midimittr/id925495245?mt=8 // https://itunes.apple.com/us/app/igrand-piano-free-for-ipad/id562914032?mt=8 // // To test: // - Run this sketch and open the Serial Monitor // - Open the iGrand Piano Free app // - Open the midimittr app on your phone and under Clients select "Adafruit Bluefruit LE" // - When you see the 'Connected' label switch to the Routing panel // - Set the Destination to 'iGrand Piano' // - Switch to the iGrand Piano Free app and you should see notes playing one by one

// Create the bluefruit object, either software serial...uncomment these lines / SoftwareSerial bluefruitSS = SoftwareSerial(BLUEFRUIT_SWUART_TXD_PIN, BLUEFRUIT_SWUART_RXD_PIN); Adafruit_BluefruitLE_UART ble(bluefruitSS, BLUEFRUIT_UART_MODE_PIN, BLUEFRUIT_UART_CTS_PIN, BLUEFRUIT_UART_RTS_PIN); /

/ ...or hardware serial, which does not need the RTS/CTS pins. Uncomment this line / // Adafruit_BluefruitLE_UART ble(BLUEFRUIT_HWSERIAL_NAME, BLUEFRUIT_UART_MODE_PIN);

/ ...hardware SPI, using SCK/MOSI/MISO hardware SPI pins and then user selected CS/IRQ/RST / Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_CS, BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST);

/ ...software SPI, using SCK/MOSI/MISO user-defined SPI pins and then user selected CS/IRQ/RST / //Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_SCK, BLUEFRUIT_SPI_MISO, // BLUEFRUIT_SPI_MOSI, BLUEFRUIT_SPI_CS, // BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST);

Adafruit_BLEMIDI midi(ble);

bool isConnected = false; int current_note = 60;

// A small helper void error(const __FlashStringHelper*err) { Serial.println(err); while (1); }

// callback void connected(void) { isConnected = true;

Serial.println(F(" CONNECTED!")); delay(1000);

}

void disconnected(void) { Serial.println("disconnected"); isConnected = false; }

void BleMidiRX(uint16_t timestamp, uint8_t status, uint8_t byte1, uint8_t byte2) { Serial.print("[MIDI "); Serial.print(timestamp); Serial.print(" ] ");

Serial.print(status, HEX); Serial.print(" "); Serial.print(byte1 , HEX); Serial.print(" "); Serial.print(byte2 , HEX); Serial.print(" ");

Serial.println(); }

void setup(void) { //while (!Serial); // required for Flora & Micro //delay(500);

Serial.begin(115200); Serial.println(F("Adafruit Bluefruit MIDI Example")); Serial.println(F("---------------------------------------"));

/ Initialise the module / Serial.print(F("Initialising the Bluefruit LE module: "));

if ( !ble.begin(VERBOSE_MODE) ) { error(F("Couldn't find Bluefruit, make sure it's in CoMmanD mode & check wiring?")); } Serial.println( F("OK!") );

if ( FACTORYRESET_ENABLE ) { / Perform a factory reset to make sure everything is in a known state / Serial.println(F("Performing a factory reset: ")); if ( ! ble.factoryReset() ) { error(F("Couldn't factory reset")); } }

//ble.sendCommandCheckOK(F("AT+uartflow=off")); ble.echo(false);

Serial.println("Requesting Bluefruit info:"); / Print Bluefruit information / ble.info();

/ Set BLE callbacks / ble.setConnectCallback(connected); ble.setDisconnectCallback(disconnected);

// Set MIDI RX callback midi.setRxCallback(BleMidiRX);

Serial.println(F("Enable MIDI: ")); if ( ! midi.begin(true) ) { error(F("Could not enable MIDI")); }

ble.verbose(false); Serial.print(F("Waiting for a connection...")); }

void loop(void) { // interval for each scanning ~ 500ms (non blocking) ble.update(500);

// bail if not connected if (! isConnected) return;

Serial.print("Sending pitch "); Serial.println(current_note, HEX);

// send note on midi.send(0x90, current_note, 0x64); delay(500);

// send note off midi.send(0x80, current_note, 0x64); delay(500);

// increment note pitch current_note++;

// only do one octave if(current_note > 72) current_note = 60;

} '