public class NorcoAPI
extends java.lang.Object
NorcoAPI使用方法:
1、在Application的onCreate中创建NorcoAPI实例
mNorcoAPI = NorcoAPI.norcoAPICreate(this);
2、在Activity或Fragment中使用API步驟:
private NorcoAPI mNorcoAPI = APIApplication.getApplication().getNorcoAPI();
onCreate中mNorcoAPI.norcoAPIRegister();
onDestroy中mNorcoAPI.norcoAPIUnregister();
NorcoAPI接口说明:
1、以hwctrl开头的是外围硬件控制类接口api
2、以sysctrl开头的是系统控制类接口api
3、以hwinfo开头的是硬件及系统信息查询类api
4、以dispctrl开头的是显示控制类接口api
5、以netctrl开头的是网络控制类接口api
6、以logctrl开头的是日志收集控制类接口api
7、以afcctrl开头的是AFC-92601锁控板接口api
限定符和类型 | 方法和说明 |
---|---|
void |
afcctrl_uart485Close()
关闭AFC-92601所通信的485串口
在操作完AFC相关的接口后关闭
|
boolean |
afcctrl_uart485Init(java.lang.String node,
int[] addr)
初始化AFC-92601所通信的485串口,并对锁控板进行匹配校验
包括打开串口,设置串口波特率,数据位,停止位和效验位等
|
boolean |
afcctrl_uart485OpenDoor(int addr,
int doorNumber)
打开指定锁控板的指定格门
锁控板主板地址,不同锁控板请设置不同地址,根据拨码开关位置设定
|
int |
afcctrl_uart485ReadDoor(int addr,
int doorNumber)
读取指定锁控板的指定格门的状态
锁控板主板地址,不同锁控板请设置不同地址,根据拨码开关位置设定
|
java.lang.Boolean |
dispctrl_getNavigationbar()
获取底部导航栏显示和隐藏的状态
当前底部导航栏显示与否
|
java.lang.String |
dispctrl_getResolution()
获取显示分辨率
显示分辨率,形如:1920x1080
|
int |
dispctrl_getRotation(boolean getPrimary)
获取屏幕旋转方向
屏幕方向主要有0度,90度,180度,270度
|
int |
dispctrl_getScreenBrightness()
获取当前屏幕亮度值
亮度范围默认是10到255,可调用dispctrl_setMaxScreenBrightness设置最大可调的亮度值
|
int |
dispctrl_getScreenMode()
获取当前屏幕亮度的调节模式
两种调节模式,手动调节,自动调节
|
java.lang.Boolean |
dispctrl_getStatusbar()
获取顶部状态栏显示和隐藏的状态
当前顶部状态栏显示与否
|
void |
dispctrl_setMaxScreenBrightness(int maxBrightness)
设置最大亮度
最大亮度范围要小于255
|
void |
dispctrl_setNavigationbar(java.lang.Boolean enable)
设置底部导航栏的显示和隐藏
实时控制底部导航栏的显示与否
|
void |
dispctrl_setRotation(boolean setPrimary,
int rotationDegree)
设置屏幕旋转方向
屏幕方向主要有0度,90度,180度,270度
|
void |
dispctrl_setScreenBrightness(int paramInt)
设置屏幕亮度
亮度范围默认是10到255,可调用dispctrl_setMaxScreenBrightness设置最大可调的亮度值
|
void |
dispctrl_setScreenMode(int paramInt)
设置屏幕亮度的调节模式
两种调节模式,手动调节,自动调节
|
void |
dispctrl_setStatusbar(java.lang.Boolean enable)
设置顶部状态栏的显示和隐藏
实时控制顶部状态栏的显示与否
|
void |
hwctrl_canClose(java.lang.String canNode)
关闭can收发数据(如can0、can1)
关闭打开can设备
|
boolean |
hwctrl_canOpen(java.lang.String canNode,
int baudrate)
打开can用于收发数据(如can0、can1)
打开成功后就处于接收数据状态
|
boolean |
hwctrl_canOpen(java.lang.String canNode,
int baudrate,
int dbitrate)
打开canfd用于收发数据(如can0、can1)
打开成功后就处于接收数据状态
|
CanResponseBean |
hwctrl_canReceive()
读取can设备数据,此处没有带can节点,是因为hwctrl_canOpen时已经指定了
与hwctrl_canOpen时对应,会读取hwctrl_canOpen的节点
|
boolean |
hwctrl_canSend(long canid,
byte[] data)
写入can设备数据,此处没有带can节点,是因为hwctrl_canOpen时已经指定了
与hwctrl_canOpen时对应,会写到canOpen的节点
|
boolean |
hwctrl_gpioDirection(int gpioNumber,
java.lang.String direction)
设置GPIO的方向(输入输出),对指定的gpio号进行设置
in/out对应输入/输出
|
boolean |
hwctrl_gpioExport(int gpioNumber)
导出控制的GPIO引脚,对指定的gpio号进行导出
执行export操作
|
java.lang.String |
hwctrl_gpioGetEdge(int gpioNumber)
获取GPIO的中断的触发方式,对指定的gpio号进行获取
引脚首先被配置为输入引脚
|
int |
hwctrl_gpioRead(int gpioNumber)
读取GPIO的输出电平值,对指定的gpio号进行读取
读取的电平值,0表示LOW, 1表示HIGH
|
boolean |
hwctrl_gpioSetEdge(int gpioNumber,
java.lang.String edge)
设置GPIO的中断的触发方式,对指定的gpio号进行设置
引脚首先被配置为输入引脚
|
boolean |
hwctrl_gpioStartInterrupt(int gpioNumber,
int timeout,
NorcoNative.IGpioEventsCallback callback)
开始接收GPIO的中断,对指定的gpio号进行获取
引脚首先被配置为输入引脚,再设置GPIO的中断的触发方式
|
void |
hwctrl_gpioStopInterrupt(int gpioNumber)
停止接收GPIO的中断,对指定的gpio号进行停止
停止后不再有中断回调
|
boolean |
hwctrl_gpioUnExport(int gpioNumber)
取消导出控制的GPIO引脚,对指定的gpio号进行取消导出
执行unexport操作
|
boolean |
hwctrl_gpioWrite(int gpioNumber,
int value)
设置GPIO的输出电平,对指定的gpio号进行设置
输出电平参数,0表示LOW, 1表示HIGH
|
void |
hwctrl_i2cClose()
关闭i2c外设,对应之前打开的i2c设备
数据收发后关闭,内部保存了文件描述符,所以此接口无任何参数
|
boolean |
hwctrl_i2cOpen(java.lang.String i2cNode)
打开i2c外设,如打开/dev/i2c-0
收发数据之前先打开
|
byte[] |
hwctrl_i2cRead(int addr,
int reg,
int len)
读取i2c从设备寄存器数据,对应之前打开的i2c设备
读取slave addr的reg addr数据
|
int |
hwctrl_i2cWrite(int addr,
int reg,
byte[] data)
对i2c从设备寄存器写数据,对应之前打开的i2c设备
写到slave addr的reg addr
|
void |
hwctrl_spiClose()
关闭spi外设,对应之前打开的spi设备
数据收发后关闭,内部保存了文件描述符,所以此接口无任何参数
|
boolean |
hwctrl_spiOpen(java.lang.String spiNode,
int mode,
int bits,
int speed)
打开spi外设,如打开/dev/spidev1.0
收发数据之前先打开
|
byte[] |
hwctrl_spiRead(int len)
半双工模式读取spi设备数据,对应之前打开的spi设备
此接口带有参数,要读取的字节数
|
byte[] |
hwctrl_spiTransfer(byte[] tx_buf,
int len,
int bits,
int speed,
int delay)
全双工模式写入spi设备数据,之后自动读取返回的数据,对应之前打开的spi设备
通过实际写入的字节数判断是否成功写入
|
int |
hwctrl_spiWrite(byte[] data)
半双工模式写入spi设备数据,对应之前打开的spi设备
通过实际写入的字节数判断是否成功写入
|
java.util.List<java.lang.String> |
hwctrl_uartAvailableDevices()
获取uart可用的设备节点
当前系统提供出来的串口操作节点
|
void |
hwctrl_uartClose(java.lang.String uartNode)
关闭uart设备,如/dev/ttyS0
在关闭前请先调用hwctrl_uartReceiveStop()接口,停止接收数据
|
boolean |
hwctrl_uartOpen(java.lang.String uartNode,
int baudrate,
int flow_ctrl,
int databits,
int stopbits,
int parity,
int vtime,
int vmin)
打开uart设备2-高级模式,如/dev/ttyS0
打开节点用于串口收发数据操作
|
boolean |
hwctrl_uartOpened(java.lang.String uartNode)
uart设备是否已经打开,如/dev/ttyS0
可以用于获取状态
|
void |
hwctrl_uartReceive(java.lang.String uartNode,
UartReceiveDataCallback callback)
接收串口数据,如从/dev/ttyS0接收数据
操作节点与hwctrl_uartOpen时的对应
|
void |
hwctrl_uartReceiveDelayMillis(java.lang.String uartNode,
int delayMillis)
接收数据延时,如对/dev/ttyS0接收数据作延时,延时时间到后才有数据回调
此接口的作用为,延时多久去接收一次数据,以便一次接收更多的数据
|
void |
hwctrl_uartReceiveStop(java.lang.String uartNode)
停止接收数据,调用后,不在有数据回调
停止接收后,可以再次调用hwctrl_uartReceive接收数据
|
void |
hwctrl_uartSend(java.lang.String uartNode,
byte[] buffer)
发送串口数据,如向/dev/ttyS0发送数据
发送数据前先做打开操作,操作节点与hwctrl_uartOpen时的对应
|
java.lang.String |
hwinfo_getAndroidVersion()
获取Android系统版本信息
如 4.4.2 6.0.1 7.0.1
|
long |
hwinfo_getAvailMem()
获取可用内存容量
单位是KB
|
java.lang.String |
hwinfo_getBuildNumber()
获取系统版本号信息
编译日期,系统版本号等
|
int |
hwinfo_getCpuCores()
获取cpu核心数
以数字形式返回
|
int |
hwinfo_getCPUCurFreqKHz()
获取cpu当前运行主频
单位是KHz
|
int |
hwinfo_getCPUMaxFreqKHz()
获取cpu最大主频
单位是KHz
|
int |
hwinfo_getCPUMinFreqKHz()
获取cpu最小主频
单位是KHz
|
int |
hwinfo_getCPUTemp()
获取cpu温度
单位是℃
|
java.lang.String |
hwinfo_getDeviceModel()
获取设备型号信息
如:NORCO-KK-General-API
|
java.lang.String |
hwinfo_getKernelVersion()
获取内核版本信息
内核版本,GCC版本,内核编译时间等
|
java.lang.String |
hwinfo_getSdStoragePath()
获取SD卡路径
在当前平台挂载的路径
|
java.lang.String |
hwinfo_getSerialNum()
获取设备SN号
当前设备SN号
|
long |
hwinfo_getStorageAvailableSize()
获取本机可用存储容量
单位是KB
|
long |
hwinfo_getStorageTotalSize()
获取本机存储容量(不包括系统分区)
单位是KB
|
long |
hwinfo_getTotalMem()
获取内存总容量
单位是KB
|
java.lang.String |
hwinfo_getUsbStoragePath()
获取U盘路径
在当前平台挂载的路径
|
void |
logctrl_setControlCmd(java.lang.String cmd,
LogMakeTarCallback callback)
控制日志收集与上报命令
日志文件保存大小命令,将最新的日志记录打为一个tar.gz包,开始上传日志tar.gz包
|
boolean |
netctrl_closeNetWork(int type,
java.lang.String iface)
关闭网络
用于闭关Wifi、Eth以太网
|
int |
netctrl_getCurrentNetworkType()
获取当前的网络类型
用于获取当前连接网络的类型:无网络、Wifi、Eth以太网、4G移动网络
|
java.lang.String |
netctrl_getEthMacAddress()
获取eth0的mac地址
获取eth0以太网的mac地址
|
java.lang.String |
netctrl_getIMEIInfo()
获取国际移动设备身份码
需要插入相应的4G模块才能获取到
|
java.lang.String |
netctrl_getMobilePhoneNumber()
获取sim卡号码
当有插入sim卡,可以获取到sim卡号码
|
java.lang.String |
netctrl_getWifiMacAddress()
获取wlan0的mac地址
获取mac地址时,需要先开启wlan0
|
boolean |
netctrl_openNetWork(int type,
java.lang.String iface)
打开网络
用于打开Wifi、Eth以太网
|
void |
netctrl_setAirplaneMode(boolean on)
飞行模式开/关
开关飞行模式
|
boolean |
netctrl_setEthNetworkMode(int mode,
java.lang.String iface,
java.lang.String ip,
java.lang.String mask,
java.lang.String gateway,
java.lang.String dns1,
java.lang.String dns2)
设置以太网络连接模式
设置当前以太网的连接模式:DHCP、静态IP
|
static NorcoAPI |
norcoAPICreate(Context context)
NorcoAPI实例创建,静态内部类单例模式,APIApplication中创建,全局生命周期只一个。
|
int |
norcoAPILastErrorCode()
获取最后一次API执行的错误码
第一位为1,表示HWInformation类错误。
|
java.lang.String |
norcoAPILastErrorString()
获取最后一次API执行的错误描述
每个ErrorCode都会有一个对应的错误描述,用于更加明确的指出当前错误
|
void |
norcoAPIRegister()
API回调注册
用于某些接口的回调注册,如:静默安装结果回调,静默卸载结果回调,固件下载回调,uart数据回调等
如在onCreate中調用mNorcoAPI.norcoAPIRegister();
|
void |
norcoAPIUnregister()
API取消回调
在页面销毁时取消接口的回调注册,防止内存泄漏
如在onDestroy中调用mNorcoAPI.norcoAPIUnregister();
|
java.lang.String |
norcoAPIVersion()
获取NorcoAPI版本号
用于出问题时定位发布的版本
|
void |
sysctrl_bootanimationDownload(java.lang.String downUrl,
DownloadAnimationCallback callback)
下载开机动画
此接口会下载到系统/data/local/下,重启后即执行新的开机动画
调用此接口后,需要等待下载进度、成功与否的结果DownloadAnimationCallback回调
|
void |
sysctrl_factoryReset()
恢复出厂设置
清空所有用户的数据,恢复到出厂前的状态
|
java.lang.String |
sysctrl_getAlarmPowerOffTime()
获取定时关机时间,为-1:-1时表示没有开启
返回设置的定时关机时间
|
java.lang.String |
sysctrl_getAlarmPowerOnTime()
获取定时开机时间,为-1:-1时表示没有开启
返回设置的定时开机时间
|
void |
sysctrl_poweroff()
系统关机
此接口为立即关机,另外还有定时关机的接口
|
java.lang.String |
sysctrl_readMAC()
获取RK平台设备MAC地址
当前RK平台设备MAC地址
|
java.lang.String |
sysctrl_readSN()
获取RK平台设备SN号
当前RK平台设备SN号
|
void |
sysctrl_reboot()
重启系统
此接口为立即重启,另外还有定时开机的接口
|
boolean |
sysctrl_setAlarmPowerOffTime(int hourOfDay,
int minute)
设置定时关机时间
参数hourOfDay minute同时设置-1时取消定时关机
默认每天不重复,当次生效,手动或意外重启也会失效,需app在开机后再次调用接口(每天重复也是开机后再次调用)
|
boolean |
sysctrl_setAlarmPowerOnTime(int hourOfDay,
int minute)
设置定时开机时间
参数hourOfDay minute同时设置-1时取消定时开机
默认每天不重复,当次生效,手动或意外重启也会失效,需app在开机后再次调用接口(每天重复也是开机后再次调用)
|
void |
sysctrl_setTime(long millis,
SetTimeCallback callback)
设置系统时间
调用此接口后,需要等待设置时间结果SetTimeCallback回调
|
void |
sysctrl_silenceInstall(java.lang.String apkPath,
InstallCallback callback)
静默安装指定的apk
调用此接口后,需要等待安装结果InstallCallback回调
|
void |
sysctrl_silenceUninstall(java.lang.String pkgName,
UnInstallCallback callback)
静默卸载指定的apk
调用此接口后,需要等待卸載结果UnInstallCallback回调
|
void |
sysctrl_upgradeCheck(java.lang.String upgradeUrl,
CheckUpgradeCallback callback)
检测系统是否有更新
调用此接口后,需要等待检测更新结果CheckUpgradeCallback回调
|
void |
sysctrl_upgradeDownload(java.lang.String downUrl,
DownloadUpgradeCallback callback)
下载系统更新
此接口需在sysctrl_upgradeCheck()后调用,由它返回update.zip包的下载路径
调用此接口后,需要等待下载进度、成功与否的结果DownloadUpgradeCallback回调
|
void |
sysctrl_upgradeDownloadCancel()
取消下载更新
此接口为中断sysctrl_upgradeDownload的过程,并且会收到onCancel的回调,取消成功
|
void |
sysctrl_upgradeInstall(java.lang.String zipPath)
重启系统安装系统更新
此接口需要在sysctrl_upgradeDownload的onSuccess回调后调用
onSuccess(String saveZipPath)有返回下载成功后zip包的本机存储路径
|
int |
sysctrl_writeMAC(java.lang.String mac)
写入RK平台设备MAC地址
需要写入RK平台设备MAC地址
|
int |
sysctrl_writeSN(java.lang.String sn)
写入RK平台设备SN号
需要写入RK平台设备SN号
|
int |
sysctrl_writeURLMAC()
写入RK平台设备MAC地址,会自动联网获取mac地址后写入
联网获取mac地址后写入
|
public static NorcoAPI norcoAPICreate(Context context)
第一次加载NorcoAPI类时并不会初始化sInstance,只有第一次调用norcoAPICreate方法时虚拟机加载SingletonHolder并初始化sInstance。
这样不仅能确保线程安全也能保证Singleton类的唯一性。在《Java并发编程实践》一书建议用静态内部类单例模式来替代DCL
context
- Application Contextpublic void norcoAPIRegister()
用于某些接口的回调注册,如:静默安装结果回调,静默卸载结果回调,固件下载回调,uart数据回调等
如在onCreate中調用mNorcoAPI.norcoAPIRegister();
public void norcoAPIUnregister()
在页面销毁时取消接口的回调注册,防止内存泄漏
如在onDestroy中调用mNorcoAPI.norcoAPIUnregister();
public java.lang.String norcoAPIVersion()
用于出问题时定位发布的版本
public int norcoAPILastErrorCode()
第一位为1,表示HWInformation类错误。
第一位为2,表示HWControl类错误。
第一位为3,表示SystemControl类错误。
第一位为4,表示NetworkControl类错误。
第一位为5,表示DisplayControl类错误。
第一位为6,表示LoggerControl类错误。
public java.lang.String norcoAPILastErrorString()
每个ErrorCode都会有一个对应的错误描述,用于更加明确的指出当前错误
public java.lang.String hwinfo_getAndroidVersion()
如 4.4.2 6.0.1 7.0.1
public java.lang.String hwinfo_getDeviceModel()
如:NORCO-KK-General-API
public java.lang.String hwinfo_getKernelVersion()
内核版本,GCC版本,内核编译时间等
public java.lang.String hwinfo_getBuildNumber()
编译日期,系统版本号等
public int hwinfo_getCpuCores()
以数字形式返回
public int hwinfo_getCPUMaxFreqKHz()
单位是KHz
public int hwinfo_getCPUMinFreqKHz()
单位是KHz
public int hwinfo_getCPUCurFreqKHz()
单位是KHz
public int hwinfo_getCPUTemp()
单位是℃
public long hwinfo_getTotalMem()
单位是KB
public long hwinfo_getAvailMem()
单位是KB
public long hwinfo_getStorageTotalSize()
单位是KB
public long hwinfo_getStorageAvailableSize()
单位是KB
public java.lang.String hwinfo_getUsbStoragePath()
在当前平台挂载的路径
public java.lang.String hwinfo_getSdStoragePath()
在当前平台挂载的路径
public java.lang.String hwinfo_getSerialNum()
当前设备SN号
public void sysctrl_poweroff()
此接口为立即关机,另外还有定时关机的接口
public void sysctrl_reboot()
此接口为立即重启,另外还有定时开机的接口
public java.lang.String sysctrl_readSN()
当前RK平台设备SN号
public int sysctrl_writeSN(java.lang.String sn)
需要写入RK平台设备SN号
sn
- 需要写入RK平台设备SN号public java.lang.String sysctrl_readMAC()
当前RK平台设备MAC地址
public int sysctrl_writeMAC(java.lang.String mac)
需要写入RK平台设备MAC地址
mac
- 需要写入RK平台设备MAC地址public int sysctrl_writeURLMAC()
联网获取mac地址后写入
public void sysctrl_silenceInstall(java.lang.String apkPath, InstallCallback callback)
调用此接口后,需要等待安装结果InstallCallback回调
apkPath
- 待安装apk的路径callback
- 异步回调通知安装结果,onResult参数true代表成功,false代表失败public void sysctrl_silenceUninstall(java.lang.String pkgName, UnInstallCallback callback)
调用此接口后,需要等待卸載结果UnInstallCallback回调
pkgName
- 要卸載的app的package namecallback
- 异步回调通知卸载结果,onResult参数true代表成功,false代表失败public void sysctrl_setTime(long millis, SetTimeCallback callback)
调用此接口后,需要等待设置时间结果SetTimeCallback回调
millis
- 需要设置的系统时间in milliseconds,具体可参考测试界面callback
- 异步回调通知设置时间结果,onResult参数true代表成功,false代表失败public void sysctrl_upgradeCheck(java.lang.String upgradeUrl, CheckUpgradeCallback callback)
调用此接口后,需要等待检测更新结果CheckUpgradeCallback回调
upgradeUrl
- 检测是否有更新的urlcallback
- 检测更新的回调,onResult参数true代表有新系统可以更新,false代表已是最新系统public void sysctrl_upgradeDownload(java.lang.String downUrl, DownloadUpgradeCallback callback)
此接口需在sysctrl_upgradeCheck()后调用,由它返回update.zip包的下载路径
调用此接口后,需要等待下载进度、成功与否的结果DownloadUpgradeCallback回调
downUrl
- 此参数由sysctrl_upgradeCheck()调用后返回的,请先调用此接口callback
- 下载zip升级包回调,onCancel() onFailed() onProgress()
onSuccess(String saveZipPath) 返回下载成功后zip包的本机存储路径public void sysctrl_upgradeDownloadCancel()
此接口为中断sysctrl_upgradeDownload的过程,并且会收到onCancel的回调,取消成功
public void sysctrl_upgradeInstall(java.lang.String zipPath)
此接口需要在sysctrl_upgradeDownload的onSuccess回调后调用
onSuccess(String saveZipPath)有返回下载成功后zip包的本机存储路径
zipPath
- 待安裝的update.zip升级包存储路径public void sysctrl_bootanimationDownload(java.lang.String downUrl, DownloadAnimationCallback callback)
此接口会下载到系统/data/local/下,重启后即执行新的开机动画
调用此接口后,需要等待下载进度、成功与否的结果DownloadAnimationCallback回调
downUrl
- bootanimation.zip在服务器http地址callback
- 下载bootanimation.zip升级包回调,onCancel() onFailed() onProgress()
onSuccess(String savePath) 返回下载成功后zip包的本机存储路径public java.lang.String sysctrl_getAlarmPowerOnTime()
返回设置的定时开机时间
public boolean sysctrl_setAlarmPowerOnTime(int hourOfDay, int minute)
参数hourOfDay minute同时设置-1时取消定时开机 默认每天不重复,当次生效,手动或意外重启也会失效,需app在开机后再次调用接口(每天重复也是开机后再次调用)
hourOfDay
- 设置定时开机rtc hour时间,24小时制minute
- 设置定时开机rtc minute时间public java.lang.String sysctrl_getAlarmPowerOffTime()
返回设置的定时关机时间
public boolean sysctrl_setAlarmPowerOffTime(int hourOfDay, int minute)
参数hourOfDay minute同时设置-1时取消定时关机 默认每天不重复,当次生效,手动或意外重启也会失效,需app在开机后再次调用接口(每天重复也是开机后再次调用)
hourOfDay
- 设置定时关机rtc hour时间,24小时制minute
- 设置定时关机rtc minute时间public void sysctrl_factoryReset()
清空所有用户的数据,恢复到出厂前的状态
public java.util.List<java.lang.String> hwctrl_uartAvailableDevices()
当前系统提供出来的串口操作节点
public boolean hwctrl_uartOpen(java.lang.String uartNode, int baudrate, int flow_ctrl, int databits, int stopbits, int parity, int vtime, int vmin)
打开节点用于串口收发数据操作
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个baudrate
- 波特率flow_ctrl
- 流控:0为不使用流控制,1为使用硬件流控制,2为使用软件流控制databits
- 数据位:8/7/6/5stopbits
- 停止位:1/2parity
- 校验位:n/N,e/E,o/O,s/Svtime
- 超时单位百毫秒:对应串口特性中的-VTIMEvmin
- 读取最小字节数:对应串口特性中的-VMINpublic boolean hwctrl_uartOpened(java.lang.String uartNode)
可以用于获取状态
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个public void hwctrl_uartClose(java.lang.String uartNode)
在关闭前请先调用hwctrl_uartReceiveStop()接口,停止接收数据
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个public void hwctrl_uartSend(java.lang.String uartNode, byte[] buffer)
发送数据前先做打开操作,操作节点与hwctrl_uartOpen时的对应
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个buffer
- 待发送数据buffpublic void hwctrl_uartReceive(java.lang.String uartNode, UartReceiveDataCallback callback)
操作节点与hwctrl_uartOpen时的对应
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个callback
- 数据回调接口UartReceiveDataCallback,回调数据包括:
byte[] mReceiveData; 接收到的buff
String mReceiveTime; 接收到的时间
String mNode; 从哪个串口节点接收的public void hwctrl_uartReceiveDelayMillis(java.lang.String uartNode, int delayMillis)
此接口的作用为,延时多久去接收一次数据,以便一次接收更多的数据
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个delayMillis
- 延时时间毫秒public void hwctrl_uartReceiveStop(java.lang.String uartNode)
停止接收后,可以再次调用hwctrl_uartReceive接收数据
uartNode
- uart设备节点,为hwctrl_uartAvailableDevices返回的List中某一个public boolean hwctrl_gpioExport(int gpioNumber)
执行export操作
gpioNumber
- GPIO顺序索引号public boolean hwctrl_gpioUnExport(int gpioNumber)
执行unexport操作
gpioNumber
- GPIO顺序索引号public boolean hwctrl_gpioDirection(int gpioNumber, java.lang.String direction)
in/out对应输入/输出
gpioNumber
- GPIO顺序索引号direction
- in/outpublic int hwctrl_gpioRead(int gpioNumber)
读取的电平值,0表示LOW, 1表示HIGH
gpioNumber
- GPIO顺序索引号public boolean hwctrl_gpioWrite(int gpioNumber, int value)
输出电平参数,0表示LOW, 1表示HIGH
gpioNumber
- GPIO顺序索引号value
- 0表示LOW, 1表示HIGHpublic boolean hwctrl_gpioSetEdge(int gpioNumber, java.lang.String edge)
引脚首先被配置为输入引脚
gpioNumber
- GPIO顺序索引号edge
- 如下四个值:"none", "rising", "falling","both"public java.lang.String hwctrl_gpioGetEdge(int gpioNumber)
引脚首先被配置为输入引脚
gpioNumber
- GPIO顺序索引号public boolean hwctrl_gpioStartInterrupt(int gpioNumber, int timeout, NorcoNative.IGpioEventsCallback callback)
引脚首先被配置为输入引脚,再设置GPIO的中断的触发方式
gpioNumber
- GPIO顺序索引号timeout
- 超时时长 单位mscallback
- 中断事件回调public void hwctrl_gpioStopInterrupt(int gpioNumber)
停止后不再有中断回调
gpioNumber
- GPIO顺序索引号public boolean hwctrl_i2cOpen(java.lang.String i2cNode)
收发数据之前先打开
i2cNode
- i2c设备节点public void hwctrl_i2cClose()
数据收发后关闭,内部保存了文件描述符,所以此接口无任何参数
public int hwctrl_i2cWrite(int addr, int reg, byte[] data)
写到slave addr的reg addr
addr
- slave addrreg
- reg addrdata
- 写入的数据public byte[] hwctrl_i2cRead(int addr, int reg, int len)
读取slave addr的reg addr数据
addr
- slave addrreg
- reg addrlen
- 读取数据的长度public boolean hwctrl_spiOpen(java.lang.String spiNode, int mode, int bits, int speed)
收发数据之前先打开
spiNode
- spi设备节点mode
- spi模式bits
- spi bitsspeed
- spi速率public void hwctrl_spiClose()
数据收发后关闭,内部保存了文件描述符,所以此接口无任何参数
public int hwctrl_spiWrite(byte[] data)
通过实际写入的字节数判断是否成功写入
data
- 写入的数据public byte[] hwctrl_spiRead(int len)
此接口带有参数,要读取的字节数
len
- 待读取数据的长度public byte[] hwctrl_spiTransfer(byte[] tx_buf, int len, int bits, int speed, int delay)
通过实际写入的字节数判断是否成功写入
tx_buf
- 写入的数据len
- 读取的数据长度bits
- spi位数speed
- spi速率delay
- 读取数据前的延时时间,单位是uspublic boolean hwctrl_canOpen(java.lang.String canNode, int baudrate)
打开成功后就处于接收数据状态
canNode
- can设备节点(如can0、can1)baudrate
- can设备波特率,如125000public boolean hwctrl_canOpen(java.lang.String canNode, int baudrate, int dbitrate)
打开成功后就处于接收数据状态
canNode
- can设备节点(如can0、can1)baudrate
- can设备波特率,如125000dbitrate
- can数据段波特率,如725000public void hwctrl_canClose(java.lang.String canNode)
关闭打开can设备
canNode
- can设备节点(如can0、can1)public boolean hwctrl_canSend(long canid, byte[] data)
与hwctrl_canOpen时对应,会写到canOpen的节点
canid
- 发送数据的id,对应can_frame的can_iddata
- 发送的数据,与hwctrl_canOpen时对应,会写到canOpen的节点public CanResponseBean hwctrl_canReceive()
与hwctrl_canOpen时对应,会读取hwctrl_canOpen的节点
public void afcctrl_uart485Close()
在操作完AFC相关的接口后关闭
public boolean afcctrl_uart485Init(java.lang.String node, int[] addr)
包括打开串口,设置串口波特率,数据位,停止位和效验位等
node
- uart485打开的串口节点addr
- 锁控板地址,现在根据拨码开关位置设定,数组大小对应锁控板的个数public boolean afcctrl_uart485OpenDoor(int addr, int doorNumber)
锁控板主板地址,不同锁控板请设置不同地址,根据拨码开关位置设定
addr
- 锁控板主板地址,现在根据拨码开关位置设定doorNumber
- 格门编号1-24public int afcctrl_uart485ReadDoor(int addr, int doorNumber)
锁控板主板地址,不同锁控板请设置不同地址,根据拨码开关位置设定
addr
- 锁控板主板地址,现在根据拨码开关位置设定doorNumber
- 格门编号1-24public void logctrl_setControlCmd(java.lang.String cmd, LogMakeTarCallback callback)
日志文件保存大小命令,将最新的日志记录打为一个tar.gz包,开始上传日志tar.gz包
callback
- 日志控制接口回调cmd
- 对日志程序下发的命令,控制其工作方式
参见LogCommand
日志文件保存大小命令
public static final String SET_LOG_SAVE_SIZE = "SET_LOG_SAVE_SIZE:";
将最新的日志记录打为一个tar.gz包
public static final String SET_MAKE_NEW_LOG_TAR =
"SET_MAKE_NEW_LOG_TAR:make_tar";
开始上传日志tar.gz包
public static final String SET_LOG_UPLOAD_START = "SET_LOG_UPLOAD_START:";public java.lang.String dispctrl_getResolution()
显示分辨率,形如:1920x1080
public void dispctrl_setStatusbar(java.lang.Boolean enable)
实时控制顶部状态栏的显示与否
enable
- true表示显示,false表示隐藏public void dispctrl_setNavigationbar(java.lang.Boolean enable)
实时控制底部导航栏的显示与否
enable
- true表示显示,false表示隐藏public java.lang.Boolean dispctrl_getStatusbar()
当前顶部状态栏显示与否
public java.lang.Boolean dispctrl_getNavigationbar()
当前底部导航栏显示与否
public void dispctrl_setRotation(boolean setPrimary, int rotationDegree)
屏幕方向主要有0度,90度,180度,270度
setPrimary
- 表示是设置主显还是副显方向,为ture表示主显,false表示副显rotationDegree
- 表示顺时针旋转角度,通过0,1,2,3分别表示0度,90度,180度,270度public int dispctrl_getRotation(boolean getPrimary)
屏幕方向主要有0度,90度,180度,270度
getPrimary
- 表示是获取主显还是副显方向,为ture表示主显,false表示副显public int dispctrl_getScreenMode()
两种调节模式,手动调节,自动调节
public void dispctrl_setScreenMode(int paramInt)
两种调节模式,手动调节,自动调节
paramInt
- 0表示手动调节,1表示自动调节public int dispctrl_getScreenBrightness()
亮度范围默认是10到255,可调用dispctrl_setMaxScreenBrightness设置最大可调的亮度值
public void dispctrl_setScreenBrightness(int paramInt)
亮度范围默认是10到255,可调用dispctrl_setMaxScreenBrightness设置最大可调的亮度值
paramInt
- 亮度范围默认是10到255public void dispctrl_setMaxScreenBrightness(int maxBrightness)
最大亮度范围要小于255
maxBrightness
- 最大亮度范围要小于255public java.lang.String netctrl_getIMEIInfo()
需要插入相应的4G模块才能获取到
public java.lang.String netctrl_getEthMacAddress()
获取eth0以太网的mac地址
public java.lang.String netctrl_getWifiMacAddress()
获取mac地址时,需要先开启wlan0
public java.lang.String netctrl_getMobilePhoneNumber()
当有插入sim卡,可以获取到sim卡号码
public void netctrl_setAirplaneMode(boolean on)
开关飞行模式
on
- true:开 false:关public boolean netctrl_setEthNetworkMode(int mode, java.lang.String iface, java.lang.String ip, java.lang.String mask, java.lang.String gateway, java.lang.String dns1, java.lang.String dns2)
设置当前以太网的连接模式:DHCP、静态IP
mode
- 网络模式 DHCP或静态IPiface
- 要设置的网络接口etho或eth1ip
- ip地址(若网络模式为DHCP的话,此参数省略)mask
- 掩码(若网络模式为DHCP的话,此参数省略)gateway
- 网关(若网络模式为DHCP的话,此参数省略)dns1
- dns1(若网络模式为DHCP的话,此参数省略)dns2
- dns2(若网络模式为DHCP的话,此参数省略)public boolean netctrl_openNetWork(int type, java.lang.String iface)
用于打开Wifi、Eth以太网
type
- 网卡类型,1:Wifi 2:Eth以太网iface
- 要设置的网络接口etho或eth1(若type=NETWORK_TYPE_WIFI,此参数省略)public boolean netctrl_closeNetWork(int type, java.lang.String iface)
用于闭关Wifi、Eth以太网
type
- 网卡类型, 1:Wifi 2:Eth以太网iface
- 要设置的网络接口etho或eth1(若type=NETWORK_TYPE_WIFI,此参数省略)public int netctrl_getCurrentNetworkType()
用于获取当前连接网络的类型:无网络、Wifi、Eth以太网、4G移动网络