فهرست منبع

uart: multichip support

chenjianqiang 6 سال پیش
والد
کامیت
91ae40e2ff

+ 12 - 15
components/driver/include/driver/uart.h

@@ -1,9 +1,9 @@
-// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
+// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
-
+//
 //     http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
@@ -12,9 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#ifndef _DRIVER_UART_H_
-#define _DRIVER_UART_H_
-
+#pragma once
 
 #ifdef __cplusplus
 extern "C" {
@@ -260,7 +258,7 @@ esp_err_t uart_get_baudrate(uart_port_t uart_num, uint32_t* baudrate);
  *
  * @param uart_num  UART_NUM_0, UART_NUM_1 or UART_NUM_2
  * @param inverse_mask Choose the wires that need to be inverted.
- *        Inverse_mask should be chosen from 
+ *        Inverse_mask should be chosen from
  *        UART_INVERSE_RXD / UART_INVERSE_TXD / UART_INVERSE_RTS / UART_INVERSE_CTS,
  *        combined with OR operation.
  *
@@ -404,7 +402,7 @@ esp_err_t uart_enable_tx_intr(uart_port_t uart_num, int enable, int thresh);
  * @param fn  Interrupt handler function.
  * @param arg parameter for handler function
  * @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)
- *        ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info. 
+ *        ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info.
  * @param handle Pointer to return handle. If non-NULL, a handle for the interrupt will
  *        be returned here.
  *
@@ -432,7 +430,7 @@ esp_err_t uart_isr_free(uart_port_t uart_num);
  * @note Internal signal can be output to multiple GPIO pads.
  *       Only one GPIO pad can connect with input signal.
  *
- * @note Instead of GPIO number a macro 'UART_PIN_NO_CHANGE' may be provided 
+ * @note Instead of GPIO number a macro 'UART_PIN_NO_CHANGE' may be provided
          to keep the currently allocated pin.
  *
  * @param uart_num   UART_NUM_0, UART_NUM_1 or UART_NUM_2
@@ -559,7 +557,7 @@ esp_err_t uart_wait_tx_done(uart_port_t uart_num, TickType_t ticks_to_wait);
 
 /**
  * @brief Send data to the UART port from a given buffer and length.
- * 
+ *
  * This function will not wait for enough space in TX FIFO. It will just fill the available TX FIFO and return when the FIFO is full.
  * @note This function should only be used when UART TX buffer is not enabled.
  *
@@ -774,10 +772,10 @@ int uart_pattern_get_pos(uart_port_t uart_num);
 esp_err_t uart_pattern_queue_reset(uart_port_t uart_num, int queue_length);
 
 /**
- * @brief UART set communication mode 
+ * @brief UART set communication mode
  * @note  This function must be executed after uart_driver_install(), when the driver object is initialized.
  * @param uart_num     Uart number to configure
- * @param mode UART    UART mode to set 
+ * @param mode UART    UART mode to set
  *
  * @return
  *     - ESP_OK Success
@@ -789,8 +787,8 @@ esp_err_t uart_set_mode(uart_port_t uart_num, uart_mode_t mode);
  * @brief UART set threshold timeout for TOUT feature
  *
  * @param uart_num     Uart number to configure
- * @param tout_thresh  This parameter defines timeout threshold in uart symbol periods. The maximum value of threshold is 126. 
- *        tout_thresh = 1, defines TOUT interrupt timeout equal to transmission time of one symbol (~11 bit) on current baudrate. 
+ * @param tout_thresh  This parameter defines timeout threshold in uart symbol periods. The maximum value of threshold is 126.
+ *        tout_thresh = 1, defines TOUT interrupt timeout equal to transmission time of one symbol (~11 bit) on current baudrate.
  *        If the time is expired the UART_RXFIFO_TOUT_INT interrupt is triggered. If tout_thresh == 0,
  *        the TOUT feature is disabled.
  *
@@ -811,7 +809,7 @@ esp_err_t uart_set_rx_timeout(uart_port_t uart_num, const uint8_t tout_thresh);
  * @param collision_flag Pointer to variable of type bool to return collision flag.
  *
  * @return
- *     - ESP_OK Success 
+ *     - ESP_OK Success
  *     - ESP_ERR_INVALID_ARG Parameter error
  */
 esp_err_t uart_get_collision_flag(uart_port_t uart_num, bool* collision_flag);
@@ -870,4 +868,3 @@ esp_err_t uart_get_wakeup_threshold(uart_port_t uart_num, int* out_wakeup_thresh
 }
 #endif
 
-#endif /*_DRIVER_UART_H_*/

+ 2 - 0
components/driver/uart.c

@@ -36,6 +36,8 @@
 
 #define UART_NUM SOC_UART_NUM
 
+#define UART_NUM SOC_UART_NUM
+
 #define XOFF (char)0x13
 #define XON (char)0x11
 

+ 4 - 5
components/soc/esp32/include/soc/uart_caps.h

@@ -1,4 +1,4 @@
-// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD
+// Copyright 2017-2019 Espressif Systems (Shanghai) PTE LTD
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,8 +11,9 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-#ifndef _SOC_UART_CAPS_H_
-#define _SOC_UART_CAPS_H_
+
+#pragma once
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -22,5 +23,3 @@ extern "C" {
 #ifdef __cplusplus
 }
 #endif
-
-#endif  /* _SOC_UART_CAPS_H_ */

+ 2 - 0
components/soc/include/soc/uart_periph.h

@@ -13,6 +13,8 @@
 // limitations under the License.
 
 #pragma once
+
+#include "soc/uart_caps.h"
 #include "soc/uart_reg.h"
 #include "soc/uart_struct.h"
 #include "soc/uart_channel.h"