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

473 lines
17 KiB
C

/* ###################################################################
** This component module is generated by Processor Expert. Do not modify it.
** Filename : McuRTT.h
** Project : FRDM-K64F_Generator
** Processor : MK64FN1M0VLL12
** Component : SeggerRTT
** Version : Component 01.092, Driver 01.00, CPU db: 3.00.000
** Compiler : GNU C Compiler
** Date/Time : 2021-12-17, 13:26, # CodeGen: 759
** Abstract :
**
** Settings :
** Component name : McuRTT
** Version : V6.86e
** Number of Up Channels : 3
** Number of Down Channels : 3
** Max Blocked Interrupt Level : 3
** Syscalls : no
** Channel 0 : Enabled
** Name : "Terminal"
** Up Buffer Size (Tx) : 512
** Down Buffer Size (Rx) : 64
** Up Buffer Mode : Skip (Default)
** Down Buffer Mode : Skip (Default)
** Blocking Send : Disabled
** Printf Buffer Size : 64
** SDK : McuLib
** Shell : McuShell
** Source Folders :
** Source Folder : SEGGER_RTT
** Config Folder : SEGGER_RTT
** Contents :
** Read - int McuRTT_Read(unsigned BufferIndex, const char* pBuffer, unsigned NumBytes);
** Write - int McuRTT_Write(unsigned BufferIndex, char* pBuffer, unsigned BufferSize);
** WriteString - unsigned McuRTT_WriteString(unsigned BufferIndex, const char* s);
** printf - int McuRTT_printf(unsigned BufferIndex, const char* sFormat, ...);
** GetKey - dword McuRTT_GetKey(void);
** WaitKey - long McuRTT_WaitKey(void);
** HasKey - long McuRTT_HasKey(void);
** SetTerminal - int McuRTT_SetTerminal(char TerminalId);
** TerminalOut - int McuRTT_TerminalOut(char TerminalId, const char* s);
** ConfigUpBuffer - int McuRTT_ConfigUpBuffer(unsigned BufferIndex, const char* sName, char*...
** ConfigDownBuffer - int McuRTT_ConfigDownBuffer(unsigned BufferIndex, const char* sName, char*...
** RecvChar - uint8_t McuRTT_RecvChar(uint8_t *c);
** SendChar - uint8_t McuRTT_SendChar(uint8_t ch);
** GetCharsInRxBuf - uint16_t McuRTT_GetCharsInRxBuf(void);
** StdIOKeyPressed - bool McuRTT_StdIOKeyPressed(void);
** StdIOReadChar - void McuRTT_StdIOReadChar(uint8_t *c);
** StdIOSendChar - void McuRTT_StdIOSendChar(uint8_t ch);
** GetStdio - %@Shell@'ModuleName'%.ConstStdIOTypePtr McuRTT_GetStdio(void);
** Deinit - void McuRTT_Deinit(void);
** Init - void McuRTT_Init(void);
**
** * (c) Copyright Segger, 2020-2021
** * http : www.segger.com
** * See separate Segger licensing terms.
** *
** * Processor Expert port: Copyright (c) 2016-2021 Erich Styger
** * Web: https://mcuoneclipse.com
** * SourceForge: https://sourceforge.net/projects/mcuoneclipse
** * Git: https://github.com/ErichStyger/McuOnEclipse_PEx
** * All rights reserved.
** *
** * Redistribution and use in source and binary forms, with or without modification,
** * are permitted provided that the following conditions are met:
** *
** * - Redistributions of source code must retain the above copyright notice, this list
** * of conditions and the following disclaimer.
** *
** * - Redistributions in binary form must reproduce the above copyright notice, this
** * list of conditions and the following disclaimer in the documentation and/or
** * other materials provided with the distribution.
** *
** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
** * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
** * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
** * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
** * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
** * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
** * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
** ###################################################################*/
/*!
** @file McuRTT.h
** @version 01.00
** @brief
**
*/
/*!
** @addtogroup McuRTT_module McuRTT module documentation
** @{
*/
#ifndef __McuRTT_H
#define __McuRTT_H
/* MODULE McuRTT. */
#include "McuLib.h" /* SDK and API used */
#include "McuRTTconfig.h" /* configuration */
/* Include inherited components */
#include "McuLib.h"
#include "McuShell.h"
#include "SEGGER_RTT.h"
#define McuRTT_RTT_CHANNEL_0_ENABLED 1 /* 0: channel disabled, 1: channel enabled */
extern uint8_t McuRTT_DefaultShellBuffer[McuShell_DEFAULT_SHELL_BUFFER_SIZE]; /* default buffer which can be used by the application */
extern McuShell_ConstStdIOType McuRTT_stdio; /* default standard I/O */
#ifdef __cplusplus
extern "C" {
#endif
#define McuRTT_Read(BufferIndex, pBuffer, NumBytes) \
SEGGER_RTT_Read(BufferIndex, pBuffer, NumBytes)
/*
** ===================================================================
** Method : Read (component SeggerRTT)
**
** Description :
** Read from buffer
** Parameters :
** NAME - DESCRIPTION
** BufferIndex - Buffer/channel to be used.
** 0 for terminal.
** * pBuffer - Pointer to buffer
** BufferSize - Number of bytes to write
** Returns :
** --- - Number of bytes that have been read
** ===================================================================
*/
#define McuRTT_Write(BufferIndex, pBuffer, BufferSize) \
SEGGER_RTT_Write(BufferIndex, pBuffer, BufferSize)
/*
** ===================================================================
** Method : Write (component SeggerRTT)
**
** Description :
** Write to buffer
** Parameters :
** NAME - DESCRIPTION
** BufferIndex - Buffer/channel to be used.
** 0 for terminal.
** * pBuffer - Pointer to buffer
** BufferSize - Size of buffer
** Returns :
** --- - Number of bytes which have been written to
** the up buffer
** ===================================================================
*/
#define McuRTT_WriteString(BufferIndex, s) \
SEGGER_RTT_WriteString(BufferIndex, s)
/*
** ===================================================================
** Method : WriteString (component SeggerRTT)
**
** Description :
** Write to buffer
** Parameters :
** NAME - DESCRIPTION
** BufferIndex - Buffer/channel to be used.
** 0 for terminal.
** * s - Pointer to
** Returns :
** --- - Number of bytes which have been stored in
** the "Up"-buffer.
** ===================================================================
*/
#define McuRTT_GetKey() \
SEGGER_RTT_GetKey()
/*
** ===================================================================
** Method : GetKey (component SeggerRTT)
**
** Description :
** Returns a character/key
** Parameters : None
** Returns :
** --- - character code
** ===================================================================
*/
#define McuRTT_WaitKey() \
SEGGER_RTT_WaitKey()
/*
** ===================================================================
** Method : WaitKey (component SeggerRTT)
**
** Description :
** Waits for a key and returns it.
** Parameters : None
** Returns :
** --- - >=0 Character which has been read.
** ===================================================================
*/
#define McuRTT_HasKey() \
SEGGER_RTT_HasKey()
/*
** ===================================================================
** Method : HasKey (component SeggerRTT)
**
** Description :
** Checks if at least one character for reading is available in
** the SEGGER RTT buffer
** Parameters : None
** Returns :
** --- - 0: No characters are available to read; 1:
** At least one character is available.
** ===================================================================
*/
bool McuRTT_StdIOKeyPressed(void);
/*
** ===================================================================
** Method : StdIOKeyPressed (component SeggerRTT)
**
** Description :
** StdIO handler for Shell
** Parameters : None
** Returns :
** --- - True if there are characters in teh input
** buffer
** ===================================================================
*/
void McuRTT_StdIOReadChar(uint8_t *c);
/*
** ===================================================================
** Method : StdIOReadChar (component SeggerRTT)
**
** Description :
** StdIO Handler for reading a character. It returns a zero
** byte if there is no character in input buffer.
** Parameters :
** NAME - DESCRIPTION
** * c - Pointer to where to store the received
** character
** Returns : Nothing
** ===================================================================
*/
void McuRTT_StdIOSendChar(uint8_t ch);
/*
** ===================================================================
** Method : StdIOSendChar (component SeggerRTT)
**
** Description :
** StdIO handler to sends a character.
** Parameters :
** NAME - DESCRIPTION
** ch - Character to send
** Returns : Nothing
** ===================================================================
*/
uint8_t McuRTT_RecvChar(uint8_t *c);
/*
** ===================================================================
** Method : RecvChar (component SeggerRTT)
**
** Description :
** Receives a character from channel 0. Returns ERR_RXEMPTY if
** no character available
** Parameters :
** NAME - DESCRIPTION
** * c - Pointer to where to store the received
** character
** Returns :
** --- - Error code
** ===================================================================
*/
uint8_t McuRTT_SendChar(uint8_t ch);
/*
** ===================================================================
** Method : SendChar (component SeggerRTT)
**
** Description :
** Sends a character to channel 0.
** Parameters :
** NAME - DESCRIPTION
** ch - Character to send
** Returns :
** --- - Error code. ERR_OK if character has been
** sent, ERR_TXFULL otherwise.
** ===================================================================
*/
#define McuRTT_GetCharsInRxBuf() \
SEGGER_RTT_HasKey()
/*
** ===================================================================
** Method : GetCharsInRxBuf (component SeggerRTT)
**
** Description :
** Returns the number of characters in the receive buffer.
** Parameters : None
** Returns :
** --- - Number of characters in the input buffer,
** zero for none available.
** ===================================================================
*/
void McuRTT_Init(void);
/*
** ===================================================================
** Method : Init (component SeggerRTT)
**
** Description :
** Initializes the RTT Control Block.
** Parameters : None
** Returns : Nothing
** ===================================================================
*/
#define McuRTT_TerminalOut(TerminalId, s) \
SEGGER_RTT_TerminalOut(TerminalId, s)
/*
** ===================================================================
** Method : TerminalOut (component SeggerRTT)
**
** Description :
** Writes a string to the given terminal without changing the
** terminal for channel 0.
** Parameters :
** NAME - DESCRIPTION
** TerminalId - TerminalId, 0..15
** * s - Pointer to string
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuRTT_SetTerminal(TerminalId) \
SEGGER_RTT_SetTerminal(TerminalId)
/*
** ===================================================================
** Method : SetTerminal (component SeggerRTT)
**
** Description :
** Sets the terminal to be used for output on channel 0.
** Parameters :
** NAME - DESCRIPTION
** TerminalId - Terminal ID, 0..15
** Returns :
** --- - Error code
** ===================================================================
*/
#define McuRTT_ConfigUpBuffer(BufferIndex, sName, pBuffer, BufferSize, Flags) \
SEGGER_RTT_ConfigUpBuffer(BufferIndex, sName, pBuffer, BufferSize, Flags)
/*
** ===================================================================
** Method : ConfigUpBuffer (component SeggerRTT)
**
** Description :
** Configures the Up (device to host) buffer
** Parameters :
** NAME - DESCRIPTION
** BufferIndex - Buffer index
** sName - Buffer name
** * pBuffer - Pointer to buffer
** intBufferSize - Size of buffer in bytes
** Flags - SEGGER_RTT_MODE_NO_BLOCK_SKIP,
** SEGGER_RTT_MODE_NO_BLOCK_TRIM or
** SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL
** Returns :
** --- - Error code, >=0 OK, <0 Error
** ===================================================================
*/
#define McuRTT_ConfigDownBuffer(BufferIndex, sName, pBuffer, BufferSize, Flags) \
SEGGER_RTT_ConfigDownBuffer(BufferIndex, sName, pBuffer, BufferSize, Flags)
/*
** ===================================================================
** Method : ConfigDownBuffer (component SeggerRTT)
**
** Description :
** Configures the Down (host to device) buffer
** Parameters :
** NAME - DESCRIPTION
** BufferIndex - Buffer index
** sName - Buffer name
** * pBuffer - Pointer to buffer
** intBufferSize - Size of buffer in bytes
** Flags - SEGGER_RTT_MODE_NO_BLOCK_SKIP,
** SEGGER_RTT_MODE_NO_BLOCK_TRIM or
** SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL
** Returns :
** --- - Error code, >=0 OK, <0 Error
** ===================================================================
*/
#define McuRTT_printf \
SEGGER_RTT_printf
/*
** ===================================================================
** Method : printf (component SeggerRTT)
**
** Description :
** Stores a formatted string in SEGGER RTT control block. This
** data is sent to the host.
** Parameters :
** NAME - DESCRIPTION
** BufferIndex - Index of "Up"-buffer to be
** used. (e.g. 0 for "Terminal")
** sFormat - Pointer to format string, followed
** by the arguments for conversion
** Returns :
** --- - Error code
** ===================================================================
*/
void McuRTT_Deinit(void);
/*
** ===================================================================
** Method : Deinit (component SeggerRTT)
**
** Description :
** Driver deinitialization
** Parameters : None
** Returns : Nothing
** ===================================================================
*/
McuShell_ConstStdIOTypePtr McuRTT_GetStdio(void);
/*
** ===================================================================
** Method : GetStdio (component SeggerRTT)
**
** Description :
** Returns a pointer to the standard I/O
** Parameters : None
** Returns :
** --- - Error code
** ===================================================================
*/
/* END McuRTT. */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif
/* ifndef __McuRTT_H */
/*!
** @}
*/