PHiLIP
|
Protocol for application communication. More...
#include <errno.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include "stm32f1xx_hal.h"
#include "PHiLIP_typedef.h"
#include "PHiLIP_map.h"
#include "app_access.h"
#include "app_common.h"
#include "app_reg.h"
#include "map_if.h"
#include "app_shell_if.h"
Macros | |
#define | READ_REG_CMD "rr " |
The command to read application registers. | |
#define | WRITE_REG_CMD "wr " |
The command to write application registers. | |
#define | EXECUTE_CMD "ex\n" |
The command to execute and commit changes in the registers. | |
#define | RESET_CMD "mcu_rst\n" |
The command to provide a software reset to the applications. | |
#define | VERSION_CMD "-v\n" |
Prints the version of the interface. | |
#define | VERSION_CMD2 "version\n" |
Prints the version of the interface. | |
#define | VERSION_CMD3 "ver\n" |
Prints the version of the interface. | |
#define | VERSION_CMD4 "--v\n" |
Prints the version of the interface. | |
#define | HELP_CMD "help\n" |
Prints a help menu. | |
#define | MEMORY_MAP_CMD "mm " |
Gives properties of the memory map for a given index. | |
#define | MM_SIZE_CMD "mm_size\n" |
Gives the amount of records in the memory map. | |
#define | READ_KEY_CMD "r " |
Reads values given a record name. | |
#define | WRITE_KEY_CMD "w " |
Writes a value to a record name. | |
#define | ATOU_MAX_CHAR 10 |
Maximum characters for parsing strings to numbers. | |
#define | ATOU_ERROR 0xFFFFFFFF |
Error code for parsing strings to numbers. | |
#define | BYTE_MAX ((uint8_t)0xFF) |
Macro for max values of a byte. | |
#define | IS_NUM(x) (x >= '0' && x <= '9') |
Is a ascii number. | |
#define | IS_COMMAND(x) (memcmp(str, x, strlen(x)) == 0) |
Macro to check if command string matches. | |
Functions | |
error_t | parse_command (char *str, uint16_t buf_size, uint8_t access) |
Parses a string and executes commands. More... | |
Protocol for application communication.
This initializes and runs the serial communication protocol for interfacing to registers. It used the STM HAL and a UART for the IO. It also uses DMA.