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
67