Files
MSE-SoftwEng/pico-sensor/src/shell.h
2025-05-06 13:07:01 +00:00

75 lines
1.9 KiB
C

/*
* Copyright (c) 2023, Erich Styger
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef SHELL_H_
#define SHELL_H_
#include "McuShell.h"
#ifdef __cplusplus
extern "C" {
#endif
/*!
* \brief Send a string to all supported I/Os
* \param str String to send
*/
void SHELL_SendString(const unsigned char *str);
/*!
* \brief Send a string to a given IO. It tries to accelerate it by sending a buffer instead char by char.
* \param str String to be sent.
* \param io I/O to be used.
*/
void SHELL_SendStringToIO(const unsigned char *str, McuShell_ConstStdIOType *io);
/*!
* \brief Send a character to all supported I/Os
* \param ch Character to send
*/
void SHELL_SendChar(unsigned char ch);
/*!
* \brief Parses a command with a given standard I/O channel
* \param command Command to be parsed
* \param io I/O to be used. If NULL, the standard default I/O will be used
* \param silent If parsing shall be silent or not
* \return Error code, ERR_OK for no error
*/
uint8_t SHELL_ParseCommandIO(const unsigned char *command, McuShell_ConstStdIOType *io, bool silent);
/*!
* \brief Send a string to the ESP shell get a response back
* \param send Message to send
* \param response Where to store the response
* \param responseSize Size of the response buffer
*/
void SHELL_SendToESPAndGetResponse(const unsigned char *send, unsigned char *response, size_t responseSize);
/*!
* \brief Send a string to the robot get a response back
* \param send Message to send
* \param response Where to store the response
* \param responseSize Size of the response buffer
*/
void SHELL_SendToRobotAndGetResponse(const unsigned char *send, unsigned char *response, size_t responseSize);
/*!
* \brief Module de-initialization
*/
void SHELL_Deinit(void);
/*!
* \brief Module Initialization
*/
void SHELL_Init(void);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* SHELL_H_ */