指令管理 / 请求脚本 / 内置函数

内置函数通过 bittly 对象进行调用,例如 bittly.echo("hello")

Echo | echo()

<string> bittly.echo(content)

原样返回参数 content 的内容。

参数:

  • content : [string] 用于返回的字符串

返回值:[string] 返回内容为参数 content 的内容。

示例:

let val = bittly.echo('hello');
// val = "hello"

获取时间戳 | timestamp()

<integer> bittly.timestamp()

获取当前时间戳

返回值:[integer] 调用该方法时的时间戳。

示例:

let val = bittly.timestamp();
// val = 1657028243

随机数 | random()

<integer> bittly.random(min, max)

获取在 min 和 max 之间的一个随机数。

参数:

  • min :[integer] 最小值
  • max : [integer] 最大值

返回值:[integer] 返回在 min 和 max 之间的一个随机数。

示例:

let val = bittly.random(100, 999);
// val = 123

字节累加和 | bytesSum()

<integer> bittly.bytesSum(... values)

计算给定变量字节和

参数:

  • values : 参与计算的数据对象列表。

返回:[integer] values 所有元素计算后的结果。

示例:

let val = bittly.bytesSum(
    bittly.uint8('FF'),
    bittly.string('0123456789'),
    bittly.int8(123)
);
// val = 903

// 当参数为表单时,可直接获取计算量
let val2 = bittly.bytesSum(
    $this.parameterFormItemGetByName('指令ID'),
    $this.parameterFormItemGetByName('参数数量')
);

CRC 校验 | crc*()

<integer> bittly.crc*( ... values )

计算给定数据的CRC值,crc 校验函数有多个名称,不同的crc函数完成不同的计算方式。

支持的计算函数:crc32 , crc16modbus , crc16ccitt, crc1, crc8, crc81wire, crc16 , crc16kermit, crc16xmodem, crc24, crcjam

参数:

  • values :参与CRC校验计算的变量列表。

返回:CRC 计算后的数值。

示例:

// 当参数为表单时,可直接获取计算量, 假设 指令ID 为十六进制 AA,参数数量 为十六进制 01
let val2 = bittly.crc32(
    $this.parameterFormItemGetByName('指令ID'),
    $this.parameterFormItemGetByName('参数数量')
);
// val2 = 1647736330 
// val2 = 6236760A // in hex

let val = bittly.crc16modbus("1234567890");
// val = 0xC20A 十六进制
// val = 49674 十进制

格式化时间 | date()

<string> bittly.date(format, date=null)

根据给定的格式字符串格式化时间,并返回格式化之后的字符串

参数:

  • format : [string] 输出时间格式,例如:%Y-%m-%d
  • date : [Date] [可选] 用于格式化的时间,默认为当前时间

返回:格式化后的时间字符串

支持的格式化操作符:

  • %d : 带有前缀0的日期,例如: 01
  • %j : 无前缀0的日期,例如: 1
  • %m : 带有前缀0的月份,例如:06
  • %n:无前缀0的月份,例如:6
  • %Y :4位的年份,例如:2022
  • %y :两位的年份,例如:22
  • %H :带有前缀0的小时,例如:02
  • %G :不带前缀0的小时,例如:2
  • %i :带有前缀0的分钟,例如:03
  • %s :带有前缀0的秒数,例如:03
  • %v :带有前缀0的毫秒数,例如:001

示例:

// 指定时间
let date = new Date('2023-01-03 03:04:05.678');
let dateString = bittly.date('%Y-%m-%d %H:%i:%s', date);
// dateString = '2023-01-03 03:04:05'

// 当前时间
let dateString = bittly.date('%Y-%m-%d %H:%i:%s');
// dateString = '2023-01-03 03:04:05'

创建数据 | {datetype}()

<object> bittly.{datetype}(value)

<object> bittly.{datetype}(value, format)

<object> bittly.{datetype}(value, length)

创建指定数据类型变量用于参与其他函数操作。

支持的数据类型列表:

<object> bittly.uint8(<string|integer> value [, format=bittly.HEX])

<object> bittly.int8(<string|integer> value)

<object> bittly.char(<string> value)

<object> bittly.uchar(<string> value)

<object> bittly.uint16(<string|integer> value [, format=bittly.HEX)

<object> bittly.int16(<string|integer> value)

<object> bittly.uint32(<string|integer> value [, format=bittly.HEX)

<object> bittly.int32(<string|integer> value)

<object> bittly.uint64(<string|integer> value [, format=bittly.HEX)

<object> bittly.int64(<string|integer> value)

<object> bittly.float(<string|float> value)

<object> bittly.double(<string|double> value)

<object> bittly.string(value [, length=null])

<object> bittly.bytes(<string> value [, length=null] )

<object> bittly.bits(<string> value[, length=null] )

示例:

let val = bittly.uint8(255);
let val = bittly.uint8('255');
let val = bittly.uint8('FF', bittly.HEX);

let val = bittly.float(3.14);
let val = bittly.float('3.14');

let val = bittly.string("hello")
let val = bittly.bytes("AA 01 FF");
let val = bittly.bits("011000011")

数据长度计算 | lengthSum()

<integer> bittly.lengthSum(... items)

计算给定条目和数值的长度总和。 当参数为数值时,该参数直接作为长度数值参与计算。

参数:

  • ... items :[Object|Integer] 参与计算的条目列表

返回值:[integer] 返回参数计算条目长度总和

示例:

let len = bittly.lengthSum(
  1,
  $this.parameter.itemGetByIndex(1), // byte
  $this.parameter.itemGetByIndex(2), // unsigned short int
);
// len = 3
    Bittly
    Bittly
    不止是一个串口调试助手 (~ ̄▽ ̄)~
    微信 sigech--
    微信 sigech--
    应用信息
    使用说明
    © 2024 苏ICP备20029453号-1