Official interfaces for ST components.

Dependents:   X_NUCLEO_IKS01A1 mDot_X_NUCLEO_IKS01A1 53L0A1 X_NUCLEO_IKS01A1 ... more

Fork of ST_INTERFACES by Davide Aliprandi

This library contains all abstract classes which together constitute the common API to which all existing and future ST components will adhere to.

Committer:
Davidroid
Date:
Fri Mar 24 12:59:21 2017 +0000
Revision:
5:d3c9b33b992c
Parent:
4:8f70f7159316
Changed a returned type in BDCMotor interface.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Davidroid 1:a7810e7acf8d 1 /**
Davidroid 1:a7810e7acf8d 2 ******************************************************************************
Davidroid 1:a7810e7acf8d 3 * @file Nfc.h
Davidroid 1:a7810e7acf8d 4 * @author ST Central Labs
Davidroid 1:a7810e7acf8d 5 * @version V1.0.0
Davidroid 1:a7810e7acf8d 6 * @date 13-April-2015
Davidroid 1:a7810e7acf8d 7 * @brief This file contains the abstract class describing the interface of a
Davidroid 1:a7810e7acf8d 8 * nfc component.
Davidroid 1:a7810e7acf8d 9 ******************************************************************************
Davidroid 1:a7810e7acf8d 10 * @attention
Davidroid 1:a7810e7acf8d 11 *
Davidroid 1:a7810e7acf8d 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
Davidroid 1:a7810e7acf8d 13 *
Davidroid 1:a7810e7acf8d 14 * Redistribution and use in source and binary forms, with or without modification,
Davidroid 1:a7810e7acf8d 15 * are permitted provided that the following conditions are met:
Davidroid 1:a7810e7acf8d 16 * 1. Redistributions of source code must retain the above copyright notice,
Davidroid 1:a7810e7acf8d 17 * this list of conditions and the following disclaimer.
Davidroid 1:a7810e7acf8d 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
Davidroid 1:a7810e7acf8d 19 * this list of conditions and the following disclaimer in the documentation
Davidroid 1:a7810e7acf8d 20 * and/or other materials provided with the distribution.
Davidroid 1:a7810e7acf8d 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Davidroid 1:a7810e7acf8d 22 * may be used to endorse or promote products derived from this software
Davidroid 1:a7810e7acf8d 23 * without specific prior written permission.
Davidroid 1:a7810e7acf8d 24 *
Davidroid 1:a7810e7acf8d 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Davidroid 1:a7810e7acf8d 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Davidroid 1:a7810e7acf8d 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Davidroid 1:a7810e7acf8d 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Davidroid 1:a7810e7acf8d 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Davidroid 1:a7810e7acf8d 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Davidroid 1:a7810e7acf8d 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Davidroid 1:a7810e7acf8d 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Davidroid 1:a7810e7acf8d 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Davidroid 1:a7810e7acf8d 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Davidroid 1:a7810e7acf8d 35 *
Davidroid 1:a7810e7acf8d 36 ******************************************************************************
Davidroid 1:a7810e7acf8d 37 */
Davidroid 1:a7810e7acf8d 38
Davidroid 1:a7810e7acf8d 39
Davidroid 1:a7810e7acf8d 40 /* Generated with Stm32CubeTOO -----------------------------------------------*/
Davidroid 1:a7810e7acf8d 41
Davidroid 1:a7810e7acf8d 42 /* Define to prevent from recursive inclusion --------------------------------*/
Davidroid 1:a7810e7acf8d 43
Davidroid 1:a7810e7acf8d 44 #ifndef __NFC_CLASS_H
Davidroid 1:a7810e7acf8d 45 #define __NFC_CLASS_H
Davidroid 1:a7810e7acf8d 46
Davidroid 1:a7810e7acf8d 47
Davidroid 1:a7810e7acf8d 48 /* Includes ------------------------------------------------------------------*/
Davidroid 1:a7810e7acf8d 49
davide.aliprandi@st.com 3:b1bb477e115e 50 #include <Component.h>
Davidroid 1:a7810e7acf8d 51
Davidroid 1:a7810e7acf8d 52 typedef enum {
Davidroid 1:a7810e7acf8d 53 NFC_SUCCESS = 0,
davide.aliprandi@st.com 3:b1bb477e115e 54 } NFC_t;
Davidroid 1:a7810e7acf8d 55 /* Error codes are in component driver */
Davidroid 1:a7810e7acf8d 56
Davidroid 1:a7810e7acf8d 57
Davidroid 1:a7810e7acf8d 58 /* Classes ------------------------------------------------------------------*/
Davidroid 1:a7810e7acf8d 59
Davidroid 1:a7810e7acf8d 60 /**
davide.aliprandi@st.com 3:b1bb477e115e 61 * An abstract class for Nfc components.
davide.aliprandi@st.com 3:b1bb477e115e 62 */
davide.aliprandi@st.com 3:b1bb477e115e 63 class Nfc : public Component {
Davidroid 1:a7810e7acf8d 64 public:
Davidroid 1:a7810e7acf8d 65
Davidroid 1:a7810e7acf8d 66 /**
Davidroid 1:a7810e7acf8d 67 * Read data from the tag.
davide.aliprandi@st.com 4:8f70f7159316 68 * @param offset Read offset.
davide.aliprandi@st.com 4:8f70f7159316 69 * @param nb_bytes_to_read Number of bytes to read.
davide.aliprandi@st.com 4:8f70f7159316 70 * @param[out] p_buffer_read Buffer to store the read data into.
Davidroid 1:a7810e7acf8d 71 * @return NFC_SUCCESS if no errors
Davidroid 1:a7810e7acf8d 72 */
davide.aliprandi@st.com 4:8f70f7159316 73 virtual int read_binary(uint16_t offset, uint8_t nb_bytes_to_read, uint8_t *p_buffer_read) = 0;
Davidroid 1:a7810e7acf8d 74
Davidroid 1:a7810e7acf8d 75 /**
Davidroid 1:a7810e7acf8d 76 * Write data to the tag.
davide.aliprandi@st.com 4:8f70f7159316 77 * @param offset Write offset.
davide.aliprandi@st.com 4:8f70f7159316 78 * @param nb_bytes_to_write Number of bytes to write.
davide.aliprandi@st.com 4:8f70f7159316 79 * @param p_buffer_write Buffer to write.
Davidroid 1:a7810e7acf8d 80 * @return NFC_SUCCESS if no errors
Davidroid 1:a7810e7acf8d 81 */
davide.aliprandi@st.com 4:8f70f7159316 82 virtual int update_binary(uint16_t offset, uint8_t nb_bytes_to_write, uint8_t *p_buffer_write) = 0;
Davidroid 1:a7810e7acf8d 83
davide.aliprandi@st.com 3:b1bb477e115e 84 /**
davide.aliprandi@st.com 3:b1bb477e115e 85 * @brief Destructor.
davide.aliprandi@st.com 3:b1bb477e115e 86 */
davide.aliprandi@st.com 3:b1bb477e115e 87 virtual ~Nfc() {};
Davidroid 1:a7810e7acf8d 88 };
Davidroid 1:a7810e7acf8d 89
Davidroid 1:a7810e7acf8d 90 #endif /* __NFC_CLASS_H */
Davidroid 1:a7810e7acf8d 91
Davidroid 1:a7810e7acf8d 92 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/