volcano_gpio_config.h:47:99: error: expected unqualified-id before '<' token
| cc1plus: all warnings being treated as errors
头文件如下:
/******************************************************************************
* Copyright (c) 2025 MeiG Smart Co.Ltd. All Rights Reserved.
*
* This program is the confidential and proprietary information of MeiG
* Smart Co.Ltd. ("Confidential Information"). You shall not disclose such
* Confidential Information and shall use it only in accordance with the terms
* of the license agreement you entered into with MeiG Smart Co.Ltd.
*
* Filename: volcano_gpio_config.h
*
* Description:
* Meig c-GPIO API.
*
* Version: 1.0
* Date: 2025-06-03
* Author: zhanghong
*
* 1.0 2025-06-03 zhanghong First version
******************************************************************************/
#include <cstdint>
#include <cstddef>
#ifndef __VOLCANO_GPIO_CONFIG_H__
#define __VOLCANO_GPIO_CONFIG_H__
#ifdef __cplusplus
extern "C" {
#endif
#define MODULE_MCU 379
#define MODULE_PM 357
#define VOLCANO_PIN( pin_number, name, type, gpio_number) PINNAME_##name = pin_number,
typedef enum {
/*Invalid*/
PINNAME_BEGIN = -1,
/*VOLCANO_PIN( pin name, name, type, gpio )*/
VOLCANO_PIN( 59, BT_UART_TXD, MODULE_MCU, 54 )
VOLCANO_PIN( 61, BT_UART_RTS, MODULE_MCU, 52 )
VOLCANO_PIN( 62, BT_UART_CTS, MODULE_MCU, 53 )
VOLCANO_PIN( 63, BT_UART_RXD, MODULE_MCU, 55 )
VOLCANO_PIN( 71, UART1_CTS, MODULE_MCU, 117 )
VOLCANO_PIN( 74, UART1_RTS, MODULE_MCU, 116 )
VOLCANO_PIN( 100, GPIO1, MODULE_MCU, 129 ) //volcano_lpm has already been used
VOLCANO_PIN( 102, GPIO3, MODULE_MCU, 126 )
VOLCANO_PIN( 104, GPIO4, MODULE_MCU, 128 )
VOLCANO_PIN( 181, RESERVED_1, MODULE_MCU, 50 )
VOLCANO_PIN( 249, GPIO8, MODULE_MCU, 75 )
VOLCANO_PIN( 280, GPIO9, MODULE_MCU, 103 )
VOLCANO_PIN( 283, GPIO10, MODULE_MCU, 78 )
VOLCANO_PIN( 297, UART3_RX, MODULE_MCU, 65 )
VOLCANO_PIN( 298, UART3_TX, MODULE_MCU, 64 )
PINNAME_END
} ENUM_PINNAME;
enum {
RES_OK = 0,//Execute success
RES_ERR_EXEC = -1,//Execute error
RES_IO_NOT_SUPPORT = -2,//gpio not support
RES_IO_ERROR = -3,//gpio err
RES_NOT_IMPLEMENTED = -4,//setting invalible
RES_BAD_PARAMETER = -6, //Params bad
RES_FUN_NOT_SUPPORT = -9 //not support function
};
typedef enum {
EINT_SENSE_NONE, /* none */
EINT_SENSE_RISING, /** rising */
EINT_SENSE_FALLING, /** falling */
EINT_SENSE_BOTH /** both */
} ENUM_EINT_TYPE;
typedef enum {
PINDIRECTION_IN = 0, /** GPIO input direction */
PINDIRECTION_OUT = 1 /** GPIO output direction */
} ENUM_PIN_DIRECTION;
typedef enum {
PINLEVEL_LOW = 0, /** GPIO low level */
PINLEVEL_HIGH = 1 /** GPIO high level */
} ENUM_PIN_LEVEL;
typedef enum {
PINPULLSEL_DISABLE = 0, /** Disable pull selection */
PINPULLSEL_PULLDOWN = 1, /**pull down */
PINPULLSEL_PULLUP = 3 /**pull up */
} ENUM_PIN_PULLSEL;
typedef enum {
PINAWAKE_DISABLE = 0, /** GPIO awake disable */
PINAWAKE_ENABLE = 1 /** GPIO awake enable */
} ENUM_PIN_AWAKE;
typedef enum {
VOLCANO_GPIO_CB_TYPE_EINT1, // GPIO 中断回调1
VOLCANO_GPIO_CB_TYPE_EINT2, // GPIO 中断回调2
VOLCANO_GPIO_CB_TYPE_MAX
}VOLCANO_GPIO_CB_TYPE_E;
typedef void (* volcano_ms_eint_callback )( ENUM_PINNAME eint_pin_name, int level );
typedef void (* volcano_ms_eint2_callback )( ENUM_PINNAME eint_pin_name, int level );
#define GPIO_LEVEL_HIGH "1"
#define GPIO_LEVEL_LOW "0"
#define GPIO_DIR_OUT "out"
#define GPIO_DIR_IN "in"
#define GPIO_EDGE_NONE "none"
#define GPIO_EDGE_BOTH "both"
#define GPIO_EDGE_RISING "rising"
#define GPIO_EDGE_FALLING "falling"
#define SYSFS_GPIO_EXPORT "/sys/class/gpio/export"
#define SYSFS_GPIO_UNEXPORT "/sys/class/gpio/unexport"
#define DEVICE_NAME "/dev/config-gpio"
#define SYSFS_STR(x) #x
#define SYSFS_GPIO_STR(x) SYSFS_STR(x)
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
#define GPIO_GET_IRQ 0x3025
#define GPIO_REQUEST 0x3026
#define GPIO_SET_DIR_VALUE 0x3027
#define GPIO_GET_VALUE 0x3028
#define GPIO_SET_VALUE 0x3029
#define GPIO_FREE 0x302A
#define GPIO_TO_IRQ 0x302B
#define GPIO_FREE_IRQ 0x302C
#define GPIO_TO_WAKE 0x302D
#define GPIO_GET_WAKE 0x302E
#define GPIO_GET_DIR_VALUE 0x302F
//#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
//#define SYSFS_GPIO_EXPORT "/sys/class/gpio/export"
struct some_ioctl_data {
unsigned int value;
int ret_val;
unsigned int use_data;
};
typedef struct
{
int pin;
int Gpio_InitNum;
volcano_ms_eint_callback callback;
unsigned int irq_num;
}Gpio_str;
typedef struct
{
Gpio_str Gpio_Init[132];
int ReqNum;
}Gpio_Status;
typedef struct
{
int pinname;
int pinnumber;
bool initflag;
} volcano_pin_driver_typeDef;
static volcano_pin_driver_typeDef volcano_pin_table_gpio[] =
{
{59, MODULE_MCU+54,false},
{61, MODULE_MCU+52,false},
{62, MODULE_MCU+53,false},
{63, MODULE_MCU+55,false},
{71, MODULE_MCU+117,false},
{74, MODULE_MCU+116,false},
{100, MODULE_MCU+129,false},
{102, MODULE_MCU+126,false},
{104, MODULE_MCU+128,false},
{181, MODULE_MCU+50,false},
{249, MODULE_MCU+75,false},
{280, MODULE_MCU+103,false},
{283, MODULE_MCU+78,false},
{297, MODULE_MCU+65,false},
{298, MODULE_MCU+64,false},
{507, MODULE_MCU+48,false},
{508, MODULE_MCU+49,false}
};
#ifdef __cplusplus
}
#endif
#endif // __VOLCANO_V2X_CONFIG_H__
最新发布