package com.jni;
|
|
import java.util.concurrent.locks.Lock;
|
import java.util.concurrent.locks.ReentrantLock;
|
|
public class NativeMethods {
|
|
public enum SERIAL_FLASH_TYPE {
|
SFT_UNKNOW(0),
|
SFT_MXIC(1),
|
SFT_ST(2),
|
SFT_SST(3),
|
SFT_ATMEL_AT25F(4),
|
SFT_ATMEL_AT25FS(5),
|
SFT_ATMEL_AT45DB(6),
|
SFT_WINBOND(7),
|
SFT_PMC(8),
|
SFT_MXIC_LIKE(9),
|
SFT_AMIC(10),
|
SFT_EON(11),
|
SF_ESMT(12),
|
SFT_GIGA(13),
|
SFT_FENTECH(14),
|
SFT_UC(15), //SFT_UCUNDATA
|
SFT_BY(16),
|
SFT_FM(17),
|
SFT_ZB(18);
|
|
private int value;
|
private String name;
|
|
private SERIAL_FLASH_TYPE(int value) {
|
this.value = value;
|
}
|
|
public int getValue() {
|
return value;
|
}
|
|
public String getName() {
|
return name;
|
}
|
|
public void setValue(int value){
|
this.value = value;
|
}
|
}
|
|
public enum ASIC_ROM_TYPE {
|
ART_Unknow(-1),
|
ART_32K(0),
|
ART_64K(1),
|
ART_128K(2),
|
ART_256K(3);
|
|
private int value;
|
|
private ASIC_ROM_TYPE(int value) {
|
this.value = value;
|
}
|
|
public int getValue() {
|
return value;
|
}
|
|
private void setValue(int value){
|
this.value = value;
|
}
|
}
|
|
public class ChangeParamInfo
|
{
|
public int SerialNumberLength; //SerialNumberLength = 6
|
public int ProductLength;
|
public int ManufactureLength;
|
public int VidPidLength; //VidPidLength = 8
|
public int InterfaceLength;
|
public int String3Length;
|
|
public String strSerialNumber; //Sample, strSerialNumber = "SN0001"
|
public String strProduct;
|
public String strManufacture;
|
public String strVidPid; //Sample, strVidPid="0c356362"
|
public String strString3;
|
public String strInterface;
|
}
|
|
static {
|
//NativeMethods path = /com/jni/NativeMethods
|
System.loadLibrary("SonixCamera");
|
}
|
|
|
private static NativeMethods instance;
|
private static Lock mLock = new ReentrantLock();
|
|
public static NativeMethods getInstance() {
|
if (instance == null) {
|
mLock.lock();
|
if (instance == null) {
|
instance = new NativeMethods();
|
}
|
mLock.unlock();
|
}
|
return instance;
|
}
|
|
private Object mCtrlTransferClass;
|
|
public boolean Initialize(Object ctrlTransferClass) {
|
this.mCtrlTransferClass = ctrlTransferClass;
|
return Native_Initialize(ctrlTransferClass);
|
}
|
public native boolean Native_Initialize(Object ctrlTransferClass);
|
|
|
public boolean UnInitialize() {
|
return Native_UnInitialize();
|
}
|
public native boolean Native_UnInitialize();
|
|
|
public boolean RestartDevice() {
|
return Native_RestartDevice(mCtrlTransferClass);
|
}
|
public native boolean Native_RestartDevice(Object ctrlTransferClass);
|
|
|
public boolean AsicRegisterRead(int addr, byte pData[], int length) {
|
return Native_AsicRegisterRead(mCtrlTransferClass, addr, pData, length);
|
}
|
public native boolean Native_AsicRegisterRead(Object ctrlTransferClass, int addr, byte pData[], int length);
|
|
|
public boolean AsicRegisterWrite(int addr, byte pData[], int length) {
|
return Native_AsicRegisterWrite(mCtrlTransferClass, addr, pData, length);
|
}
|
public native boolean Native_AsicRegisterWrite(Object ctrlTransferClass, int addr, byte pData[], int length);
|
|
|
public boolean SensorRegisterCustomRead(byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL) {
|
return Native_SensorRegisterCustomRead(mCtrlTransferClass, slaveId, addr, dataByteNumber, pData, dataByteBumber, pollSCL);
|
}
|
public native boolean Native_SensorRegisterCustomRead(Object ctrlTransferClass, byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL);
|
|
|
public boolean SensorRegisterCustomWrite(byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL) {
|
return Native_SensorRegisterCustomWrite(mCtrlTransferClass, slaveId, addr, dataByteNumber, pData, dataByteBumber, pollSCL);
|
}
|
public native boolean Native_SensorRegisterCustomWrite(Object ctrlTransferClass, byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL);
|
|
public boolean SensorTwoRegisterCustomRead(byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL) {
|
return Native_SensorTwoRegisterCustomRead(mCtrlTransferClass, slaveId, addr, dataByteNumber, pData, dataByteBumber, pollSCL);
|
}
|
public native boolean Native_SensorTwoRegisterCustomRead(Object ctrlTransferClass, byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL);
|
|
|
public boolean SensorTwoRegisterCustomWrite(byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL) {
|
return Native_SensorTwoRegisterCustomWrite(mCtrlTransferClass, slaveId, addr, dataByteNumber, pData, dataByteBumber, pollSCL);
|
}
|
public native boolean Native_SensorTwoRegisterCustomWrite(Object ctrlTransferClass, byte slaveId, int addr, byte dataByteNumber, byte pData[], byte dataByteBumber, boolean pollSCL);
|
|
|
public boolean XuRead(byte pData[], int length, byte cs, byte unitId) {
|
return Native_XuRead(mCtrlTransferClass, pData, length, cs, unitId);
|
}
|
public native boolean Native_XuRead(Object ctrlTransferClass, byte pData[], int length, byte cs, byte unitId);
|
|
|
public boolean XuWrite(byte pData[], int length, byte cs, byte unitId) {
|
return Native_XuWrite(mCtrlTransferClass, pData, length, cs, unitId);
|
}
|
public native boolean Native_XuWrite(Object ctrlTransferClass, byte pData[], int length, byte cs, byte unitId);
|
|
|
public boolean GetProduct(byte pData[], int length) {
|
return Native_GetProduct(mCtrlTransferClass, pData, length);
|
}
|
public native boolean Native_GetProduct(Object ctrlTransferClass, byte pData[], int length);
|
|
|
public boolean GetFwVersion(byte pData[], int length, boolean bNormalExport) {
|
return Native_GetFwVersion(mCtrlTransferClass, pData, length, bNormalExport);
|
}
|
public native boolean Native_GetFwVersion(Object ctrlTransferClass, byte pData[], int length, boolean bNormalExport);
|
|
|
public boolean GetFwVersionFromFile(String fw, byte pData[], int length, boolean bNormalExport) {
|
return Native_GetFwVersionFromFile(mCtrlTransferClass, fw, pData, length, bNormalExport);
|
}
|
public native boolean Native_GetFwVersionFromFile(Object ctrlTransferClass, String fw, byte pData[], int length, boolean bNormalExport);
|
|
|
public boolean SerialFlashRead(int addr, byte pData[], int length) {
|
return Native_SerialFlashRead(mCtrlTransferClass, addr, pData, length);
|
}
|
public native boolean Native_SerialFlashRead(Object ctrlTransferClass, int addr, byte pData[], int length);
|
|
|
public boolean SerialFlashSectorWrite(Object sft, int addr, byte pData[], int length) {
|
return Native_SerialFlashSectorWrite(mCtrlTransferClass, sft, addr, pData, length);
|
}
|
public native boolean Native_SerialFlashSectorWrite(Object ctrlTransferClass, Object sft, int addr, byte pData[], int length);
|
|
|
public boolean GetSerialFlashType(Object sft, boolean check) {
|
return Native_GetSerialFlashType(mCtrlTransferClass, sft, check);
|
}
|
public native boolean Native_GetSerialFlashType(Object ctrlTransferClass, Object sft, boolean check);
|
|
|
public boolean SerialFlashWrite(int addr, byte pData[], int length) {
|
return Native_SerialFlashWrite(mCtrlTransferClass, addr, pData, length);
|
}
|
public native boolean Native_SerialFlashWrite(Object ctrlTransferClass, int addr, byte pData[], int length);
|
|
|
public boolean GetVidPid(byte pData[], int length) {
|
return Native_GetVidPid(mCtrlTransferClass, pData, length);
|
}
|
public native boolean Native_GetVidPid(Object ctrlTransferClass, byte pData[], int length);
|
|
|
public boolean GetManufacturer(byte pData[], int length) {
|
return Native_GetManufacturer(mCtrlTransferClass, pData, length);
|
}
|
public native boolean Native_GetManufacturer(Object ctrlTransferClass, byte pData[], int length);
|
|
|
public boolean GetString3(byte pData[], int length) {
|
return Native_GetString3(mCtrlTransferClass, pData, length);
|
}
|
public native boolean Native_GetString3(Object ctrlTransferClass, byte pData[], int length);
|
|
|
public boolean GetInterface(byte pData[], int length) {
|
return Native_GetInterface(mCtrlTransferClass, pData, length);
|
}
|
public native boolean Native_GetInterface(Object ctrlTransferClass, byte pData[], int length);
|
|
|
public boolean GetSerialNumber(byte pData[], int length) {
|
return Native_GetSerialNumber(mCtrlTransferClass, pData, length);
|
}
|
public native boolean Native_GetSerialNumber(Object ctrlTransferClass, byte pData[], int length);
|
|
|
public boolean GetAsicRomType(Object romType, int chipID[]) {
|
return Native_GetAsicRomType(mCtrlTransferClass, romType, chipID);
|
}
|
public native boolean Native_GetAsicRomType(Object ctrlTransferClass, Object romType, int chipID[]);
|
|
public boolean WriteFwToFlash(Object onProgressClass, String fw, boolean bFullCheckFW) {
|
return Native_WriteFwToFlash(mCtrlTransferClass, onProgressClass, fw, bFullCheckFW);
|
}
|
public native boolean Native_WriteFwToFlash(Object ctrlTransferClass, Object onProgressClass, String fw, boolean bFullCheckFW);
|
|
|
public boolean DisableSerialFlashWriteProtect(Object sft) {
|
return Native_DisableSerialFlashWriteProtect(mCtrlTransferClass, sft);
|
}
|
public native boolean Native_DisableSerialFlashWriteProtect(Object ctrlTransferClass, Object sft);
|
|
|
public boolean EraseSerialFlash(Object sft) {
|
return Native_EraseSerialFlash(mCtrlTransferClass, sft);
|
}
|
public native boolean Native_EraseSerialFlash(Object ctrlTransferClass, Object sft);
|
|
|
public boolean EraseSectorFlash(Object sft, int addr) {
|
return Native_EraseSectorFlash(mCtrlTransferClass, sft, addr);
|
}
|
public native boolean Native_EraseSectorFlash(Object ctrlTransferClass, Object sft, int addr);
|
|
|
public boolean EraseBlockFlash(Object sft, int addr) {
|
return Native_EraseBlockFlash(mCtrlTransferClass, sft, addr);
|
}
|
public native boolean Native_EraseBlockFlash(Object ctrlTransferClass, Object sft, int addr);
|
|
|
public boolean BurnerFW(Object onProgressClass, String fw, Object sft, boolean bFullCheckFW) {
|
return Native_BurnerFW(mCtrlTransferClass, onProgressClass, fw, sft, bFullCheckFW);
|
}
|
public native boolean Native_BurnerFW(Object ctrlTransferClass, Object onProgressClass, String fw, Object sft, boolean bFullCheckFW);
|
|
|
public boolean CustomBurnerFW(Object paramInfo, Object onProgressClass, String fw, Object sft, boolean bFullCheckFW) {
|
return Native_CustomBurnerFW(mCtrlTransferClass, paramInfo, onProgressClass, fw, sft, bFullCheckFW);
|
}
|
public native boolean Native_CustomBurnerFW(Object ctrlTransferClass, Object paramInfo, Object onProgressClass, String fw, Object sft, boolean bFullCheckFW);
|
|
|
public boolean SetParamTableFromFWFile(Object paramInfo, Object onProgressClass, String fw, Object sft, boolean bFullCheckFW) {
|
return Native_SetParamTableFromFWFile(mCtrlTransferClass, paramInfo, onProgressClass, fw, sft, bFullCheckFW);
|
}
|
public native boolean Native_SetParamTableFromFWFile(Object ctrlTransferClass, Object paramInfo, Object onProgressClass, String fw, Object sft, boolean bFullCheckFW);
|
}
|