Forking mbed-dev-bin

Fork of mbed-dev-bin by Lancaster University

Committer:
bluetooth_kyo
Date:
Wed Nov 29 22:40:30 2017 +0000
Revision:
4:1c89fe53240e
Parent:
0:e1a608bb55e8
forking mbed-dev-bin

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jamesadevine 0:e1a608bb55e8 1 /* mbed Microcontroller Library
jamesadevine 0:e1a608bb55e8 2 * Copyright (c) 2013 Nordic Semiconductor
jamesadevine 0:e1a608bb55e8 3 *
jamesadevine 0:e1a608bb55e8 4 * Licensed under the Apache License, Version 2.0 (the "License");
jamesadevine 0:e1a608bb55e8 5 * you may not use this file except in compliance with the License.
jamesadevine 0:e1a608bb55e8 6 * You may obtain a copy of the License at
jamesadevine 0:e1a608bb55e8 7 *
jamesadevine 0:e1a608bb55e8 8 * http://www.apache.org/licenses/LICENSE-2.0
jamesadevine 0:e1a608bb55e8 9 *
jamesadevine 0:e1a608bb55e8 10 * Unless required by applicable law or agreed to in writing, software
jamesadevine 0:e1a608bb55e8 11 * distributed under the License is distributed on an "AS IS" BASIS,
jamesadevine 0:e1a608bb55e8 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
jamesadevine 0:e1a608bb55e8 13 * See the License for the specific language governing permissions and
jamesadevine 0:e1a608bb55e8 14 * limitations under the License.
jamesadevine 0:e1a608bb55e8 15 */
jamesadevine 0:e1a608bb55e8 16 #ifndef MBED_OBJECTS_H
jamesadevine 0:e1a608bb55e8 17 #define MBED_OBJECTS_H
jamesadevine 0:e1a608bb55e8 18
jamesadevine 0:e1a608bb55e8 19 #include "cmsis.h"
jamesadevine 0:e1a608bb55e8 20 #include "PortNames.h"
jamesadevine 0:e1a608bb55e8 21 #include "PeripheralNames.h"
jamesadevine 0:e1a608bb55e8 22 #include "PinNames.h"
jamesadevine 0:e1a608bb55e8 23
jamesadevine 0:e1a608bb55e8 24 #ifdef __cplusplus
jamesadevine 0:e1a608bb55e8 25 extern "C" {
jamesadevine 0:e1a608bb55e8 26 #endif
jamesadevine 0:e1a608bb55e8 27
jamesadevine 0:e1a608bb55e8 28 #define I2C_SPI_PERIPHERAL_FOR_I2C 1
jamesadevine 0:e1a608bb55e8 29 #define I2C_SPI_PERIPHERAL_FOR_SPI 2
jamesadevine 0:e1a608bb55e8 30
jamesadevine 0:e1a608bb55e8 31 typedef struct {
jamesadevine 0:e1a608bb55e8 32 uint8_t usage; // I2C: 1, SPI: 2
jamesadevine 0:e1a608bb55e8 33 uint8_t sda_mosi;
jamesadevine 0:e1a608bb55e8 34 uint8_t scl_miso;
jamesadevine 0:e1a608bb55e8 35 uint8_t sclk;
jamesadevine 0:e1a608bb55e8 36 } i2c_spi_peripheral_t;
jamesadevine 0:e1a608bb55e8 37
jamesadevine 0:e1a608bb55e8 38 struct serial_s {
jamesadevine 0:e1a608bb55e8 39 NRF_UART_Type *uart;
jamesadevine 0:e1a608bb55e8 40 int index;
jamesadevine 0:e1a608bb55e8 41 };
jamesadevine 0:e1a608bb55e8 42
jamesadevine 0:e1a608bb55e8 43 struct spi_s {
jamesadevine 0:e1a608bb55e8 44 NRF_SPI_Type *spi;
jamesadevine 0:e1a608bb55e8 45 NRF_SPIS_Type *spis;
jamesadevine 0:e1a608bb55e8 46 uint8_t peripheral;
jamesadevine 0:e1a608bb55e8 47 };
jamesadevine 0:e1a608bb55e8 48
jamesadevine 0:e1a608bb55e8 49 struct port_s {
jamesadevine 0:e1a608bb55e8 50 __IO uint32_t *reg_cnf;
jamesadevine 0:e1a608bb55e8 51 __IO uint32_t *reg_out;
jamesadevine 0:e1a608bb55e8 52 __I uint32_t *reg_in;
jamesadevine 0:e1a608bb55e8 53 PortName port;
jamesadevine 0:e1a608bb55e8 54 uint32_t mask;
jamesadevine 0:e1a608bb55e8 55 };
jamesadevine 0:e1a608bb55e8 56
jamesadevine 0:e1a608bb55e8 57 struct pwmout_s {
jamesadevine 0:e1a608bb55e8 58 PWMName pwm;
jamesadevine 0:e1a608bb55e8 59 PinName pin;
jamesadevine 0:e1a608bb55e8 60 };
jamesadevine 0:e1a608bb55e8 61
jamesadevine 0:e1a608bb55e8 62 struct i2c_s {
jamesadevine 0:e1a608bb55e8 63 NRF_TWI_Type *i2c;
jamesadevine 0:e1a608bb55e8 64 PinName sda;
jamesadevine 0:e1a608bb55e8 65 PinName scl;
jamesadevine 0:e1a608bb55e8 66 int freq;
jamesadevine 0:e1a608bb55e8 67 uint8_t address_set;
jamesadevine 0:e1a608bb55e8 68 uint8_t peripheral;
jamesadevine 0:e1a608bb55e8 69 };
jamesadevine 0:e1a608bb55e8 70
jamesadevine 0:e1a608bb55e8 71 struct analogin_s {
jamesadevine 0:e1a608bb55e8 72 ADCName adc;
jamesadevine 0:e1a608bb55e8 73 uint8_t adc_pin;
jamesadevine 0:e1a608bb55e8 74 };
jamesadevine 0:e1a608bb55e8 75
jamesadevine 0:e1a608bb55e8 76 struct gpio_irq_s {
jamesadevine 0:e1a608bb55e8 77 uint32_t ch;
jamesadevine 0:e1a608bb55e8 78 };
jamesadevine 0:e1a608bb55e8 79
jamesadevine 0:e1a608bb55e8 80 #include "gpio_object.h"
jamesadevine 0:e1a608bb55e8 81
jamesadevine 0:e1a608bb55e8 82 #ifdef __cplusplus
jamesadevine 0:e1a608bb55e8 83 }
jamesadevine 0:e1a608bb55e8 84 #endif
jamesadevine 0:e1a608bb55e8 85
jamesadevine 0:e1a608bb55e8 86 #endif