misc
====

.. _misc-1:

misc
----

模块功能:配置管理-序列号、IMEI、底层软件版本号、时钟、是否校准、飞行模式、查询电池电量等功能

misc.setClock(t, cbFnc)
~~~~~~~~~~~~~~~~~~~~~~~

设置系统时间

-  参数

+-----------------------------------+-----------------------------------+
| 传入值类型                        | 释义                              |
+===================================+===================================+
| table                             | t,系                              |
|                                   | 统时间,格式参考:{year=2017,mon  |
|                                   | th=2,day=14,hour=14,min=2,sec=58} |
+-----------------------------------+-----------------------------------+
| function                          | **可选参                          |
|                                   | 数,默认为\ ``nil``**\ ,cbFnc,  |
|                                   | 设置结果回调函数,回调函数的调用  |
|                                   | 形式为:cnFnc(time,result),res  |
|                                   | ult为true表示成功,false或者nil为 |
|                                   | 失败;time表示设置之后的系统时间  |
|                                   | ,table类型,例如{year=2017,mont  |
|                                   | h=2,day=14,hour=14,min=19,sec=23} |
+-----------------------------------+-----------------------------------+

-  返回值

nil

-  例子

.. code:: lua

   misc.setClock({year=2017,month=2,day=14,hour=14,min=2,sec=58})

--------------

misc.getClock()
~~~~~~~~~~~~~~~

获取系统时间

-  参数

无

-  返回值

table time,{year=2017,month=2,day=14,hour=14,min=19,sec=23}

-  例子

.. code:: lua

   time = getClock()

--------------

misc.getWeek()
~~~~~~~~~~~~~~

获取星期

-  参数

无

-  返回值

number week,1-7分别对应周一到周日

-  例子

.. code:: lua

   week = misc.getWeek()

--------------

misc.getCalib()
~~~~~~~~~~~~~~~

获取校准标志

-  参数

无

-  返回值

bool calib, true表示已校准,false或者nil表示未校准

-  例子

.. code:: lua

   calib = misc.getCalib()

--------------

misc.setSn(s, cbFnc)
~~~~~~~~~~~~~~~~~~~~

设置SN

-  参数

+-----------------------------------+-----------------------------------+
| 传入值类型                        | 释义                              |
+===================================+===================================+
| string                            | s,新sn的字符串                    |
+-----------------------------------+-----------------------------------+
| function                          | **可                              |
|                                   | 选参数,默认为\ ``nil``**\ ,cbF  |
|                                   | nc,设置结果回调函数,回调函数的调 |
|                                   | 用形式为:cnFnc(result),result为 |
|                                   | true表示成功,false或者nil为失败  |
+-----------------------------------+-----------------------------------+

-  返回值

nil

-  例子

.. code:: lua

   misc.setSn("1234567890")
   misc.setSn("1234567890",cbFnc)

--------------

misc.getSn()
~~~~~~~~~~~~

获取模块序列号

-  参数

无

-  返回值

string
sn,序列号,如果未获取到返回"“注意:开机lua脚本运行之后,会发送at命令去查询sn,所以需要一定时间才能获取到sn。开机后立即调用此接口,基本上返回”"

-  例子

.. code:: lua

   sn = misc.getSn()

--------------

misc.setImei(s, cbFnc)
~~~~~~~~~~~~~~~~~~~~~~

设置IMEI

-  参数

+-----------------------------------+-----------------------------------+
| 传入值类型                        | 释义                              |
+===================================+===================================+
| string                            | s,新IMEI字符串                    |
+-----------------------------------+-----------------------------------+
| function                          | **可                              |
|                                   | 选参数,默认为\ ``nil``**\ ,cbF  |
|                                   | nc,设置结果回调函数,回调函数的调 |
|                                   | 用形式为:cnFnc(result),result为 |
|                                   | true表示成功,false或者nil为失败  |
+-----------------------------------+-----------------------------------+

-  返回值

nil

-  例子

.. code:: lua

   misc.setImei(”359759002514931”)

--------------

misc.getImei()
~~~~~~~~~~~~~~

获取模块IMEI

-  参数

无

-  返回值

string,IMEI号,如果未获取到返回"“注意:开机lua脚本运行之后,会发送at命令去查询imei,所以需要一定时间才能获取到imei。开机后立即调用此接口,基本上返回”"

-  例子

.. code:: lua

   imei = misc.getImei()

--------------

misc.getVbatt()
~~~~~~~~~~~~~~~

获取VBAT的电池电压

-  参数

无

-  返回值

number,电池电压,单位mv

-  例子

.. code:: lua

   vb = getVbatt()

--------------

misc.getVbus()
~~~~~~~~~~~~~~

获取VBUS连接状态

-  参数

无

-  返回值

boolean,true表示VBUS连接,false表示未连接

-  例子

.. code:: lua

   vbus = getVbus()

--------------

misc.getMuid()
~~~~~~~~~~~~~~

获取模块MUID

-  参数

无

-  返回值

string,MUID号,如果未获取到返回"“注意:开机lua脚本运行之后,会发送at命令去查询muid,所以需要一定时间才能获取到muid。开机后立即调用此接口,基本上返回”"

-  例子

.. code:: lua

   muid = misc.getMuid()

--------------

misc.openPwm(id, para1, para2)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

打开并且配置PWM(支持2路PWM,仅支持输出)

-  参数

+-----------------------------------+-----------------------------------+
| 传入值类型                        | 释义                              |
+===================================+===================================+
| number                            | id,PWM输出通道,仅支持0和10使    |
|                                   | 用MODULE_STATUS/GPIO_5引脚1使用GP |
|                                   | IO_13引脚,注意:上电的时候不要把 |
|                                   | GPIO_13                           |
|                                   | 拉高到V_GLOBAL_1V8,否            |
|                                   | 则模块会进入校准模式,不正常开机  |
+-----------------------------------+-----------------------------------+
| number                            | para1,当id为0时                  |
|                                   | ,para1表示分频系数,最大值为102  |
|                                   | 4;分频系数和频率的换算关系为:频 |
|                                   | 率=25000000/para1;例如para1为500 |
|                                   | 时,频率为50000Hz当id为1时,para1 |
|                                   | 表示时钟周期,取值范围为0-7,仅支 |
|                                   | 持整数0-7分别对应125、250、500、  |
|                                   | 1000、1500、2000、2500、3000毫秒  |
+-----------------------------------+-----------------------------------+
| number                            | para2,当id为0                    |
|                                   | 时,para2表示占空比计算系数,最大 |
|                                   | 值为512;占空比计算系数和占空比的 |
|                                   | 计算关系为:占空比=para2/para1当  |
|                                   | id为1时,para2表示一个时钟周期内  |
|                                   | 的高电平时间,取值范围为1-15,仅  |
|                                   | 支持整数1-15分别对应15.6、31.2、  |
|                                   | 46.8、62、78、94、110、125、140、 |
|                                   | 156、172、188、200、218、234毫秒  |
+-----------------------------------+-----------------------------------+

-  返回值

nil

-  例子

.. code:: lua

   -- 通道0,频率为50000Hz,占空比为0.2:
   -- 频率为50000Hz,表示时钟周期为1/50000=0.00002秒=0.02毫秒=20微秒
   -- 占空比表示在一个时钟周期内,高电平的时长/时钟周期的时长,本例子中的0.2就表示,高电平时长为4微秒,低电平时长为16微秒
   misc.openPwm(0,500,100)
   -- 通道1,时钟周期为500ms,高电平时间为125毫秒:
   misc.openPwm(1,2,8)

--------------

misc.closePwm(id)
~~~~~~~~~~~~~~~~~

关闭PWM

-  参数

+-----------------------------------+-----------------------------------+
| 传入值类型                        | 释义                              |
+===================================+===================================+
| number                            | id,PWM输出通道,仅支持0和10使    |
|                                   | 用MODULE_STATUS/GPIO_5引脚1使用GP |
|                                   | IO_13引脚,注意:上电的时候不要把 |
|                                   | GPIO_13                           |
|                                   | 拉高到V_GLOBAL_1V8,否            |
|                                   | 则模块会进入校准模式,不正常开机  |
+-----------------------------------+-----------------------------------+

-  返回值

nil

-  例子

无

--------------