SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (MTB & µPython)
Loading...
Searching...
No Matches
tacp.h File Reference
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Data Structures

struct  tacp_ring_buf_t

Macros

#define TACP_MAGIC_0   0xAA
#define TACP_MAGIC_1   0x55
#define TACP_CMD_TERMINATE   0x01
#define TACP_CMD_PROGRAM_MODE   0x02
#define TACP_CMD_CONNECT   0x03
#define TACP_CMD_STATUS   0x04
#define TACP_CMD_VERSION_QUERY   0x05
#define TACP_CMD_HARD_RESET   0x06
#define TACP_CMD_FILE_XFER   0x20
#define TACP_CMD_BENTOCLAW   0x30
#define TACP_CLAW_READY   0x00
#define TACP_CLAW_EXEC   0x01
#define TACP_CLAW_ASK   0x02
#define TACP_CLAW_STATUS   0x03
#define TACP_CLAW_TOOLS   0x04
#define TACP_CLAW_HISTORY   0x05
#define TACP_CLAW_REMEMBER   0x06
#define TACP_CLAW_CLEAR   0x07
#define TACP_CLAW_CONNECT   0x08
#define TACP_CLAW_DISCONNECT   0x09
#define TACP_CLAW_ERROR   0xFF
#define TACP_CLAW_PAYLOAD_MAX   (3072)
#define TACP_FILE_PATH_MAX   127
#define TACP_FILE_SIZE_MAX   (512 * 1024)
#define TACP_FILE_CHUNK_SIZE   512
#define TACP_FILE_TIMEOUT_MS   5000
#define TACP_RING_BUF_SIZE   256

Functions

void tacp_init (void)
 รีเซ็ต state machine, ล้าง ring, ระบาย FIFO; ครั้งเดียวต่อหนึ่ง soft reset
void tacp_request_delete_main_from_isr (void)
 ทางออกฉุกเฉินที่เรียกจาก ISR ได้: หยุดสคริปต์, สั่ง soft reset, ลบ /main.py
bool tacp_poll_uart (void)
 pump UART; ต้องเรียกจากลูปรอแบบบล็อกทุกลูป
int tacp_ring_buf_read (void)
 ดึงไบต์ของ REPL ออกมาหนึ่งไบต์ หรือคืน -1 เมื่อว่าง ไม่มีผู้เรียกที่มีอยู่จริงในของที่ส่งมอบ
bool tacp_ring_buf_readable (void)
 การทดสอบแบบไม่บล็อกว่ามีข้อมูลพร้อมหรือไม่ ไม่มีผู้เรียกที่มีอยู่จริงในของที่ส่งมอบ
void tacp_claw_respond (uint8_t sub_cmd, const char *payload, uint16_t payload_len)
 ส่งเฟรมคำตอบไบนารีของ BentoClaw หนึ่งเฟรมออกทาง UART

Macro Definition Documentation

◆ TACP_MAGIC_0

#define TACP_MAGIC_0   0xAA

◆ TACP_MAGIC_1

#define TACP_MAGIC_1   0x55

◆ TACP_CMD_TERMINATE

#define TACP_CMD_TERMINATE   0x01

◆ TACP_CMD_PROGRAM_MODE

#define TACP_CMD_PROGRAM_MODE   0x02

◆ TACP_CMD_CONNECT

#define TACP_CMD_CONNECT   0x03

◆ TACP_CMD_STATUS

#define TACP_CMD_STATUS   0x04

◆ TACP_CMD_VERSION_QUERY

#define TACP_CMD_VERSION_QUERY   0x05

◆ TACP_CMD_HARD_RESET

#define TACP_CMD_HARD_RESET   0x06

◆ TACP_CMD_FILE_XFER

#define TACP_CMD_FILE_XFER   0x20

◆ TACP_CMD_BENTOCLAW

#define TACP_CMD_BENTOCLAW   0x30

◆ TACP_CLAW_READY

#define TACP_CLAW_READY   0x00

◆ TACP_CLAW_EXEC

#define TACP_CLAW_EXEC   0x01

◆ TACP_CLAW_ASK

#define TACP_CLAW_ASK   0x02

◆ TACP_CLAW_STATUS

#define TACP_CLAW_STATUS   0x03

◆ TACP_CLAW_TOOLS

#define TACP_CLAW_TOOLS   0x04

◆ TACP_CLAW_HISTORY

#define TACP_CLAW_HISTORY   0x05

◆ TACP_CLAW_REMEMBER

#define TACP_CLAW_REMEMBER   0x06

◆ TACP_CLAW_CLEAR

#define TACP_CLAW_CLEAR   0x07

◆ TACP_CLAW_CONNECT

#define TACP_CLAW_CONNECT   0x08

◆ TACP_CLAW_DISCONNECT

#define TACP_CLAW_DISCONNECT   0x09

◆ TACP_CLAW_ERROR

#define TACP_CLAW_ERROR   0xFF

◆ TACP_CLAW_PAYLOAD_MAX

#define TACP_CLAW_PAYLOAD_MAX   (3072)

◆ TACP_FILE_PATH_MAX

#define TACP_FILE_PATH_MAX   127

◆ TACP_FILE_SIZE_MAX

#define TACP_FILE_SIZE_MAX   (512 * 1024)

◆ TACP_FILE_CHUNK_SIZE

#define TACP_FILE_CHUNK_SIZE   512

◆ TACP_FILE_TIMEOUT_MS

#define TACP_FILE_TIMEOUT_MS   5000

◆ TACP_RING_BUF_SIZE

#define TACP_RING_BUF_SIZE   256