OP-BTS 设备脚本解释器编程指南


语法支持

支持 Python3 标准语法的子集。

模块API文档

OP-BTS 设备控制

class device

  • SetOutputMode:设置脚本显示输出设备
  • GetOutputMode:获取当前显示输出设备
  • TransparentModeOn:进入数据透明传输模式
  • TransparentModeOff:退出数据透明传输模式
  • IecAutoOn:IEC 自动波特率使能
  • IecAutoOff:IEC 自动波特率关闭
  • UartConfig:串口参数配置
  • UartSendByte:发送单个字节到串口
  • UartGetByte:从串口接收单个字节
  • UartSendString:发送字符串到串口
  • UartSendStringNoWait:发送字符串到串口(非阻塞)
  • LedSet:控制指定LED的开/关/切换
  • LedBlink:LED 闪烁
  • GetKeyStatus:读取按键当前值
  • CheckUnlock:检测解锁状态,启用安全时未解锁将弹出密码界面(固件 4.84+)
  • IsUnlocked:仅查询当前是否已解锁,不弹界面(固件 4.84+)
  • TmosSystemProcess:OPBT 系统处理函数
  • LcdClear:清除 LCD 屏幕
  • LcdTextColor:设置 LCD 文字显示颜色
  • LcdTextXY:设置 LCD 文本显示坐标
  • LcdPrint:在 LCD 屏幕上显示字符串
  • LcdFill:在指定矩形区域填充指定颜色

标准库

class MemChecker

MemChecker类提供内存管理功能。

  • max:打印最大内存占用值
  • now:打印当前内存占用值
  • getMax:返回最大内存占用
  • getNow:返回当前内存占用
  • resetMax:重置最大内存占用值

class SysObj

  • type:打印变量类型
  • remove:删除变量或对象
  • int:类型转换为整型
  • float:类型转换为浮点型
  • str:类型转换为字符串
  • print:输出打印

标准数据结构

class List

  • append:在列表末尾添加元素
  • getitem:按下标获取元素
  • setitem:按下标设置元素
  • len:获取列表长度

class Dict

  • getitem:通过key获取元素
  • setitem:通过key设置元素
  • remove:通过key移除元素

class ByteArray

标准多任务

标准多任务库提供异步多任务能力(任务循环)。

class Task

Task类提供任务循环功能,通过创建该类对象实现任务循环。

  • call_always:注册总是调用的函数
  • call_when:注册满足 fun_when() 为True时调用的函数
  • call_period_ms:注册定时周期调用的函数
  • run_once:运行所有已注册函数一次
  • run_forever:持续运行所有已注册函数
  • run_until_ms:运行所有注册函数直到时间到
  • platformGetTick:需用户重载以提供系统tick

调试器

调试模块支持断点调试。

class Debuger

  • set_trace

结构体

class struct

  • pack
  • unpack
  • unpack_from

时间

class time

  • sleep
  • sleep_s
  • sleep_ms
  • time
  • time_ns
  • gmtime
  • localtime
  • mktime
  • ctime
  • asctime
  • tick_ms

系统 OS

class os

  • mkdir
  • rmdir
  • chdir
  • listdir
  • getcwd
  • open
  • read
  • write
  • lseek
  • close
  • fstat
  • remove
  • rename

class fileStat

  • st_size

class path

  • join
  • split
  • splitext
  • basename
  • dirname
  • exists
  • isdir
  • isfile
  • isabs
  • abspath

JSON

class JSON

  • print
  • getObjectItem
  • getArrayItem
  • getArraySize
  • getType
  • getNext
  • getPrev
  • getChild
  • getValueString
  • getValueInt
  • getValueDouble
  • getString
  • getValue
  • isInvalid
  • isFalse
  • isTrue
  • isBool
  • isNull
  • isNumber
  • isString
  • isArray
  • isObject
  • isRaw
  • addItemToArray
  • addItemToObject
  • Parse

系统函数

  • int
  • bool
  • float
  • str
  • iter
  • range
  • print
  • setitem
  • getitem
  • type
  • isinstance
  • len
  • list
  • dict
  • tuple
  • hex
  • ord
  • chr
  • bytes
  • cformat
  • id
  • open
  • dir
  • exec
  • eval
  • getattr
  • setattr
  • hasattr
  • exit
  • input
  • abs
  • max
  • min
  • help
  • reboot
  • clear
  • gcdump

数学函数

  • ceil
  • fabs
  • floor
  • fmod
  • remainder
  • trunc
  • exp
  • log
  • log2
  • log10
  • pow
  • sqrt
  • acos
  • asin
  • atan
  • atan2
  • cos
  • sin
  • tan
  • degress
  • radianscosh
  • sinh
  • tanh