![]() |
![]() |
|
MSPM0G3507SensorlessFOCMotorControlLibrary
1.0
|
#include "ti_msp_dl_config.h"#include <stdbool.h>
Go to the source code of this file.
Data Structures | |
| struct | BufferInfo |
| Buffer info structure. More... | |
| struct | UART_Instance |
| UART instance. More... | |
Macros | |
| #define | PREAMBLE_BYTE (0xFE) |
| Preamble byte. | |
| #define | PREAMBLE_BYTE_SIZE (0) |
| Preamble byte size. | |
| #define | TARGET_ADDR (0xAD) |
| Target address. | |
| #define | BROADCAST_ADDR (0xFF) |
| Broadcast address. | |
| #define | START_IDX (0) |
| Start index. | |
| #define | START_BYTE_SIZE (1) |
| Start byte size. | |
| #define | FRAME_START_BYTE (0x68) |
| Frame start byte. | |
| #define | TARGET_ADDR_IDX (START_IDX + START_BYTE_SIZE) |
| Target address index. | |
| #define | TARGET_ADDR_SIZE (1) |
| Target address size. | |
| #define | CTRL_IDX (TARGET_ADDR_IDX + TARGET_ADDR_SIZE) |
| Control index. | |
| #define | CTRL_SIZE (1) |
| Control size. | |
| #define | CMD_MASK (0x80) |
| Control mask. | |
| #define | CRC_MASK (0x40) |
| CRC mask. | |
| #define | LEN_MASK (0x1F) |
| Length mask. | |
| #define | WRITE_CMD (0x80) |
| Write command. | |
| #define | READ_CMD (0x00) |
| Read command. | |
| #define | HEADER_SIZE (START_BYTE_SIZE + TARGET_ADDR_SIZE + CTRL_SIZE) |
| Header size. | |
| #define | MEM_ADDR_IDX (CTRL_IDX + CTRL_SIZE) |
| Memory address index. | |
| #define | MEM_ADDR_SIZE (4) |
| Memory address size. | |
| #define | MEM_ADDR_RANGE_START (0x0) |
| Memory address range start. | |
| #define | MEM_ADDR_RANGE_END (0xFFFFFFFF) |
| Memory address range end. | |
| #define | DATA_IDX (MEM_ADDR_IDX + MEM_ADDR_SIZE) |
| Data index. | |
| #define | MAX_DATA_SIZE (32) |
| maximum data size | |
| #define | ACK_WRITE (0xAC) |
| Data in Acknowledge frame. | |
| #define | CRC_OFFSET (END_OFFSET + CRC_SIZE) |
| CRC offset. | |
| #define | CRC_SIZE (2) |
| CRC size. | |
| #define | END_OFFSET (1) |
| End offset. | |
| #define | FRAME_END_BYTE (0x16) |
| Frame end byte. | |
| #define | END_BYTE_SIZE (1) |
| End byte size. | |
| #define | TRAILER_SIZE (END_BYTE_SIZE) |
| Trailer size. | |
| #define | MAX_BUFFER_SIZE (HEADER_SIZE + MEM_ADDR_SIZE + MAX_DATA_SIZE + CRC_SIZE + TRAILER_SIZE) |
| Maximum buffer size. | |
| #define | ERROR_OFFSET (7) |
| Error offset. | |
| #define | DMA_RX_TRANSFER_SIZE (71) |
| DMA receive transfer size. | |
Enumerations | |
| enum | UART_Status { UART_STATUS_IDLE = 0, UART_STATUS_RX_BUFFERING, UART_STATUS_PROCESS_FRAME, UART_STATUS_TX_TRANSMITTING } |
| UART status. More... | |
| enum | ErrorType { ERROR_NONE = 0x00, ERROR_MISMATCH_START_BYTE = 0xE1, ERROR_MISMATCH_END_BYTE = 0xE2, ERROR_ADDR_RANGE = 0xE3, ERROR_MISMATCH_CRC = 0xE4, ERROR_MISMATCH_TARGET_ADDR = 0xE5 } |
| UART ERROR types. More... | |
Functions | |
| void | UART_init (UART_Instance *UART_handle) |
| Initializes the UART module. More... | |
| void | UART_checkForCommand (UART_Instance *UART_handle) |
| Checks the Rx Buffer for commands. More... | |
| void | UART_getFrameLength (UART_Instance *UART_handle) |
| Decodes frame length from buffer. More... | |
| void | DMA_RX_init (UART_Instance *UART_handle) |
| Initializes DMA to store the command in RX Buffer. More... | |
Variables | |
| UART_Instance * | pUART |
| Extern UART instance. | |
| enum UART_Status |
| enum ErrorType |
| void UART_init | ( | UART_Instance * | UART_handle | ) |
Initializes the UART module.
| [in] | UART_handle | A pointer to UART_Instance |
References UART_Instance::dataLen, DMA_RX_init(), UART_Instance::error, ERROR_NONE, UART_Instance::isCrc, UART_Instance::rxMsg, UART_Instance::status, UART_Instance::txMsg, and UART_STATUS_IDLE.
| void UART_checkForCommand | ( | UART_Instance * | UART_handle | ) |
Checks the Rx Buffer for commands.
| [in] | UART_handle | A pointer to UART_Instance |
References DMA_RX_init(), DMA_RX_TRANSFER_SIZE, UART_Instance::error, ERROR_MISMATCH_END_BYTE, ERROR_MISMATCH_START_BYTE, ERROR_MISMATCH_TARGET_ADDR, ERROR_NONE, FRAME_END_BYTE, BufferInfo::len, UART_Instance::rxMsg, UART_Instance::status, UART_STATUS_IDLE, UART_STATUS_PROCESS_FRAME, and UART_STATUS_RX_BUFFERING.
| void UART_getFrameLength | ( | UART_Instance * | UART_handle | ) |
Decodes frame length from buffer.
| [in] | UART_handle | A pointer to UART_Instance |
References ACK_WRITE, BROADCAST_ADDR, CMD_MASK, CRC_MASK, CRC_OFFSET, CRC_SIZE, CTRL_IDX, DATA_IDX, UART_Instance::dataLen, UART_Instance::error, ERROR_ADDR_RANGE, ERROR_MISMATCH_CRC, ERROR_MISMATCH_END_BYTE, ERROR_MISMATCH_START_BYTE, ERROR_MISMATCH_TARGET_ADDR, ERROR_NONE, ERROR_OFFSET, FRAME_END_BYTE, FRAME_START_BYTE, HEADER_SIZE, UART_Instance::isCrc, BufferInfo::len, LEN_MASK, MEM_ADDR_IDX, MEM_ADDR_RANGE_END, MEM_ADDR_SIZE, PREAMBLE_BYTE, PREAMBLE_BYTE_SIZE, BufferInfo::ptr, READ_CMD, UART_Instance::rxMsg, START_IDX, UART_Instance::status, TARGET_ADDR, TARGET_ADDR_IDX, TARGET_ADDR_SIZE, TRAILER_SIZE, UART_Instance::txMsg, UART_STATUS_IDLE, UART_STATUS_TX_TRANSMITTING, and WRITE_CMD.
| void DMA_RX_init | ( | UART_Instance * | UART_handle | ) |
Initializes DMA to store the command in RX Buffer.
| [in] | UART_handle | Pointer to UART_Instance |
References DMA_RX_TRANSFER_SIZE, and UART_Instance::rxMsg.
Referenced by UART_checkForCommand(), and UART_init().