4G_module/examples/demo_main/inc/cm_common.h

173 lines
4.7 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @file cm_common.h
* @brief opencpu 通用头文件
* @copyright Copyright © 2021 China Mobile IOT. All rights reserved.
* @author By tw
* @date 2021/03/18
*/
#ifndef __CM_COMMON_H__
#define __CM_COMMON_H__
/****************************************************************************
* Included Files
****************************************************************************/
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "cm_os.h"
#include "cm_iomux.h"
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
#ifndef FALSE
#define FALSE (0U)
#endif
#ifndef TRUE
#define TRUE (1U)
#endif
#define UART_TASK_PRIORITY osPriorityNormal
/**
* 测试串口宏定义,只需修改此处即可变更测试串口
* 此处请勿使用cm_uart_dev_e枚举值否则影响本文件后续条件判断
* SD功能和UART0(ML302A为UART1)功能互斥,不可同时使用
*/
#if CM_OPENCPU_MODEL_ML302A
#define OPENCPU_MAIN_URAT 1
#else
#define OPENCPU_MAIN_URAT 0
#endif
/****************************************************************************
* Public Types
****************************************************************************/
typedef enum{
RET_BUSY = -2,
RET_ERROR =-1,
RET_SUCCESS = 0
}CM_RET_E;
/****************************************************************************
* Public Data
****************************************************************************/
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C"
{
#else
#define EXTERN extern
#endif
#if CM_OPENCPU_MODEL_ML302A
//uart0
#if (OPENCPU_MAIN_URAT == 0)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_15, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_14, CM_IOMUX_FUNC_FUNCTION1
#endif
//uart1
#if (OPENCPU_MAIN_URAT == 1)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_29, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_30, CM_IOMUX_FUNC_FUNCTION1
#endif
//uart2
#if (OPENCPU_MAIN_URAT == 2)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_50, CM_IOMUX_FUNC_FUNCTION2
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_51, CM_IOMUX_FUNC_FUNCTION2
#endif
#define OPENCPU_UART_WEKEUP_PIN CM_IOMUX_PIN_30
#define OPENCPU_TEST_PWM0_IOMUX CM_IOMUX_PIN_3, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM1_IOMUX CM_IOMUX_PIN_12, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM2_IOMUX CM_IOMUX_PIN_69, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM3_IOMUX 0, 0
#endif
#if CM_OPENCPU_MODEL_ML305A
//uart0
#if (OPENCPU_MAIN_URAT == 0)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_32, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_31, CM_IOMUX_FUNC_FUNCTION1
#endif
//uart1
#if (OPENCPU_MAIN_URAT == 1)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_3, CM_IOMUX_FUNC_FUNCTION2
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_2, CM_IOMUX_FUNC_FUNCTION2
#endif
//uart2
#if (OPENCPU_MAIN_URAT == 2)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_49, CM_IOMUX_FUNC_FUNCTION3
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_54, CM_IOMUX_FUNC_FUNCTION3
#endif
#define OPENCPU_UART_WEKEUP_PIN CM_IOMUX_PIN_31
#define OPENCPU_TEST_PWM0_IOMUX CM_IOMUX_PIN_69, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM1_IOMUX CM_IOMUX_PIN_70, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM2_IOMUX CM_IOMUX_PIN_56, CM_IOMUX_FUNC_FUNCTION3
#define OPENCPU_TEST_PWM3_IOMUX CM_IOMUX_PIN_57, CM_IOMUX_FUNC_FUNCTION3
#endif
#if CM_OPENCPU_MODEL_ML307A
//uart0
#if (OPENCPU_MAIN_URAT == 0)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_18, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_17, CM_IOMUX_FUNC_FUNCTION1
#endif
//uart1
#if (OPENCPU_MAIN_URAT == 1)
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_28, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_29, CM_IOMUX_FUNC_FUNCTION1
#endif
#if (OPENCPU_MAIN_URAT == 2)
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_50, CM_IOMUX_FUNC_FUNCTION3
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_51, CM_IOMUX_FUNC_FUNCTION3
#endif
#define OPENCPU_UART_WEKEUP_PIN CM_IOMUX_PIN_17
#define OPENCPU_TEST_PWM0_IOMUX CM_IOMUX_PIN_74, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM1_IOMUX CM_IOMUX_PIN_75, CM_IOMUX_FUNC_FUNCTION1
#define OPENCPU_TEST_PWM2_IOMUX CM_IOMUX_PIN_21, CM_IOMUX_FUNC_FUNCTION2
#define OPENCPU_TEST_PWM3_IOMUX 0, 0
#endif
#undef EXTERN
#ifdef __cplusplus
}
#endif
/** @}*/
/** @}*/
#endif /* __CM_COMMON_H__ */