From 96b0c8c37c15abf4768bdf700d25cc35073a26b2 Mon Sep 17 00:00:00 2001 From: mculover666 <2412828003@qq.com> Date: Tue, 11 Aug 2020 19:20:25 +0800 Subject: [PATCH] add deinit func in sal wrapper and ec20 --- devices/ec20/ec20.c | 15 +++++++++++++++ devices/ec20/ec20.h | 6 +----- net/sal_module_wrapper/sal_module_wrapper.c | 7 +++++++ net/sal_module_wrapper/sal_module_wrapper.h | 11 +++++++++++ 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/devices/ec20/ec20.c b/devices/ec20/ec20.c index 01e0ef5f..565360f0 100644 --- a/devices/ec20/ec20.c +++ b/devices/ec20/ec20.c @@ -551,3 +551,18 @@ int ec20_sal_init(hal_uart_port_t uart_port) return 0; } +int ec20_sal_deinit() +{ + int id = 0; + + for (id = 0; id < AT_DATA_CHANNEL_NUM; ++id) { + tos_sal_module_close(id); + } + + tos_sal_module_register_default(); + + tos_at_deinit(); + + return 0; +} + diff --git a/devices/ec20/ec20.h b/devices/ec20/ec20.h index aaa7669e..0863771e 100644 --- a/devices/ec20/ec20.h +++ b/devices/ec20/ec20.h @@ -20,12 +20,8 @@ #include "tos_hal.h" -typedef enum sal_send_mode { - SAL_SEND_MODE_NORMAL, - SAL_SEND_MODE_TRANSPARENT, -} sal_send_mode_t; - int ec20_sal_init(hal_uart_port_t uart_port); +int ec20_sal_deinit(void); #endif /* __EC20_H__ */ diff --git a/net/sal_module_wrapper/sal_module_wrapper.c b/net/sal_module_wrapper/sal_module_wrapper.c index 12531cbb..5449b479 100644 --- a/net/sal_module_wrapper/sal_module_wrapper.c +++ b/net/sal_module_wrapper/sal_module_wrapper.c @@ -12,6 +12,13 @@ int tos_sal_module_register(sal_module_t *module) return -1; } +int tos_sal_module_register_default() +{ + g_sal_module = NULL; + + return 0; +} + int tos_sal_module_init(void) { if (g_sal_module && g_sal_module->init) { diff --git a/net/sal_module_wrapper/sal_module_wrapper.h b/net/sal_module_wrapper/sal_module_wrapper.h index 74c11393..f481dd7c 100644 --- a/net/sal_module_wrapper/sal_module_wrapper.h +++ b/net/sal_module_wrapper/sal_module_wrapper.h @@ -63,6 +63,17 @@ typedef struct sal_module_st { */ int tos_sal_module_register(sal_module_t *module); +/** + * @brief Register a default sal module. + * + * @attention None + * + * @param[in] None + * + * @return errcode + */ +int tos_sal_module_register_default(void); + /** * @brief Initialize the module. *