/ components / vfs / include / esp_vfs_cdcacm.h
esp_vfs_cdcacm.h
 1  // Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD
 2  //
 3  // Licensed under the Apache License, Version 2.0 (the "License");
 4  // you may not use this file except in compliance with the License.
 5  // You may obtain a copy of the License at
 6  //
 7  //     http://www.apache.org/licenses/LICENSE-2.0
 8  //
 9  // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  
15  #pragma once
16  
17  #include "esp_err.h"
18  #include "esp_vfs.h"
19  #include "esp_vfs_common.h"
20  
21  #ifdef __cplusplus
22  extern "C" {
23  #endif
24  
25  /**
26   * @brief add /dev/cdcacm virtual filesystem driver
27   *
28   * This function is called from startup code to enable console output
29   */
30  esp_err_t esp_vfs_dev_cdcacm_register(void);
31  
32  /**
33   * @brief Set the line endings expected to be received
34   *
35   * This specifies the conversion between line endings received and
36   * newlines ('\n', LF) passed into stdin:
37   *
38   * - ESP_LINE_ENDINGS_CRLF: convert CRLF to LF
39   * - ESP_LINE_ENDINGS_CR: convert CR to LF
40   * - ESP_LINE_ENDINGS_LF: no modification
41   *
42   * @note this function is not thread safe w.r.t. reading
43   *
44   * @param mode line endings expected
45   */
46  void esp_vfs_dev_cdcacm_set_rx_line_endings(esp_line_endings_t mode);
47  
48  /**
49   * @brief Set the line endings to sent
50   *
51   * This specifies the conversion between newlines ('\n', LF) on stdout and line
52   * endings sent:
53   *
54   * - ESP_LINE_ENDINGS_CRLF: convert LF to CRLF
55   * - ESP_LINE_ENDINGS_CR: convert LF to CR
56   * - ESP_LINE_ENDINGS_LF: no modification
57   *
58   * @note this function is not thread safe w.r.t. writing
59   *
60   * @param mode line endings to send
61   */
62  void esp_vfs_dev_cdcacm_set_tx_line_endings(esp_line_endings_t mode);
63  
64  #ifdef __cplusplus
65  }
66  #endif