smartlin api编程向导本提供有关科技以下简称的产品信息内容属于_第1页
smartlin api编程向导本提供有关科技以下简称的产品信息内容属于_第2页
smartlin api编程向导本提供有关科技以下简称的产品信息内容属于_第3页
smartlin api编程向导本提供有关科技以下简称的产品信息内容属于_第4页
smartlin api编程向导本提供有关科技以下简称的产品信息内容属于_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

::本文档提供有关前海金顺科技(以下简称金顺)的产品信息。本文档的内容属于商业,使用本文档的合法客户不得以任意方式对外透露本文档信息。本文档并未以暗示、反言或其他形式转让本公司或任何第的专利、商标、或所有权或其下的任何权利或。除金顺在其产品的销售条款和条件中的责任之外,本公司概不承担任何其它责任。并且,金顺对其产品的使用不作任何明示或暗示的担保,包括对产品的特定用途适用性、适销性或对任何专利权、或其它知识的责任等,均不作担保。金顺产品信息做出修改,恕不另行通知。对于本公司产品可能包含某些设计缺陷或错误,一经发现将收入勘误表,并因此可能导致产品与已的规格有所差异。本接口协议的设计可能因为现实的理由在未广泛通知的情况下升级或改进,为了您的利益,请与供应商联系以确保获取版本。RevisionInitialdraft–SmartETK介 开发环 硬件需 软件需 安装和使 导入SmartETK SmartETKSDK 类定 函数返回 GPIO I2C Uart SystemETK Alarm 附录: Annex:Watch 激活看门 关闭看门 设置看门狗超时时 获取看门狗状 喂 Annex: I2C初始 I2CRead I2CWrite Annex: UART通讯初始 UART发送数 UART数 Annex: 重启系 休眠系 旋转屏 截 获取 设置系统时 静默安装 介SmartETKSDK支持通APIGPIO,看门狗,I2C,UART等硬件设备。同时也能通过API实现休眠,唤醒,关机,重启,安装APK,截屏,旋转屏等系统功能。开发环硬件需SmartETKSDK兼容以下开发板TGD_RS2withAndroid软件需Androidstudio1.1.0或安装和使用找开Androidstudio并创建项目将SmartETK.jar到将libSmartETK.so到在项目中SmartETK.jar,并在弹出的属性窗口点击”SynchronizeSmartETK.jar“SmartETKSDKimportcom.hwacreate.smartetk.GPIO;importcom.hwacreate.smartetk.I2C;importcom.hwacreate.smartetk.SmartETK;importcom.hwacreate.smartetk.Uart;importcom.hwacreate.smartetk.SystemETK;importcom.hwacreate.smartetk.WatchDog;SmartETKSDKAPI有以下返回值:SmartETK.E_FAIL:函数执行失败。SmartETK.E_VERSION_NOT_SUPPORT:当前android版本与SmartETK.jarSmartETK.E_INVALID_ARG:参数错误。SmartETK.E_FUNC_NOT_SUPPORT:当前硬件不支持该功能。SmartETK.E_CONNECTION_FAIL:连接失败。SmartETK.E_NOT_RESPOND_YET:服务无响应。 :超时。SmartETK.E_UART_OPENFAIL:串口打开失败SmartETK.E_UART_NOT_OPEN:串口未打开,请重新打开设备。SmartETK.E_UART_ALREADY_OPENED:串口已经打开。SmartETK.E_UART_TTY_BEEN_USED:串口已经被其它对象打开。SmartETK.E_UART_BAUDRATE_NOT_SUPPORT:该串口波特率不支持。GPIOGPIO语法GPIO(int描述通过指定要控制的IO口编号创建GPIO对象pinID需要控制的IO口编号。编号值RK30_PIN0_PC3=19,最终的pinID=179=19+160举例CreateanGPIOobjectwithpinIDGPIOgpio179=new语法intsetEnable(boolean描述使能enabletrue:打开false:关闭返回值.E_*–失败语法intgetEnable(boolean[]描述获取当前IO的打开状.E_*–失败语法intsetDirection(int描述设置IO口的输入输出direction–GPIO.GPIOI输入GPIO.GPIOO输出返回值E_*–失语法intgetDirection(int[]描述获取当前IO的控制方directionGPIOGPIOI当前IO输入,GPIO.GPIOO当前IO输出返回值.E_*–失败语法intsetValue(int描述设置IO的输出电value0输出低,1输出高.E_*–失败语法描述获取IO的输入输出电value–GPIOsignal,return0forlogiclow,return1forlogic返回值.E_*–失败WatchDog语法描述创建一个开门狗举例语法intsetEnable(boolean描述激活开门狗,一旦看门狗激活,必须定时喂狗,否则系统会被.E_*–失败语法intgetEnable(boolean[]描述查看看门狗是否被激bEnabletrue已启动false未启动E_*–失语法intsetTimeout(int描述差距,读回的值一定会大于设置的值iTimeout–看门狗的超时时间,以秒为单位E_*–失语法intgetTimeout(int[]描述获取看门狗超时iTimeout–获取看门狗超时时间E_*–失语法int描述E_*–失I2CI2C语法I2C(intiI2CBusNum,bytebyI2CAddress,int描述创建一个I2C对象,并指定对应的总线,从设备地址以寄存器位iI2CBusNumI2C总线编号0代表i2c-0bus1代表i2c-1bus.byI2CAddress–7bits从设备地址。iOffsetLen–寄存器位宽,支持0~4字节0:无寄存器18bit216bit3bit/4:32举例I2Cm_i2c=new创建了一个I2C对象,该对象控制的设备挂在I2C总线1上,从设备地址为52,以8位数据宽度语法intread(bytebyBufintiOffsetint描述从I2C设备中数byBuf–存放读回数据的iOffset–要的从设备寄存器地址(有效范围0~7FFFFFFF)iReadLen–要的字节数,最大255字节语法intwrite(byte[]byBuf,intiOffset,intiWri描述对指地寄存器写入数byBuf–存放待写的数iOffset–从设备寄存器地址(validdatais0~7FFFFFFF)iWrien–写入数据的长度,最大255字节UartUart语法描述创建一个UART对象Uartm_uart=new语法intopen(String描述打开指定的Uart设sDevUart设备名(ExttyS0返回值S_OK–打开成E_UART_OPENFAIL–打开失败E_UART_ALREADY_OPENED–设备已经打开E_UART_TTY_BEEN_USED设备已被其它对象打开E_*–其它错误语法int描述关闭Uart设备.E_*–失语法intsetConfig(intiBaudRate,bytebyDataBIts,bytebyStopBits,bytebyParity,bytebyFlowCtrl);描述配置Uart设iBaudRate–波特率(ExbyDataBits–数据位77-bitdatabits88-bitdatabitsbyStopBits–停止位.1:1-stopbits;2:2-stopbitsbyParity–校验位.0:none;1:odd;2:evenbyFlowCtrl–流控0none1返回值E_*–失语法intgetConfig(UartConfig描述获取当前Uart的配置参UartConfig–UartConfigurationclassUartConfiguration{intiBaudRate–波特率(Ex.bytebyDataBits数据77-bitdatabits88-bitdatabitsbytebyStopBits–1:1-stopbits;2:2-stopbitsbytebyParity0none1odd2evenbytebyFlowCtrl–流控.0:none;1:CTS/RTS}返回值E_*失败UartConfigUC=m_uart.newUartConfig();if(SmartETK.S_OK!=m_uart.getConfig(UC)){}语法intsetTimeout(booleanbEnable,int描述设置超时时bEnabletrueiTimeout0查询读,无数据直接返回)bEnable=true,iTimeout>0(带超时的读)bEnablefalse阻塞读bEnable–打开或关闭超时功iTimeout–超时时间。围02550~25.5秒),0.1秒.E_*–失语法intgetTimeout(Timeout描述超时时Timeout–timeoutconfigurationclassTimeout{booleanbEnable打开或关闭超时功intiTimeout超时时间。围02550~25.5秒),0.1秒}返回值E_*失败举例:TimeoutT=m_uartnew{}语法intsetReturnChar(booleanbEnable,byte描述设置结束字bEnable=true(一直buffer满或是读到byReturnChar才退出)bEnable=false(时查byReturnChar)bEnable打开或关闭结束字符功能byReturnChar–指定的结束字符E_*–失语法intgetReturnChar(ReturnChar描述获取指定的结束classReturnChar{booleanbEnable打开或关闭结束字符功bytebyReturnChar–指定的结束字}返回值E_*失败举例:ReturnCharRC=m_uart.new{}语法intreadData(intiReadLen,byte[]byRead,int[]描述从Uart数byRead–存放数据的bufferiActualLen–实际的长度E_*–失语法intreadData(intiReadLen,byte[]描述从Uart数iReadLen–数据的字数,最大1024字byRead–存放数据的返回值>=0–成功,返回实际的长<0(E_*)–失语法intwriteData(intiWrien,byte[]描述发送数byWrite待发送数据返回值:E_*–失SystemETK语法描述SystemETKm_system=newSystemETK.reboot(Context语法intreboot(Context描述重启系context设备上下文E_*–失SystemETK.suspend(Context语法intsuspend(Context描述休眠系E_*–失SystemETK.wakeUp(Context语法intwakeUp(Context描述唤醒系context–设备上下返回值E_*–失SystemETK.wakeUpAndUnlock(Context语法intwakeUpAndUnlock(Context描述唤醒并系返回值E_*–失SystemETK.getCpuID(String[]语法intgetCpuID(String[]描述获取设备strCpuID–storethecpu返回值E_*–失SystemETK.shotScreen(Contextcontext,String语法intshotScreen(Contextcontext,String描述截Context-设备上E_*–失SystemETK.turnScreen(intiAngel,Activity语法intturnScreen(intiAngel,Activity描述旋转屏iAngelactivity–返回值E_*–失SystemETK.setSystemTime(intiYear,bytebyMonth,bytebytebyHour,bytebyMin,byte语法intsetSystemTime(intiYear,bytebyMonth,bytebytebyHour,bytebyMin,byte描述设置系统时iYear,byMonth,byDay,byHour,byMin,bySec–年月日时分秒E_*–失SystemETK.getSystemTime(TIME语法描述获取系统时intbytebyDay;bytebyHour;bytebyMin;bytebySec;}返回值E_*–失SystemETK.installAPK(StringstrAPKPath,int语法intinstallAPK(StringstrAPKPath,int描述静默安strAPKPath–待安装的APK路径E_*–失Alarm描述定时休眠和唤醒定时唤醒系统,并可指定唤醒时是否重启系Intentintent=newIntent("comhwacreate.smartetk.action.setpoweronoff");int[]timeArray={iYear,iMonth,idate,iHour,iMinute}; //rebootsystemafterwakeup定时休眠系Intentintent=newIntent("comhwacreate.smartetk.action.setpoweronoff");int[]timeArray={iYear,iMonth,idate,iHour,iMinute};取消定时功Intentintent=newIntent("comhwacreate.smartetk.action.setpoweronoff");int[]timeArray={iYear,iMonth,idate,iHour,iMinute};附录下面以PC3为例演下如何控制GPIO口:PC3GPIO.H中可以查 (0*NUM_GROUP+PIN_BASE+160/*DeclarevariablestogetGPIO179values*/boolean[]bEnable=newboolean[1];int[]nDirection=newint[1];GPIOgpio179=new //CreateGPIO179 //Enablegpio179.setDirection(GPIO. //SetGPIO179asinput //GetGPIO179'senablestatus //GetGPIO179'sinput/outputdirection //GetGPIO179'sinputvalue下面是设置GPIO输出值/*DeclarevariablestogetGPIO6values*/boolean[]bEnable=newboolean[1];int[]nDirection=newint[1];int[]nValue=newGPIOgpio179=new //CreateGPIO179 //EnableGPIO179gpio179.setDirection(GPIO.GPIOO); //SetGPIO179asoutputdirection //SetGPIO179'soutputto //GetGPIO179'senablestatus //GetGPIO179'sinput/output //GetGPIO179'soutputAnnex:WatchThefollowingisthesampleif(null==m_watchdog=newreturnThefollowingisthesampleif(null==m_watchdog=newreturn设置看门狗超时时Thefollowingisthesampleif(null==m_watchdog=newreturn获取看门狗状Thefollowingisthesampleif(null==m_watchdog=newboolean[]bGetEnable=newboolean[1];int[]iTimeout=newint[1];{/*Dosomething...}{/*Dosomething...}喂Thefollowingisthesampleif(null==m_watchdog=newreturnAnnex:I2C创建I2C设备,设备挂在I2CBUS1上,从设备地址52,8位数据长度ThefollowingisthesampleintiBusNum=bytebyAddress=intiOffsetLen=if(iBusNum<0||byAddress<0||iOffsetLen<returnI2CRead从寄存0读两Thefollowingisthesamplebyte[]byRead=newbyte[255]intiOffset=0;intiReadLen=2;returnI2CWrite往寄存器0写两Thefollowingisthesamplebyte[]byWrite=newbyWrite[1]=intiOffset=int en= returnAnnex:UARTThefollowingisthesampleprivateUartm_uart=null;m_uart=newUart();if(null=={}{}if(SmartETK.S_OK!=m_uart.setConfig((m_iBaudRate=Integer.valueOf(mETBaudRate.getText().toString())),(byte)8,(byte)1,(byte)0,(byte)0)){}UARTThefollowingisthesampleif(SmartETK.S_OK!=m_uart.writeData(mETWrite.getText().toString().getBytes().length,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论