package com.ys.mcu7502;

/**
 * Created by Administrator on 2018/1/27.
 */

public class Mcu7502 {
    static {
        System.loadLibrary("mcu7502");
    }
    /**
    * @method  open()
    * @description 打开文件，开启看门狗功能必须先打开文件
    * @date:  20200104
    * @author: zouyuanhang
    * @return 失败返回-1，其余代表成功
    */
    public static native int open();//60
    /**
     * @method  close()
     * @description 关闭文件
     * @date:  20200104
     * @author: zouyuanhang
     */
    public static native void close();
    /**
     * @method  enableWatchdog()
     * @description 打开看门狗
     * @date:  20200104
     * @author: zouyuanhang
     * @param  path
     * @return 返回值为7表示命令发送成功
     */
    public static native int enableWatchdog(String path); //返回值为7表示命令发送成功

    /**
     * @method  disableWatchdog()
     * @description 关闭看门狗
     * @date:  20200104
     * @author: zouyuanhang
     * @return 失败返回-1，其余代表成功
     */
    public static native int disableWatchdog(); //返回值为7表示命令发送成功
    /**
    * @method   feetDog(int time)
    * @description 设置喂狗的时间
    * @date:  20200104
    * @author: zouyuanhang
    * @param  time
    * @return  返回值为7表示命令发送成功
    */
    public static native int feetDog(int time); //喂狗的时间，time大于等于10s，小于等于60s  ,返回值为7表示命令发送成功
    /**
    * @method  setTime(int time)
    * @description 设置下一次开机的时间
    * @date:  20200104
    * @author: zouyuanhang
    * @param time
    * @return 返回值为7表示命令发送成功
    */
    public static native int setTime(int time); //设置下一次开机的时间 ，以s为单位。大于等于60s ,返回值为7表示命令发送成功
    /**
     * @method  resetMaster()
     * @description 重置
     * @date:  20200104
     * @author: zouyuanhang
     * @return 返回值为7表示命令发送成功
     */
    public static native int resetMaster();     //返回值为7表示命令发送成功
    /**
     * @method  getWatchdogStatus()
     * @description 返回值为看门狗状态
     * @date:  20200104
     * @author: zouyuanhang
     * @return 大于0已经打开0表示关闭
     */
    public static native int getWatchdogStatus();  //返回值为看门狗状态，大于0表示已经打开0表示关闭
    /**
     * @method  getVersion()
     * @description 获取版本号
     * @date:  20200104
     * @author: zouyuanhang
     * @return 返回版本号
     */
    public static native int getVersion();     //返回值为int型变量，第一个字节未定义，第二个字节表示版本号第前两位，第三个字节表示版本号中间两位，第四个字节表示版本号的后两位

    /**
    * @method appWatchdogStatus()
    * @description 查询3128喂狗状态
    * @date:  2020/3/28
    * @author: zouyuanhang
    * @param  * @param null
    * @return 
    */
    public static native int appWatchdogStatus();  //rk3128 watchdog
}
