Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
string.h
- Committer:
- matis755
- Date:
- 2020-05-20
- Revision:
- 3:6fc7976cc5bf
- Parent:
- 2:8788d711db7e
File content as of revision 3:6fc7976cc5bf:
#include "mbed.h"
#define NULL 0
#define TERMINATOR '\r'
#define DELIMITER_CHAR 0x20
#define HEX_bm 0x000F
#define MAX_TOKEN_NR 2
#define MAX_KEYWORD_STRING_LTH 6
#define MAX_KEYWORD_NR 2
typedef enum TokenType
{KEYWORD, NUMBER, STRING} TokenType;
typedef enum KeywordCode
{ CLB, GT} KeywordCode;
typedef union TokenValue
{
enum KeywordCode eKeyword;
unsigned int uiNumber;
char *pcString;
} TokenValue;
typedef struct Token
{
enum TokenType eType;
union TokenValue uValue;
} Token;
typedef struct Keyword
{
enum KeywordCode eCode;
char cString[MAX_KEYWORD_STRING_LTH + 1];
} Keyword;
class Tokenizer {
private:
struct Token asToken[MAX_TOKEN_NR];
unsigned char ucTokenCnt;
void ReplaceCharactersInString(char pcString[],char cOldChar,char cNewChar);
enum Result eHexStringToUInt(char pcStr[],unsigned int *puiValue);
unsigned char ucFindTokensInString(char *pcString);
enum Result eStringToKeyword (char pcStr[],enum KeywordCode *peKeywordCode);
void DecodeTokens(unsigned char ucTokenCnt);
public:
void DecodeMsg(char *pcString);
enum TokenType eGetTokenType(unsigned char ucIdx);
enum KeywordCode eGetKeyword(unsigned char ucIdx);
unsigned char GetTokenCnt(void);
};