5.2.1 - Updated I2C files

Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
jacobjohnson
Date:
Mon Feb 27 17:45:05 2017 +0000
Revision:
1:f30bdcd2b33b
Parent:
0:098463de4c5d
changed the inputscale from 1 to 7 in analogin_api.c.  This will need to be changed later, and accessed from the main level, but for now this allows the  adc to read a value from 0 to 3.7V, instead of just up to 1V.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 /* mbed Microcontroller Library
group-onsemi 0:098463de4c5d 2 *******************************************************************************
group-onsemi 0:098463de4c5d 3 * Copyright (c) 2016, STMicroelectronics
group-onsemi 0:098463de4c5d 4 * All rights reserved.
group-onsemi 0:098463de4c5d 5 *
group-onsemi 0:098463de4c5d 6 * Redistribution and use in source and binary forms, with or without
group-onsemi 0:098463de4c5d 7 * modification, are permitted provided that the following conditions are met:
group-onsemi 0:098463de4c5d 8 *
group-onsemi 0:098463de4c5d 9 * 1. Redistributions of source code must retain the above copyright notice,
group-onsemi 0:098463de4c5d 10 * this list of conditions and the following disclaimer.
group-onsemi 0:098463de4c5d 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
group-onsemi 0:098463de4c5d 12 * this list of conditions and the following disclaimer in the documentation
group-onsemi 0:098463de4c5d 13 * and/or other materials provided with the distribution.
group-onsemi 0:098463de4c5d 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
group-onsemi 0:098463de4c5d 15 * may be used to endorse or promote products derived from this software
group-onsemi 0:098463de4c5d 16 * without specific prior written permission.
group-onsemi 0:098463de4c5d 17 *
group-onsemi 0:098463de4c5d 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
group-onsemi 0:098463de4c5d 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
group-onsemi 0:098463de4c5d 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
group-onsemi 0:098463de4c5d 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
group-onsemi 0:098463de4c5d 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
group-onsemi 0:098463de4c5d 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
group-onsemi 0:098463de4c5d 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
group-onsemi 0:098463de4c5d 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
group-onsemi 0:098463de4c5d 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
group-onsemi 0:098463de4c5d 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
group-onsemi 0:098463de4c5d 28 *******************************************************************************
group-onsemi 0:098463de4c5d 29 */
group-onsemi 0:098463de4c5d 30 #ifndef MBED_OBJECTS_H
group-onsemi 0:098463de4c5d 31 #define MBED_OBJECTS_H
group-onsemi 0:098463de4c5d 32
group-onsemi 0:098463de4c5d 33 #include "cmsis.h"
group-onsemi 0:098463de4c5d 34 #include "PortNames.h"
group-onsemi 0:098463de4c5d 35 #include "PeripheralNames.h"
group-onsemi 0:098463de4c5d 36 #include "PinNames.h"
group-onsemi 0:098463de4c5d 37
group-onsemi 0:098463de4c5d 38 #ifdef __cplusplus
group-onsemi 0:098463de4c5d 39 extern "C" {
group-onsemi 0:098463de4c5d 40 #endif
group-onsemi 0:098463de4c5d 41
group-onsemi 0:098463de4c5d 42 struct gpio_irq_s {
group-onsemi 0:098463de4c5d 43 IRQn_Type irq_n;
group-onsemi 0:098463de4c5d 44 uint32_t irq_index;
group-onsemi 0:098463de4c5d 45 uint32_t event;
group-onsemi 0:098463de4c5d 46 PinName pin;
group-onsemi 0:098463de4c5d 47 };
group-onsemi 0:098463de4c5d 48
group-onsemi 0:098463de4c5d 49 struct port_s {
group-onsemi 0:098463de4c5d 50 PortName port;
group-onsemi 0:098463de4c5d 51 uint32_t mask;
group-onsemi 0:098463de4c5d 52 PinDirection direction;
group-onsemi 0:098463de4c5d 53 __IO uint32_t *reg_in;
group-onsemi 0:098463de4c5d 54 __IO uint32_t *reg_out;
group-onsemi 0:098463de4c5d 55 };
group-onsemi 0:098463de4c5d 56
group-onsemi 0:098463de4c5d 57 struct analogin_s {
group-onsemi 0:098463de4c5d 58 ADCName adc;
group-onsemi 0:098463de4c5d 59 PinName pin;
group-onsemi 0:098463de4c5d 60 uint8_t channel;
group-onsemi 0:098463de4c5d 61 };
group-onsemi 0:098463de4c5d 62
group-onsemi 0:098463de4c5d 63 struct dac_s {
group-onsemi 0:098463de4c5d 64 DACName dac;
group-onsemi 0:098463de4c5d 65 uint8_t channel;
group-onsemi 0:098463de4c5d 66 };
group-onsemi 0:098463de4c5d 67
group-onsemi 0:098463de4c5d 68 struct serial_s {
group-onsemi 0:098463de4c5d 69 UARTName uart;
group-onsemi 0:098463de4c5d 70 int index; // Used by irq
group-onsemi 0:098463de4c5d 71 uint32_t baudrate;
group-onsemi 0:098463de4c5d 72 uint32_t databits;
group-onsemi 0:098463de4c5d 73 uint32_t stopbits;
group-onsemi 0:098463de4c5d 74 uint32_t parity;
group-onsemi 0:098463de4c5d 75 PinName pin_tx;
group-onsemi 0:098463de4c5d 76 PinName pin_rx;
group-onsemi 0:098463de4c5d 77 #if DEVICE_SERIAL_ASYNCH
group-onsemi 0:098463de4c5d 78 uint32_t events;
group-onsemi 0:098463de4c5d 79 #endif
group-onsemi 0:098463de4c5d 80 #if DEVICE_SERIAL_FC
group-onsemi 0:098463de4c5d 81 uint32_t hw_flow_ctl;
group-onsemi 0:098463de4c5d 82 PinName pin_rts;
group-onsemi 0:098463de4c5d 83 PinName pin_cts;
group-onsemi 0:098463de4c5d 84 #endif
group-onsemi 0:098463de4c5d 85 };
group-onsemi 0:098463de4c5d 86
group-onsemi 0:098463de4c5d 87 struct spi_s {
group-onsemi 0:098463de4c5d 88 SPI_HandleTypeDef handle;
group-onsemi 0:098463de4c5d 89 IRQn_Type spiIRQ;
group-onsemi 0:098463de4c5d 90 SPIName spi;
group-onsemi 0:098463de4c5d 91 PinName pin_miso;
group-onsemi 0:098463de4c5d 92 PinName pin_mosi;
group-onsemi 0:098463de4c5d 93 PinName pin_sclk;
group-onsemi 0:098463de4c5d 94 PinName pin_ssel;
group-onsemi 0:098463de4c5d 95 #ifdef DEVICE_SPI_ASYNCH
group-onsemi 0:098463de4c5d 96 uint32_t event;
group-onsemi 0:098463de4c5d 97 uint8_t transfer_type;
group-onsemi 0:098463de4c5d 98 #endif
group-onsemi 0:098463de4c5d 99 };
group-onsemi 0:098463de4c5d 100
group-onsemi 0:098463de4c5d 101 struct i2c_s {
group-onsemi 0:098463de4c5d 102 /* The 1st 2 members I2CName i2c
group-onsemi 0:098463de4c5d 103 * and I2C_HandleTypeDef handle should
group-onsemi 0:098463de4c5d 104 * be kept as the first members of this struct
group-onsemi 0:098463de4c5d 105 */
group-onsemi 0:098463de4c5d 106 I2CName i2c;
group-onsemi 0:098463de4c5d 107 I2C_HandleTypeDef handle;
group-onsemi 0:098463de4c5d 108 uint8_t index;
group-onsemi 0:098463de4c5d 109 int hz;
group-onsemi 0:098463de4c5d 110 PinName sda;
group-onsemi 0:098463de4c5d 111 PinName scl;
group-onsemi 0:098463de4c5d 112 IRQn_Type event_i2cIRQ;
group-onsemi 0:098463de4c5d 113 IRQn_Type error_i2cIRQ;
group-onsemi 0:098463de4c5d 114 uint8_t XferOperation;
group-onsemi 0:098463de4c5d 115 volatile uint8_t event;
group-onsemi 0:098463de4c5d 116 #if DEVICE_I2CSLAVE
group-onsemi 0:098463de4c5d 117 uint8_t slave;
group-onsemi 0:098463de4c5d 118 volatile uint8_t pending_slave_tx_master_rx;
group-onsemi 0:098463de4c5d 119 volatile uint8_t pending_slave_rx_maxter_tx;
group-onsemi 0:098463de4c5d 120 #endif
group-onsemi 0:098463de4c5d 121 #if DEVICE_I2C_ASYNCH
group-onsemi 0:098463de4c5d 122 uint32_t address;
group-onsemi 0:098463de4c5d 123 uint8_t stop;
group-onsemi 0:098463de4c5d 124 uint8_t available_events;
group-onsemi 0:098463de4c5d 125 #endif
group-onsemi 0:098463de4c5d 126 };
group-onsemi 0:098463de4c5d 127
group-onsemi 0:098463de4c5d 128 struct pwmout_s {
group-onsemi 0:098463de4c5d 129 PWMName pwm;
group-onsemi 0:098463de4c5d 130 PinName pin;
group-onsemi 0:098463de4c5d 131 uint32_t period;
group-onsemi 0:098463de4c5d 132 uint32_t pulse;
group-onsemi 0:098463de4c5d 133 uint8_t channel;
group-onsemi 0:098463de4c5d 134 uint8_t inverted;
group-onsemi 0:098463de4c5d 135 };
group-onsemi 0:098463de4c5d 136
group-onsemi 0:098463de4c5d 137 struct can_s {
group-onsemi 0:098463de4c5d 138 CANName can;
group-onsemi 0:098463de4c5d 139 int index;
group-onsemi 0:098463de4c5d 140 };
group-onsemi 0:098463de4c5d 141
group-onsemi 0:098463de4c5d 142 #define GPIO_IP_WITHOUT_BRR
group-onsemi 0:098463de4c5d 143 #include "gpio_object.h"
group-onsemi 0:098463de4c5d 144
group-onsemi 0:098463de4c5d 145 #ifdef __cplusplus
group-onsemi 0:098463de4c5d 146 }
group-onsemi 0:098463de4c5d 147 #endif
group-onsemi 0:098463de4c5d 148
group-onsemi 0:098463de4c5d 149 #endif