123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- package kr.co.icontrols.v40ioctl;
- import android.util.Log;
- import com.util.LogUtil;
- import kr.co.icontrols.wallpadsupport.Version;
- public class V40IOInterface2 {
- private static final String TAG = "V40IOInterface2";
- static{
- System.loadLibrary("wpd_v40interface2-jni");
- }
- public native int WpdInterfaceOpen();
- public native int WpdInterfaceClose();
- public native int WpdInterfaceControl(int cmd, int arg);
- public native void SetMacAddr(String mac);
- public native void IpAddr(String ip);
- public native void GatewayIp(String gw);
- public native void NetMask(String mask);
- public native void NetAll(String ip, String mask, String gw, String mac);
- public native void LiveUpdate();
- public native void UsbUpdate();
- public native int LcdWakeUp();
- public native void Reboot(int sec);
- public native void NetDns1(String dns);
- public native void NetDns2(String dns);
- public native int sensorread();
- public void setLcdWakeUp() {
- LcdWakeUp();
- }
- public void setDns(String dns1, String dns2)
- {
- NetDns1(dns1);
- NetDns2(dns2);
- Log.i(TAG, "V40 SET DNS IP#1 : " + dns1 + " / DNS IP#2 : " + dns2);
- }
- public void setV40Reboot(int sec)
- {
- Log.i(TAG, "V40 Device will reboot : " +sec + " second !!!");
- Reboot(sec);
- }
- public void setMACAddress(String strMAC) {
- try
- {
- Log.i(TAG, "[setMACAddress] strMAC [" + strMAC+ "]");
- SetMacAddr(strMAC);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setMACAddress(String strMAC)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- public void setIPAddress(String strIP) {
- try
- {
- Log.i(TAG, "[setIPAddress] strIP [" + strIP + "]");
- IpAddr(strIP);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setIPAddress(String strIP)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- public void setNetmaskAddress(String strNetmask) {
- try
- {
- Log.i(TAG, "[setNetmaskAddress] strNetmask [" + strNetmask + "]");
- NetMask(strNetmask);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setNetmaskAddress(String strNetmask)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- public void setGatewayAddress(String strGateway) {
- try
- {
- Log.i(TAG, "[setGatewayAddress] strGateway [" + strGateway+ "]");
- GatewayIp(strGateway);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setGatewayAddress(String strGateway)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- /*public void setNetworkInterface(String strIP, String strNetmask, String strGateway, String strDNS) {
- try
- {
- Log.i(TAG, "[setNetworkInterface] strIP [" + strIP+ "], strNetmask [" + strNetmask+ "], strGateway [" + strGateway+ "], strDNS [" + strDNS+ "]");
- IpAddr(strIP);
- NetMask(strNetmask);
- GatewayIp(strGateway);
- Reboot(5);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setNetworkInterface(String strIP, String strNetmask, String strGateway, String strDNS)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }*/
- /**
- * V40 JNI를 이용한 IP 설정<br>
- * NetAll(strIP, strNetmask, strGateway, strMAC) 사용<br>
- * Reboot(5 sec) 설정<br>
- *
- * @param strIP 설정하고자 하는 IP
- * @param strNetmask 설정하고자 하는 Netmask
- * @param strGateway 설정하고자 하는 Gateway
- * @param strMAC 설정하고자 하는 Mac address
- */
- public void setNetworkInterface(String strIP, String strNetmask, String strGateway, String strMAC) {
- try
- {
- Log.i(TAG, "[setNetworkInterface] strIP [" + strIP+ "], strNetmask [" + strNetmask+ "], strGateway [" + strGateway+ "], strMAC [" + strMAC+ "]");
- NetAll(strIP, strNetmask, strGateway, strMAC);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setNetworkInterface(String strIP, String strNetmask, String strGateway, String strDNS, String strMAC)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- /**
- * V40 JNI를 이용한 IP 설정<br>
- * DNS 설정 JNI method 미구현 버전<br>
- * Reboot(5 sec) 설정<br>
- *
- * @param strIP 설정하고자 하는 IP
- * @param strNetmask 설정하고자 하는 Netmask
- * @param strGateway 설정하고자 하는 Gateway
- * @param strDNS (사용안함)
- * @param strMAC 설정하고자 하는 Mac address
- */
- public void setNetworkInterface(String strIP, String strNetmask, String strGateway, String strDNS, String strMAC) {
- try
- {
- Log.i(TAG, "[setNetworkInterface] strIP [" + strIP+ "], strNetmask [" + strNetmask+ "], strGateway [" + strGateway+ "], strDNS [" + strDNS+ "], strMAC [" + strMAC+ "]");
- IpAddr(strIP);
- NetMask(strNetmask);
- GatewayIp(strGateway);
- // DNS 설정 JNI method는 아직 없음(2018.02.26)
- SetMacAddr(strMAC);
- }
- catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- }
- catch (Exception e)
- {
- Log.e(TAG, "[Exception] setNetworkInterface(String strIP, String strNetmask, String strGateway, String strDNS, String strMAC)");
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- /*
- #define TYPE_GPIO_CMD (0xFF << 8)
- #define TYPE_GPIO2_CMD (0xFE << 8)
- #define IOCTL_LEDNEMR_ONOFF (TYPE_GPIO_CMD|0x02) //LED on/off
- #define IOCTL_EMR_TYPE (TYPE_GPIOS_CMD|0x02) //비상기능 타입
- #define IOCTL_EMR_OFF (TYPE_GPIOS_CMD|0x03) //비상종료
- #define IOCTL_PROX_THR (TYPE_GPIOS_CMD|0x04) //근접센서 감도.
- */
- public static final int TYPE_GPIO_CMD = (0xFF << 8);
- public static final int TYPE_GPIO2_CMD = (0xFE << 8);
- public static final int IOCTL_LEDNEMR_ONOFF = (TYPE_GPIO_CMD | 0x02);
- public static final int IOCTL_EMR_TYPE = (TYPE_GPIO2_CMD | 0x02);
- public static final int IOCTL_EMR_OFF = (TYPE_GPIO2_CMD | 0x03);
- public static final int IOCTL_PROX_THR = (TYPE_GPIO2_CMD | 0x04);
- public void Ctrl_CloseSensor(int value) {
- if (!(value >= 0 && value <= 15)) {
- Log.d(TAG, "[Ctrl_CloseSensor] Value Range Error : " + value);
- return;
- }
- Log.d(TAG, "[Ctrl_CloseSensor] Change Close Value : " + value);
- WpdInterfaceOpen();
- WpdInterfaceControl(IOCTL_PROX_THR, value);
- WpdInterfaceClose();
- }
- public void Ctrl_LCD_WakeUp() {
- Log.d(TAG, "[Ctrl_LCD_WakeUp] LCD Wake Up RUN");
- WpdInterfaceOpen();
- LcdWakeUp();
- WpdInterfaceClose();
- }
- public void Emergency_Type_Set() {
- WpdInterfaceOpen();
- if (Version.getModelType() == Version.MODEL_TYPE.IHN_D101 || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I
- || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K || Version.getModelType() == Version.MODEL_TYPE.IHN_D101K_I
- || Version.getModelType() == Version.MODEL_TYPE.IHN_D101_I_OCF) {
- Log.d(TAG, "[Emergency_Type_Set] V40 - D101 mode");
- WpdInterfaceControl(IOCTL_EMR_TYPE, 0);
- }
- else {
- Log.d(TAG, "[Emergency_Type_Set] A20 - Previous mode");
- WpdInterfaceControl(IOCTL_EMR_TYPE, 1);
- }
- WpdInterfaceClose();
- }
- public void Emergency_LED_On() {
- Log.d(TAG, "[Emergency_LED_On] Emergency LED On&Off START");
- WpdInterfaceOpen();
- WpdInterfaceControl(IOCTL_LEDNEMR_ONOFF, 1);
- WpdInterfaceClose();
- }
- public void Emergency_LED_Off() {
- Log.d(TAG, "[Emergency_LED_On] Emergency LED On&Off END");
- WpdInterfaceOpen();
- WpdInterfaceControl(IOCTL_LEDNEMR_ONOFF, 0);
- if (Version.getModelType() != Version.MODEL_TYPE.IHN_D101 && Version.getModelType() != Version.MODEL_TYPE.IHN_D101_I
- && Version.getModelType() != Version.MODEL_TYPE.IHN_D101K && Version.getModelType() != Version.MODEL_TYPE.IHN_D101K_I
- && Version.getModelType() != Version.MODEL_TYPE.IHN_D101_I_OCF) {
- WpdInterfaceControl(IOCTL_EMR_OFF, 0);
- }
- WpdInterfaceClose();
- }
- public void Emergency_LED_blink() {
- }
- public int DoControl(int cmd, int arg) {
- WpdInterfaceOpen();
- int ctr = WpdInterfaceControl( cmd, arg);
- WpdInterfaceClose();
- return ctr;
- }
- public void DoorLockControl(boolean ctr) {
- try {
- if (WpdInterfaceOpen() >= 0) {
- WpdInterfaceControl(0xFF09, (ctr)?1:0);
- WpdInterfaceClose();
- }
- } catch (RuntimeException re) {
- LogUtil.errorLogInfo("", TAG, re);
- } catch (Exception e) {
- //e.printStackTrace();
- LogUtil.errorLogInfo("", TAG, e);
- }
- }
- }
|