RZ/A1H CMSIS-RTOS RTX BSP for GR-PEACH.

Dependents:   GR-PEACH_Azure_Speech ImageZoomInout_Sample ImageRotaion_Sample ImageScroll_Sample ... more

Fork of R_BSP by Daiki Kato

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers R_BSP_SerialFamily.h Source File

R_BSP_SerialFamily.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 * DISCLAIMER
00003 * This software is supplied by Renesas Electronics Corporation and is only
00004 * intended for use with Renesas products. No other uses are authorized. This
00005 * software is owned by Renesas Electronics Corporation and is protected under
00006 * all applicable laws, including copyright laws.
00007 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
00008 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
00009 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
00010 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
00011 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
00012 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
00013 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
00014 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
00015 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
00016 * Renesas reserves the right, without notice, to make changes to this software
00017 * and to discontinue the availability of this software. By using this software,
00018 * you agree to the additional terms and conditions found by accessing the
00019 * following link:
00020 * http://www.renesas.com/disclaimer*
00021 * Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
00022 *******************************************************************************/
00023 /**************************************************************************//**
00024 * @file          R_BSP_SerialFamily.h
00025 * @brief         R_BSP_SerialFamily API
00026 ******************************************************************************/
00027 
00028 #ifndef R_BSP_IOIF_H
00029 #define R_BSP_IOIF_H
00030 
00031 #include <stdint.h>
00032 #include <stdarg.h>
00033 #include "R_BSP_Aio.h"
00034 #include "R_BSP_mbed_fns.h"
00035 #include "rtos.h"
00036 
00037 /** A class to communicate a R_BSP_SerialFamily
00038  *
00039  */
00040 class R_BSP_SerialFamily : public R_BSP_Aio {
00041 
00042 public:
00043     /** Manipulates the underlying device parameters of special files
00044      *
00045      * @param request has encoded in it whether the argument is an "in" parameter or "out" parameter,
00046      * and the size of the argument argp in bytes.
00047      * @return true = success, false = failure
00048      */
00049      bool ioctl(int request, ...);
00050 
00051 protected:
00052     /** Destructor
00053      *
00054      */
00055     virtual ~R_BSP_SerialFamily();
00056 
00057     /** Channel init
00058      *
00059      * @param function_list pointer of driver function callback table
00060      * @param channel       channel number
00061      * @param config_data   pointer of several parameters for a channel
00062      * @param max_write_num The upper limit of write buffer
00063      * @param max_read_num  The upper limit of read buffer
00064      */
00065     bool init_channel(RBSP_MBED_FNS * function_list, int channel, void * const config_data, int32_t max_write_num = 16, int32_t max_read_num = 16);
00066 
00067 private:
00068     void * instance;
00069     void * ch_handle;
00070     int32_t ch_no;
00071     RBSP_MBED_FNS * functions;
00072 };
00073 #endif