text: /*
    Copyright (c) 2014-2015 Arduino LLC.  All right reserved.
    Copyright (c) 2016 Sandeep Mistry All right reserved.
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    See the GNU Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
  
  #ifndef _VARIANT_BBC_MICROBIT_
  #define _VARIANT_BBC_MICROBIT_
  
  /** Master clock frequency */
  #define VARIANT_MCK       (16000000ul)
  
  /*----------------------------------------------------------------------------
   *        Headers
   *----------------------------------------------------------------------------*/
  
  #include "WVariant.h"
  
  #ifdef __cplusplus
  extern "C"
  {
  #endif // __cplusplus
  
  // Number of pins defined in PinDescription array
  #define PINS_COUNT           (33u)
  #define NUM_DIGITAL_PINS     (20u)
  #define NUM_ANALOG_INPUTS    (6u)
  #define NUM_ANALOG_OUTPUTS   (0u)
  
  // LEDs
  #define PIN_LED                 (13)
  #define LED_BUILTIN             PIN_LED
  // #define
  
  // Buttons
  #define PIN_BUTTON_A            (5)
  #define PIN_BUTTON_B            (11)
  
  /*
   * Analog pins
   */
  #define PIN_A0               (0)
  #define PIN_A1               (1)
  #define PIN_A2               (2)
  #define PIN_A3               (3)
  #define PIN_A4               (4)
  #define PIN_A5               (10)
  
  
  static const uint8_t A0  = PIN_A0 ;
  static const uint8_t A1  = PIN_A1 ;
  static const uint8_t A2  = PIN_A2 ;
  static const uint8_t A3  = PIN_A3 ;
  static const uint8_t A4  = PIN_A4 ;
  static const uint8_t A5  = PIN_A5 ;
  #define ADC_RESOLUTION    10
  
  /*
   * Serial interfaces
   */
  // Serial
  #define PIN_SERIAL_RX       (21)
  #define PIN_SERIAL_TX       (22)
  
  /*
   * SPI Interfaces
   */
  #define SPI_INTERFACES_COUNT 1
  
  #define PIN_SPI_MISO         (14)
  #define PIN_SPI_MOSI         (15)
  #define PIN_SPI_SCK          (13)
  
  static const uint8_t SS   = 16 ;
  static const uint8_t MOSI = PIN_SPI_MOSI ;
  static const uint8_t MISO = PIN_SPI_MISO ;
  static const uint8_t SCK  = PIN_SPI_SCK ;
  
  /*
   * Wire Interfaces
   */
  #define WIRE_INTERFACES_COUNT 1
  
  #define PIN_WIRE_SDA         (20u)
  #define PIN_WIRE_SCL         (19u)
  
  static const uint8_t SDA = PIN_WIRE_SDA;
  static const uint8_t SCL = PIN_WIRE_SCL;
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  