Datasheet
// Adafruit nRF52 Boards require Firmata at least 2.5.7
#include <bluefruit.h>
#include <Servo.h>
#include <Wire.h>
#include <Firmata.h>
#define I2C_WRITE B00000000
#define I2C_READ B00001000
#define I2C_READ_CONTINUOUSLY B00010000
#define I2C_STOP_READING B00011000
#define I2C_READ_WRITE_MODE_MASK B00011000
#define I2C_10BIT_ADDRESS_MODE_MASK B00100000
#define I2C_END_TX_MASK B01000000
#define I2C_STOP_TX 1
#define I2C_RESTART_TX 0
#define I2C_MAX_QUERIES 8
#define I2C_REGISTER_NOT_SPECIFIED -1
// the minimum interval for sampling analog input
#define MINIMUM_SAMPLING_INTERVAL 1
// Adafruit
uint8_t ANALOG_TO_PIN(uint8_t n)
{
switch (n)
{
case 0 : return PIN_A0;
case 1 : return PIN_A1;
case 2 : return PIN_A2;
case 3 : return PIN_A3;
case 4 : return PIN_A4;
case 5 : return PIN_A5;
case 6 : return PIN_A6;
case 7 : return PIN_A7;
}
return 127;
}
/*==============================================================================
* GLOBAL VARIABLES
*============================================================================*/
#ifdef FIRMATA_SERIAL_FEATURE
SerialFirmata serialFeature;
#endif
BLEUart bleuart;
/* analog inputs */
int analogInputsToReport = 0; // bitwise array to store pin reporting
/* digital input ports */
byte reportPINs[TOTAL_PORTS]; // 1 = report this port, 0 = silence
byte previousPINs[TOTAL_PORTS]; // previous 8 bits sent
© Adafruit Industries https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide Page 54 of 175