From 89a614a6cd4ffdccb9dbe38a82fdc53a52b36f4b Mon Sep 17 00:00:00 2001 From: Schoumi Date: Wed, 16 Mar 2016 12:24:49 +0100 Subject: [PATCH] list ftdi device and get lpc ids --- .gitignore | 24 ++ app/.gitignore | 1 + app/build.gradle | 31 ++ app/proguard-rules.pro | 17 + app/src/DeviceAdapter.java | 57 ++++ app/src/IspManager.java | 227 +++++++++++++ app/src/UsbComm.java | 80 +++++ .../fr/mobdev/lpcprog/ApplicationTest.java | 13 + app/src/main/AndroidManifest.xml | 27 ++ .../fr/mobdev/lpcprog/DeviceActivity.java | 92 +++++ .../java/fr/mobdev/lpcprog/DeviceAdapter.java | 55 +++ .../java/fr/mobdev/lpcprog/IspManager.java | 316 ++++++++++++++++++ .../java/fr/mobdev/lpcprog/MainActivity.java | 94 ++++++ .../java/fr/mobdev/lpcprog/USBDevice.java | 10 + .../main/java/fr/mobdev/lpcprog/UsbComm.java | 89 +++++ app/src/main/libs/d2xx.jar | Bin 0 -> 133045 bytes app/src/main/res/drawable-hdpi/ic_refresh.png | Bin 0 -> 347 bytes app/src/main/res/drawable-mdpi/ic_refresh.png | Bin 0 -> 245 bytes .../main/res/drawable-xhdpi/ic_refresh.png | Bin 0 -> 457 bytes .../main/res/drawable-xxhdpi/ic_refresh.png | Bin 0 -> 663 bytes .../main/res/drawable-xxxhdpi/ic_refresh.png | Bin 0 -> 861 bytes .../drawable-hdpi/ic_cached_white_24dp.png | Bin 0 -> 347 bytes .../drawable-mdpi/ic_cached_white_24dp.png | Bin 0 -> 245 bytes .../drawable-xhdpi/ic_cached_white_24dp.png | Bin 0 -> 457 bytes .../drawable-xxhdpi/ic_cached_white_24dp.png | Bin 0 -> 663 bytes .../drawable-xxxhdpi/ic_cached_white_24dp.png | Bin 0 -> 861 bytes .../ic_cached_white.imageset/Contents.json | 23 ++ .../ic_cached_white.png | Bin 0 -> 245 bytes .../ic_cached_white_2x.png | Bin 0 -> 457 bytes .../ic_cached_white_3x.png | Bin 0 -> 663 bytes .../web/ic_cached_white_24dp_1x.png | Bin 0 -> 245 bytes .../web/ic_cached_white_24dp_2x.png | Bin 0 -> 457 bytes app/src/main/res/layout/device.xml | 55 +++ app/src/main/res/layout/device_item.xml | 23 ++ app/src/main/res/layout/main_activity.xml | 33 ++ app/src/main/res/menu/menu_main.xml | 9 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes app/src/main/res/values-w820dp/dimens.xml | 6 + app/src/main/res/values/color.xml | 6 + app/src/main/res/values/dimens.xml | 5 + app/src/main/res/values/strings.xml | 6 + app/src/main/res/values/styles.xml | 18 + build.gradle | 19 ++ gradle.properties | 18 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 6 + settings.gradle | 1 + 50 files changed, 1361 insertions(+) create mode 100644 .gitignore create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/DeviceAdapter.java create mode 100644 app/src/IspManager.java create mode 100644 app/src/UsbComm.java create mode 100644 app/src/androidTest/java/fr/mobdev/lpcprog/ApplicationTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/fr/mobdev/lpcprog/DeviceActivity.java create mode 100644 app/src/main/java/fr/mobdev/lpcprog/DeviceAdapter.java create mode 100644 app/src/main/java/fr/mobdev/lpcprog/IspManager.java create mode 100644 app/src/main/java/fr/mobdev/lpcprog/MainActivity.java create mode 100644 app/src/main/java/fr/mobdev/lpcprog/USBDevice.java create mode 100644 app/src/main/java/fr/mobdev/lpcprog/UsbComm.java create mode 100644 app/src/main/libs/d2xx.jar create mode 100644 app/src/main/res/drawable-hdpi/ic_refresh.png create mode 100644 app/src/main/res/drawable-mdpi/ic_refresh.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_refresh.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_refresh.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_refresh.png create mode 100644 app/src/main/res/ic_cached_white_24dp/android/drawable-hdpi/ic_cached_white_24dp.png create mode 100644 app/src/main/res/ic_cached_white_24dp/android/drawable-mdpi/ic_cached_white_24dp.png create mode 100644 app/src/main/res/ic_cached_white_24dp/android/drawable-xhdpi/ic_cached_white_24dp.png create mode 100644 app/src/main/res/ic_cached_white_24dp/android/drawable-xxhdpi/ic_cached_white_24dp.png create mode 100644 app/src/main/res/ic_cached_white_24dp/android/drawable-xxxhdpi/ic_cached_white_24dp.png create mode 100644 app/src/main/res/ic_cached_white_24dp/ios/ic_cached_white.imageset/Contents.json create mode 100644 app/src/main/res/ic_cached_white_24dp/ios/ic_cached_white.imageset/ic_cached_white.png create mode 100644 app/src/main/res/ic_cached_white_24dp/ios/ic_cached_white.imageset/ic_cached_white_2x.png create mode 100644 app/src/main/res/ic_cached_white_24dp/ios/ic_cached_white.imageset/ic_cached_white_3x.png create mode 100644 app/src/main/res/ic_cached_white_24dp/web/ic_cached_white_24dp_1x.png create mode 100644 app/src/main/res/ic_cached_white_24dp/web/ic_cached_white_24dp_2x.png create mode 100644 app/src/main/res/layout/device.xml create mode 100644 app/src/main/res/layout/device_item.xml create mode 100644 app/src/main/res/layout/main_activity.xml create mode 100644 app/src/main/res/menu/menu_main.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/values-w820dp/dimens.xml create mode 100644 app/src/main/res/values/color.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ecc4083 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +*.apk + +# Generated files +bin/ +gen/ + +# Gradle files +.gradle/ +build/ +/*/build/ +gradlew* + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +#android-studio file +.idea +*.iml diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..4cd354c --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,31 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.2" + + defaultConfig { + applicationId "fr.mobdev.lpcprog" + minSdkVersion 12 + targetSdkVersion 23 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +repositories{ + maven { url "https://jitpack.io" } +} + +dependencies { + compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:design:23.1.1' + //compile 'com.github.felHR85:UsbSerial:4.1.1' + compile files('src/main/libs/d2xx.jar') +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..2494fe9 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /home/schoumi/projet/sdk/android-sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/app/src/DeviceAdapter.java b/app/src/DeviceAdapter.java new file mode 100644 index 0000000..7b12618 --- /dev/null +++ b/app/src/DeviceAdapter.java @@ -0,0 +1,57 @@ +package fr.mobdev.lpcprog; + +import android.hardware.usb.UsbDevice; +import android.hardware.usb.UsbDeviceConnection; +import android.os.Build; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import java.util.List; + +public class DeviceAdapter extends RecyclerView.Adapter { + + private List devices; + public DeviceAdapter(List devices){ + this.devices = devices; + } + + @Override + public DeviceHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.device_item,parent,false); + return new DeviceHolder(view); + } + + @Override + public void onBindViewHolder(DeviceHolder holder, int position) { + holder.setupDevice(devices.get(position)); + } + + @Override + public int getItemCount() { + return devices.size(); + } +} + +class DeviceHolder extends RecyclerView.ViewHolder { + + + public DeviceHolder(View itemView) { + super(itemView); + } + + public void setupDevice(UsbDevice device){ + if(Build.VERSION.SDK_INT >= 21) { + TextView name = (TextView) itemView.findViewById(R.id.device_name); + name.setText("Name: " + device.getProductName()); + } + TextView vendor = (TextView) itemView.findViewById(R.id.device_vendor_id); + vendor.setText("Vendor Id: "+device.getVendorId()); + TextView product = (TextView) itemView.findViewById(R.id.device_id); + product.setText("Product id: " + device.getProductId()); + + } + +} diff --git a/app/src/IspManager.java b/app/src/IspManager.java new file mode 100644 index 0000000..67eb8de --- /dev/null +++ b/app/src/IspManager.java @@ -0,0 +1,227 @@ +package fr.mobdev.lpcprog; + +import android.hardware.usb.UsbDevice; +import android.hardware.usb.UsbDeviceConnection; +import android.provider.Settings; + +import com.felhr.usbserial.UsbSerialDevice; +import com.felhr.usbserial.UsbSerialInterface; + +public class IspManager { + + //defines + private static final int REP_BUF = 100; + private static final byte[] SYNC_START = "?".getBytes(); + private static final byte[] SYNC = "Synchronized\r\n".getBytes(); + private static final byte[] SYNC_OK = "OK\r\n".getBytes(); + private static final byte[] DATA_BLOCK = "OK\r\n".getBytes(); + private static final byte[] DATA_BLOCK_RESEND = "RESEND\r\n".getBytes(); + private static final byte[] SYNC_ECHO_OFF = "A 0\r\n".getBytes(); + private static final byte[] READ_UID = "N\r\n".getBytes(); + private static final byte[] READ_PART_ID = "J\r\n".getBytes(); + private static final byte[] READ_BOOT_VERSION = "K\r\n".getBytes(); + + //members + private static IspManager instance = null; + private UsbSerialDevice serialPort = null; + + private IspManager(){ + + } + + public static IspManager getInstance(){ + if(instance == null) + instance = new IspManager(); + return instance; + } + + public boolean setupDevice(UsbDevice device, UsbDeviceConnection connection, int baudRate, int data, int stops, int parity, int flow){ + serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection); + if(serialPort.syncOpen()) { + serialPort.setBaudRate(baudRate); + serialPort.setDataBits(data); + serialPort.setStopBits(stops); + serialPort.setParity(parity); + serialPort.setFlowControl(flow); + return true; + } + return false; + } + + public boolean synchronize(int crystal_freq){ + if(serialPort == null) + return false; + byte[] buf; + if(serialPort.syncWrite(SYNC_START,500) != SYNC_START.length){ + System.out.println("Start"); + return false; + } + + buf = new byte[SYNC.length]; + serialPort.syncRead(buf,500); + String result = new String(buf); + String expected = new String(SYNC); + if(result.compareTo(expected) != 0) { + printbuffer(buf); + System.out.println("Start answer "+result); + return false; + } + if(serialPort.syncWrite(SYNC,500) != SYNC.length) { + System.out.println("SYNC write"); + return false; + } + clearBuffer(SYNC.length); + buf = new byte[SYNC_OK.length]; + serialPort.syncRead(buf,500); + result = new String(buf); + expected = new String(SYNC_OK); + if(result.compareTo(expected) != 0) { + printbuffer(buf); + System.out.println("SYNC OK "+result); + return false; + } + + String freq = String.valueOf(crystal_freq)+"\r\n"; + if(serialPort.syncWrite(freq.getBytes(),500) != freq.length()) { + System.out.println("freq write"); + return false; + } + + clearBuffer(freq.length()); + buf = new byte[SYNC_OK.length]; + serialPort.syncRead(buf,500); + result = new String(buf); + expected = new String(SYNC_OK); + if(result.compareTo(expected) != 0) { + System.out.println("freq answer "+result); + printbuffer(buf); + return false; + } + + if(serialPort.syncWrite(SYNC_ECHO_OFF,500) != SYNC_ECHO_OFF.length) { + System.out.println("Sync Echo Off write"); + return false; + } + + clearBuffer(SYNC_ECHO_OFF.length); + buf = new byte[3]; + serialPort.syncRead(buf,500); + + return true; + + + + } + + private void printbuffer(byte[] buffer){ + for(int i = 0; i < buffer.length; i++){ + System.out.println(String.format("%02x",buffer[i])); + } + } + + private void clearBuffer(int size){ + if(serialPort == null) + return; + + byte[] buf = new byte[size]; + int cpt=0; + do{ + int nb = serialPort.syncRead(buf,500); + System.out.println(String.format("%02x",buf[0])); + break;/* + if(nb < 0){ + cpt++; + if(cpt >=100) { + System.out.println("timeout"); + break; + } + } else if( nb == 0){ + System.out.println("nb = 0"); + return; + }*/ + }while(buf[0] == '\r' && buf[0] != '\n'); + + if(buf[0] == '\r') { + serialPort.syncRead(buf, 5); + System.out.println(String.format("%02x", buf[0])); + } + System.out.println("end"); + } + + public String[] readUid(){ + if(serialPort == null) + return null; + byte[] buf = new byte[REP_BUF]; + int ret = sendCommand(READ_UID,null); + if(ret != 0){ + System.out.println("Send Command "+ret); + return null; + } + int size = serialPort.syncRead(buf,1); + if(size<=0){ + System.out.println("Send size "+size); + return null; + } + String[] uids = new String[4]; + for(int i = 0; i < 4; i++){ + uids[0] = Long.toHexString(byteArrayToLong(buf,8*i+i*2)); + } + System.out.println("uids ok"); + return uids; + } + + public String readPartId(){ + return null; + } + + public String[] readBootVersion(){ + return null; + } + + public int sendCommand(byte[] cmd, String[] args){ + byte[] buf = new byte[3]; + if(serialPort.syncWrite(cmd,15) != cmd.length) + return -5; + int len = serialPort.syncRead(buf, 15); + System.out.println("Len "+len); + for(int i = 0; i < 3; i++){ + System.out.println(String.format("%02x", buf[i])); + } + if(len <= 0) + return -4; + int ret = parseRetCode(buf); + return ret; + } + + private int parseRetCode(byte[] data){ + String str = new String(data); + str = str.replace("\r\n",""); + + int ret = Integer.parseInt(str); + //int ret = byteArrayToInt(data,0); + return ret; + } + + private int byteArrayToInt(byte[] array, int offset){ + int value = 0; + value |= (array[offset] & 0xff) << 24; + value |= (array[offset+1] & 0xff) << 16; + value |= (array[offset+2] & 0xff) << 8; + value |= (array[offset+3] & 0xff); + return value; + } + + private long byteArrayToLong(byte[] array, int offset){ + long value = 0; + value |= (array[offset] & 0xff) << 56; + value |= (array[offset+1] & 0xff) << 48; + value |= (array[offset+2] & 0xff) << 40; + value |= (array[offset+3] & 0xff) << 32; + value |= (array[offset+4] & 0xff) << 24; + value |= (array[offset+5] & 0xff) << 16; + value |= (array[offset+6] & 0xff) << 8; + value |= (array[offset+7] & 0xff); + return value; + } +} + diff --git a/app/src/UsbComm.java b/app/src/UsbComm.java new file mode 100644 index 0000000..83068a7 --- /dev/null +++ b/app/src/UsbComm.java @@ -0,0 +1,80 @@ +package fr.mobdev.lpcprog; + +import android.app.Activity; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.hardware.usb.UsbDevice; +import android.hardware.usb.UsbDeviceConnection; +import android.hardware.usb.UsbManager; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class UsbComm { + private static final String ACTION_USB_PERMISSION = "fr.mobdev.usb_perm"; + private UsbManager manager = null; + private UsbDeviceConnection connection = null; + private static int val = 0; + private UsbDevice device = null; + + public UsbComm(Context context){ + manager = (UsbManager) context.getSystemService(Context.USB_SERVICE); + } + + public boolean searchForDevice(){ + HashMap usbDevices = manager.getDeviceList(); + if(!usbDevices.isEmpty()) { + for (Map.Entry entry : usbDevices.entrySet()) { + UsbDevice device = entry.getValue(); + int deviceVID = device.getVendorId(); + int devicePID = device.getProductId(); + if (deviceVID != 0x1d6b && devicePID != 0x0001 && devicePID != 0x0002 && devicePID != 0x0003) { + return true; + } + } + } + return false; + } + + public List getDevices(){ + List devices = new ArrayList<>(); + HashMap usbDevices = manager.getDeviceList(); + if(!usbDevices.isEmpty()) { + for (Map.Entry entry : usbDevices.entrySet()) { + UsbDevice device = entry.getValue(); + int deviceVID = device.getVendorId(); + int devicePID = device.getProductId(); + if (deviceVID != 0x1d6b && devicePID != 0x0001 && devicePID != 0x0002 && devicePID != 0x0003) { + devices.add(device); + } + } + } + return devices; + } + + public boolean askForPermission(UsbDevice device, Activity activity){ + if(!manager.hasPermission(device)) { + PendingIntent intent = PendingIntent.getBroadcast(activity, 0, new Intent(ACTION_USB_PERMISSION), 0); + manager.requestPermission(device, intent); + return false; + } + return true; + } + + public UsbDeviceConnection openConnection(UsbDevice device, Activity activity){ + if(!manager.hasPermission(device)) { + askForPermission(device, activity); + return null; + } + if(connection == null || this.device != device) { + connection = manager.openDevice(device); + this.device = device; + } + return connection; + } +} + diff --git a/app/src/androidTest/java/fr/mobdev/lpcprog/ApplicationTest.java b/app/src/androidTest/java/fr/mobdev/lpcprog/ApplicationTest.java new file mode 100644 index 0000000..724b8dd --- /dev/null +++ b/app/src/androidTest/java/fr/mobdev/lpcprog/ApplicationTest.java @@ -0,0 +1,13 @@ +package fr.mobdev.lpcprog; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..6905d37 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/fr/mobdev/lpcprog/DeviceActivity.java b/app/src/main/java/fr/mobdev/lpcprog/DeviceActivity.java new file mode 100644 index 0000000..3813356 --- /dev/null +++ b/app/src/main/java/fr/mobdev/lpcprog/DeviceActivity.java @@ -0,0 +1,92 @@ +package fr.mobdev.lpcprog; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.widget.TextView; + +import java.util.List; + +public class DeviceActivity extends AppCompatActivity { + + private UsbComm comm; + private USBDevice dev; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.device); + comm = UsbComm.getInstance(this); + List devices = comm.getDevices(); + int pid = getIntent().getIntExtra("PID",-1); + int vid = getIntent().getIntExtra("VID",-1); + for(USBDevice device : devices){ + if(device.PID == pid && device.VID == vid){ + dev = device; + System.out.println("device found"); + break; + } + } + if(dev != null) { + TextView name = (TextView) findViewById(R.id.name); + name.setText("Name: " + dev.description); + TextView vendor = (TextView) findViewById(R.id.vendor_id); + vendor.setText(String.format("Vendor Id: %04x", dev.VID)); + TextView product = (TextView) findViewById(R.id.id); + product.setText(String.format("Product id: %04x", dev.PID)); + } + doUsb(); + } + + private void doUsb(){ + System.out.println("doUsb"); + new Thread(new Runnable() { + @Override + public void run() { + boolean conn = comm.openConnection(dev); + IspManager manager = IspManager.getInstance(); + String uidStr = "No UID Found or error"; + String bootStr = "No Boot Version Found or error"; + String partidStr = "No Part ID Found or error"; + if(conn && manager.setupDevice(dev, 115200)) { + if(!manager.synchronizeIfPossible(10000)) { + System.out.println("Sync failed :("); + return; + } + String[] version = manager.readBootVersion(); + String partid = manager.readPartId(); + String[] uids = manager.readUid(); + if (uids != null) { + uidStr = String.format("UID: %08x - %08x - %08x - %08x",Long.parseLong(uids[0]), + Long.parseLong(uids[1]), + Long.parseLong(uids[2]), + Long.parseLong(uids[3])); + } + if (version != null) { + bootStr = "Boot Version: " + version[0] + "." + version[1]; + } + if(partid != null){ + partidStr = String.format("Part Id %08x",Long.parseLong(partid)); + } + } + updateIDS(uidStr,partidStr,bootStr); + + } + }).start(); + } + + private void updateIDS(final String uid, final String partid, final String boot) { + runOnUiThread(new Runnable() { + @Override + public void run() { + TextView view = (TextView) findViewById(R.id.uids); + view.setText(uid); + + view = (TextView) findViewById(R.id.part_id); + view.setText(partid); + + view = (TextView) findViewById(R.id.boot_version); + view.setText(boot); + } + }); + } +} diff --git a/app/src/main/java/fr/mobdev/lpcprog/DeviceAdapter.java b/app/src/main/java/fr/mobdev/lpcprog/DeviceAdapter.java new file mode 100644 index 0000000..6bc08d8 --- /dev/null +++ b/app/src/main/java/fr/mobdev/lpcprog/DeviceAdapter.java @@ -0,0 +1,55 @@ +package fr.mobdev.lpcprog; + +import android.hardware.usb.UsbDevice; +import android.hardware.usb.UsbDeviceConnection; +import android.os.Build; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import java.util.List; + +public class DeviceAdapter extends RecyclerView.Adapter { + + private List devices; + public DeviceAdapter(List devices){ + this.devices = devices; + } + + @Override + public DeviceHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.device_item,parent,false); + return new DeviceHolder(view); + } + + @Override + public void onBindViewHolder(DeviceHolder holder, int position) { + holder.setupDevice(devices.get(position)); + } + + @Override + public int getItemCount() { + return devices.size(); + } +} + +class DeviceHolder extends RecyclerView.ViewHolder { + + + public DeviceHolder(View itemView) { + super(itemView); + } + + public void setupDevice(USBDevice device){ + TextView name = (TextView) itemView.findViewById(R.id.device_name); + name.setText("Name: " + device.description); + TextView vendor = (TextView) itemView.findViewById(R.id.device_vendor_id); + vendor.setText(String.format("Vendor Id: %04x",device.VID)); + TextView product = (TextView) itemView.findViewById(R.id.device_id); + product.setText(String.format("Product id: %04x", device.PID)); + + } + +} diff --git a/app/src/main/java/fr/mobdev/lpcprog/IspManager.java b/app/src/main/java/fr/mobdev/lpcprog/IspManager.java new file mode 100644 index 0000000..dbf2bb9 --- /dev/null +++ b/app/src/main/java/fr/mobdev/lpcprog/IspManager.java @@ -0,0 +1,316 @@ +package fr.mobdev.lpcprog; + +import com.ftdi.j2xx.D2xxManager; +import com.ftdi.j2xx.FT_Device; + +import java.nio.ByteBuffer; +import java.util.Locale; + +public class IspManager { + + //defines + private static final int REP_BUF = 100; + private static final byte[] SYNC_START = "?".getBytes(); + private static final byte[] SYNC = "Synchronized\r\n".getBytes(); + private static final byte[] SYNC_OK = "OK\r\n".getBytes(); + private static final byte[] DATA_BLOCK = "OK\r\n".getBytes(); + private static final byte[] DATA_BLOCK_RESEND = "RESEND\r\n".getBytes(); + private static final byte[] SYNC_ECHO_OFF = "A 0\r\n".getBytes(); + private static final byte[] READ_UID = "N\r\n".getBytes(); + private static final byte[] READ_PART_ID = "J\r\n".getBytes(); + private static final byte[] READ_BOOT_VERSION = "K\r\n".getBytes(); + + //members + private static IspManager instance = null; + private FT_Device serialPort = null; + + private IspManager(){ + + } + + public static IspManager getInstance(){ + if(instance == null) + instance = new IspManager(); + return instance; + } + + public boolean setupDevice(USBDevice device, int baudRate){ + serialPort = device.device; + if(serialPort != null) + serialPort.resetDevice(); + else + System.out.println("device is null fuck"); + + if(serialPort!=null && serialPort.isOpen()){ + serialPort.setBaudRate(baudRate); + byte dc1=0x11; + byte dc3=0x13; + serialPort.setFlowControl(D2xxManager.FT_FLOW_XON_XOFF,dc1,dc3); + serialPort.setDataCharacteristics(D2xxManager.FT_DATA_BITS_8,D2xxManager.FT_STOP_BITS_1,D2xxManager.FT_PARITY_NONE); + byte l = 0x2; + serialPort.setLatencyTimer(l); + return true; + } + return false; + } + + public boolean synchronize(int crystal_freq){ + if(serialPort == null) + return false; + serialPort.purge(D2xxManager.FT_PURGE_RX); + serialPort.purge(D2xxManager.FT_PURGE_TX); + byte[] buf; + if(serialPort.write(SYNC_START) != SYNC_START.length){ + System.out.println("Start"); + return false; + } + + buf = new byte[SYNC.length]; + serialPort.read(buf,buf.length,500); + String result = new String(buf); + String expected = new String(SYNC); + if(result.compareTo(expected) != 0) { + printbuffer(buf); + serialPort.write("\r\n".getBytes()); + System.out.println("Start answer "+result); + return false; + } + if(serialPort.write(SYNC) != SYNC.length) { + System.out.println("SYNC write"); + return false; + } + clearBuffer(SYNC.length); + buf = new byte[SYNC_OK.length]; + serialPort.read(buf,buf.length,500); + result = new String(buf); + expected = new String(SYNC_OK); + if(result.compareTo(expected) != 0) { + printbuffer(buf); + System.out.println("SYNC OK "+result); + return false; + } + + String freq = String.valueOf(crystal_freq)+"\r\n"; + if(serialPort.write(freq.getBytes()) != freq.length()) { + System.out.println("freq write"); + return false; + } + + clearBuffer(freq.length()); + buf = new byte[SYNC_OK.length]; + serialPort.read(buf,buf.length,500); + result = new String(buf); + expected = new String(SYNC_OK); + if(result.compareTo(expected) != 0) { + System.out.println("freq answer "+result); + printbuffer(buf); + return false; + } + + if(serialPort.write(SYNC_ECHO_OFF) != SYNC_ECHO_OFF.length) { + System.out.println("Sync Echo Off write"); + return false; + } + + clearBuffer(SYNC_ECHO_OFF.length); + buf = new byte[3]; + int ret = serialPort.read(buf,buf.length,500); + System.out.println(String.format(Locale.getDefault(),"%d %02x %02x %02x",ret,buf[0],buf[1],buf[2])); + return true; + + + + } + + private void printbuffer(byte[] buffer){ + for(byte b : buffer){ + System.out.println(String.format("%02x",b)); + } + } + + private void clearBuffer(int size){ + if(serialPort == null) + return; + + byte[] buf = new byte[size]; + int readed = read(buf,size,500); + System.out.println("end "+(size-readed)); + } + + public String[] readUid(){ + if(serialPort == null) + return null; + int ret = sendCommand(READ_UID,null); + + if(ret != 0){ + System.out.println("Send Command "+ret); + return null; + } + + byte[] buf = new byte[REP_BUF]; + + int size = read(buf,50,500); + for(int i = 0; i < size; i++){ + System.out.println(String.format("%02x", buf[i])); + } + if(size<=0){ + System.out.println("Send size "+size); + return null; + } + String[] uids = new String[4]; + String buffer = new String(buf); + + if(buffer.contains("\r") && buffer.contains("\n")) + buffer = buffer.replace("\n",""); + else if(!buffer.contains("\r") && buffer.contains("\n")) + buffer = buffer.replace("\n","\r"); + + for(int i = 0; i < 4; i++){ + if(buffer.contains("\r")) { + uids[i] = buffer.substring(0, buffer.indexOf("\r")); + buffer = buffer.substring(buffer.indexOf("\r")+1); + } + } + System.out.println("uids ok"); + return uids; + } + + public String readPartId(){ + if(serialPort == null) + return null; + int ret = sendCommand(READ_PART_ID,null); + if(ret != 0) + return null; + byte[] buf = new byte[REP_BUF]; + int size = read(buf,20,500); + if(size <= 0) + return null; + String partId = new String(buf); + partId = partId.substring(0,partId.indexOf("\r\n")); + if(partId.contains("\r")) + partId = partId.replace("\r",""); + if(partId.contains("\n")) + partId = partId.replace("\n",""); + return partId; + } + + public String[] readBootVersion(){ + if(serialPort == null) + return null; + int ret = sendCommand(READ_BOOT_VERSION,null); + if(ret != 0){ + System.out.println("Send Command "+ret); + return null; + } + byte[] buf = new byte[REP_BUF]; + + int size = read(buf,50,500); + + if(size <= 0){ + System.out.println("Receive "+size); + return null; + } + String[] version = new String[2]; + String buffer = new String(buf); + + if(buffer.contains("\r") && buffer.contains("\n")) + buffer = buffer.replace("\n",""); + else if(!buffer.contains("\r") && buffer.contains("\n")) + buffer = buffer.replace("\n","\r"); + + for(int i = 0; i < 2; i++){ + if(buffer.contains("\r")) { + version[i] = buffer.substring(0, buffer.indexOf("\r")); + buffer = buffer.substring(buffer.indexOf("\r")+1); + } + } + + + return version; + } + + public int sendCommand(byte[] cmd, String[] args){ + byte[] buf = new byte[3]; + if(serialPort.write(cmd) != cmd.length) + return -5; + int len = read(buf, buf.length,500); + System.out.println("Len "+len); + for(int i = 0; i < 3; i++){ + System.out.println(String.format("%02x", buf[i])); + } + if(len <= 0) + return -4; + return parseRetCode(buf); + } + + public int read(byte[] buffer, int size, int timeout){ + long startTime = System.nanoTime(); + long timeoutNano = timeout * 1000000; + int sizeRead = 0; + + ByteBuffer output = ByteBuffer.wrap(buffer,0,size); + + while(sizeRead < size){ + int sizeToRead = serialPort.getQueueStatus(); + if(sizeRead + sizeToRead > size) + sizeToRead = size - sizeRead; + byte[] buf = new byte[sizeToRead]; + if(sizeToRead > 0) { + int sizeReceived = serialPort.read(buf, sizeToRead, 50); + if (sizeReceived < 0) + return sizeReceived; + sizeRead += sizeReceived; + if (sizeReceived != 0) + output.put(buf, 0, sizeReceived); + } + long time = System.nanoTime(); + if(time - startTime >= timeoutNano) + break; + } + return sizeRead; + } + + private int parseRetCode(byte[] data){ + String str = new String(data); + str = str.replace("\r\n",""); + + return Integer.parseInt(str); + } + + public boolean synchronizeIfPossible(int crystal_freq) { + if(!synchronize(crystal_freq)) { + serialPort.purge(D2xxManager.FT_PURGE_TX); + serialPort.purge(D2xxManager.FT_PURGE_RX); + String[] uids = readUid(); + if (uids == null) { + System.out.println("uids null fuck"); + return false; + } + } + + return true; + } + + /*private int byteArrayToInt(byte[] array, int offset){ + int value = 0; + value |= (array[offset] & 0xff) << 24; + value |= (array[offset+1] & 0xff) << 16; + value |= (array[offset+2] & 0xff) << 8; + value |= (array[offset+3] & 0xff); + return value; + } + + private long byteArrayToLong(byte[] array, int offset){ + long value = 0; + value |= (array[offset] & 0xff) << 56; + value |= (array[offset+1] & 0xff) << 48; + value |= (array[offset+2] & 0xff) << 40; + value |= (array[offset+3] & 0xff) << 32; + value |= (array[offset+4] & 0xff) << 24; + value |= (array[offset+5] & 0xff) << 16; + value |= (array[offset+6] & 0xff) << 8; + value |= (array[offset+7] & 0xff); + return value; + }*/ +} + diff --git a/app/src/main/java/fr/mobdev/lpcprog/MainActivity.java b/app/src/main/java/fr/mobdev/lpcprog/MainActivity.java new file mode 100644 index 0000000..046c6f3 --- /dev/null +++ b/app/src/main/java/fr/mobdev/lpcprog/MainActivity.java @@ -0,0 +1,94 @@ +package fr.mobdev.lpcprog; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.view.GestureDetector; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import android.widget.Toast; + +import java.util.List; + +public class MainActivity extends AppCompatActivity { + + private UsbComm comm; + private List devices; + private int value = 0; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main_activity); + Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar); + setSupportActionBar(toolbar); + comm = UsbComm.getInstance(this); + + final GestureDetector gestureDetector = new GestureDetector(MainActivity.this, new GestureDetector.SimpleOnGestureListener(){ + @Override + public boolean onSingleTapUp(MotionEvent e){ + return true; + } + }); + + RecyclerView view = (RecyclerView) findViewById(R.id.device_list); + view.setLayoutManager(new LinearLayoutManager(this)); + view.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() { + + @Override + public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e){ + View v = view.findChildViewUnder(e.getX(), e.getY()); + + if(v != null && gestureDetector.onTouchEvent(e)){ + int pos = view.getChildAdapterPosition(v); + System.out.println("touch "+ ++value); + onItemClick(pos); + return true; + } + return false; + } + }); + updateList(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + if (id == R.id.action_refresh) { + updateList(); + return true; + } + + return super.onOptionsItemSelected(item); + } + + private void updateList(){ + devices = comm.getDevices(); + DeviceAdapter adapter = new DeviceAdapter(devices); + RecyclerView view = (RecyclerView) findViewById(R.id.device_list); + view.setAdapter(adapter); + } + + + + private void onItemClick(final int pos){ + if(devices.size()>pos){ + Intent intent = new Intent(this,DeviceActivity.class); + intent.putExtra("PID",devices.get(pos).PID); + intent.putExtra("VID",devices.get(pos).VID); + startActivity(intent); + } + } +} diff --git a/app/src/main/java/fr/mobdev/lpcprog/USBDevice.java b/app/src/main/java/fr/mobdev/lpcprog/USBDevice.java new file mode 100644 index 0000000..6a7627b --- /dev/null +++ b/app/src/main/java/fr/mobdev/lpcprog/USBDevice.java @@ -0,0 +1,10 @@ +package fr.mobdev.lpcprog; + +import com.ftdi.j2xx.FT_Device; + +public class USBDevice { + public int PID; + public int VID; + public String description; + public FT_Device device; +} diff --git a/app/src/main/java/fr/mobdev/lpcprog/UsbComm.java b/app/src/main/java/fr/mobdev/lpcprog/UsbComm.java new file mode 100644 index 0000000..84e1b75 --- /dev/null +++ b/app/src/main/java/fr/mobdev/lpcprog/UsbComm.java @@ -0,0 +1,89 @@ +package fr.mobdev.lpcprog; + +import android.content.Context; + +import com.ftdi.j2xx.D2xxManager; + +import java.util.ArrayList; +import java.util.List; + +public class UsbComm { + + private static UsbComm instance = null; + + private D2xxManager manager = null; + private Context context; + List openedDevices; + + + private UsbComm(Context context){ + openedDevices = new ArrayList<>(); + try { + manager = D2xxManager.getInstance(context); + this.context = context; + } catch (D2xxManager.D2xxException e) { + e.printStackTrace(); + } + } + + public static UsbComm getInstance(Context context){ + if(instance == null) + instance = new UsbComm(context); + return instance; + } + + public List getDevices(){ + if(manager == null) + return null; + + List devicesList = new ArrayList<>(); + int deviceCount = manager.createDeviceInfoList(context); + if(deviceCount > 0) { + D2xxManager.FtDeviceInfoListNode[] devices = new D2xxManager.FtDeviceInfoListNode[deviceCount]; + manager.getDeviceInfoList(deviceCount, devices); + for (int i = 0; i < deviceCount; i++) { + int deviceVID = devices[i].id >> 16; + int devicePID = devices[i].id & 0xFFFF; + if (deviceVID != 0x1d6b && devicePID != 0x0001 && devicePID != 0x0002 && devicePID != 0x0003) { + USBDevice device = new USBDevice(); + device.VID = deviceVID; + device.PID = devicePID; + device.description = devices[i].description; + devicesList.add(device); + } + } + } + return devicesList; + } + + public boolean openConnection(USBDevice device) { + if(manager == null) + return false; + int deviceCount = manager.createDeviceInfoList(context); + if (deviceCount > 0) { + D2xxManager.FtDeviceInfoListNode[] devices = new D2xxManager.FtDeviceInfoListNode[deviceCount]; + manager.getDeviceInfoList(deviceCount,devices); + for (USBDevice dev : openedDevices) { + if(dev.PID == device.PID && dev.VID == device.VID && dev.device.isOpen()){ + device.device = dev.device; + return true; + } + else if(dev.PID == device.PID && dev.VID == device.VID && !dev.device.isOpen()){ + openedDevices.remove(dev); + } + } + for (int i = 0; i < deviceCount; i++) { + int deviceVID = devices[i].id >> 16; + int devicePID = devices[i].id & 0xFFFF; + if (deviceVID == device.VID && devicePID == device.PID) { + device.device = manager.openByIndex(context,i); + if(device.device != null) + openedDevices.add(device); + return true; + } + } + } + return false; + } +} + diff --git a/app/src/main/libs/d2xx.jar b/app/src/main/libs/d2xx.jar new file mode 100644 index 0000000000000000000000000000000000000000..760233d37761f562fdf0aba5ce2efb1a789c34fd GIT binary patch literal 133045 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�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]q`qx+4Xn69IL5^z{r??d&uTT(4iu)u_PG>kJ}X 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 ATmS$7 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_refresh.png b/app/src/main/res/drawable-hdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..42d5b05db0b7cf446b412570c53da2115210c06a GIT binary patch literal 347 zcmV-h0i^zkP)A-9wuC)7}cawa;{86 tAOFMn#^#;tc=cgypreuCJNnnJ)+cF`VWBeD%d~pR@4V;x z3*iZ+Z=n($RKE4{aB1mQYwaBVi=DB7LQCJL*IfT4wmQvsXP3r}jOxV&#&>YkA}S2- z;`NA#B7MdW#J<_svpdA9*ZZIj{*PG>dGqB%p)@oR@l*fa v1%I)*`PtDdgNG1;uDL(a-paJ`?hmCCipAgL0Gkm|00000NkvXXu0mjfX}xgm literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_refresh.png b/app/src/main/res/drawable-xhdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..6c7e08e7e564c260c1dc4adffe48b12880e1e55f GIT binary patch literal 457 zcmV;)0XF`LP)>dN|tWJaFe9VAPB;BMt>j){Vgqo(h{V#X1H+GKM{;@)3Oh$MOd~IVXSys zbiIva<9yt9bJpiPXXeiP-Vwr=FJHDqlspYO^cnHV8&{l@C#DCUrpb_L8q#3R8+?H( z?^tQXmV11PYi8-dJ${216X=!_S>l8UvdlI|+<3#MO!zzY2>f!)vFRQkF&$2ei2kvx zD*VZROnq8SPRmiQNYS3Lsm?y)2oKn(Ag0zT=NNCNg1j2cfD8QW3L4T@a*3Z+K}VXh zuJP6t^ra>40dG~oNE$+(@RJp`jel2#rPt8+s+0MIbocaqtjYAQ^tbhm+hn#P6E%Gc zW6lM6u(|yXR^FT{$jpF6eV5ixBFd92sO!CU$Nr1)h>{fg#i=^fvVM3}Jw0>@y9Z^a z{PcqqcvSdjR^8(dfqRbGVTF0ZB-o{*2J;)g?hS9Pu9v6JU|7Np${x;M2q8#PXD}5$ zpsr~!Sz@0vE_vkxgC1>aM{*z*3JO7ja78rWzhEO6JuR;>8Z7Lrtb^fTgN=P8U@uAtSc!pH zSl^k%)*q0|B}bHapEM!P?CmAHd;4Y>(aNcRswGd2fC=j+K>_m6g?hE3)Kq*`>?{ zSJbI;%sX6W$(lwds({IMI-_4aR27IN_1VYQbZ%V!>{1*q&8F9XgpA^GW_AMl`{xvwlG!Ed?>?va zY@01&{@xpkQ_*ah_w&8QXT@vEY$Nn@9oH@+GObpS7I7ShEyeA?{ASAQH>{oQ7R+xq zy>5HjHBGcu)Y67rcUsi)y_U?8<;G={9|}&D2g#o89&)bbXE|A%Q4h``ok`*>YCj7q z3`h;t8DOFBHQXspNa6JJi8nlH+9bx=^0{#<$l;v)9^xafnC21p=%9-XIp)~Vde%*L z4B&*h9G++=oI|mx>^RKwB@|4RW#NTRniqTx__VNQs48=ZdG@LQtS#mdUc%F3#(^$SqH+>635l@9;_002ovPDHLkV1gKXJa+&9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_refresh.png b/app/src/main/res/drawable-xxxhdpi/ic_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..55a0899ff67399555fdc2b64f7a2a784adbe8c7d GIT binary patch literal 861 zcmV-j1ETziP)8@vbcv9vP;MCqLLJJ z=7Pl7_7lr0o1YY`;v)1}B}=Dpna=IzXb`QG>U`+R5LoB92IZxRV7CnqN-CnqN- zCnqOOqJtr3SZ0k92ORU014^v%lE+-=g^NHNA2!f1zE=J30DM|eFjg@2QS*y5AoDa04Qj@Q0eCFaS}PbV$Zk|fOq zt}x0Aw(Y=w>xsTgkzU_l_fTNh?8D==`dehFKUIt~+~%&SS6BV)A2Q9^IMg}A9;fQX zc$8_~%8hf0bUg4=%42Jenz)q7V+#Cd@u~7#6*bRNbgR!4Q+fmD6|ZhOLVQ4@1)8OT z`7pYj=QqAi3rtGuKV1cUT^2}6-PTrA$CiMv#{zv)(6OrF>##skD%t9*h#%g9G-)VS z89$r_I;3E|RmTrwfg!P7F@hi50y9FGc|-U?EwC&E$r{5CW`Q*!M884&AQmVI0XmK1 zS8hRSVp=h-KUy&K^z#USJ)UsM8-XMl=A@GCuioey+62QtdEMp? zSLvjY8tQ1Hivh-2klGb-^{v1Us#!zd{I%eJH@5R=!Cx`B?=#G&Q1H8q7(R7rhTF1z2r|}W1U$Iy>5gy+POxKMON9S%rQrl*A-9wuC)7}cawa;{86 tAOFMn#^#;tc=cgypreuCJNnnJ)+cF`VWBeD%d~pR@4V;x z3*iZ+Z=n($RKE4{aB1mQYwaBVi=DB7LQCJL*IfT4wmQvsXP3r}jOxV&#&>YkA}S2- z;`NA#B7MdW#J<_svpdA9*ZZIj{*PG>dGqB%p)@oR@l*fa v1%I)*`PtDdgNG1;uDL(a-paJ`?hmCCipAgL0Gkm|00000NkvXXu0mjfX}xgm literal 0 HcmV?d00001 diff --git a/app/src/main/res/ic_cached_white_24dp/android/drawable-xhdpi/ic_cached_white_24dp.png b/app/src/main/res/ic_cached_white_24dp/android/drawable-xhdpi/ic_cached_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..6c7e08e7e564c260c1dc4adffe48b12880e1e55f GIT binary patch literal 457 zcmV;)0XF`LP)>dN|tWJaFe9VAPB;BMt>j){Vgqo(h{V#X1H+GKM{;@)3Oh$MOd~IVXSys zbiIva<9yt9bJpiPXXeiP-Vwr=FJHDqlspYO^cnHV8&{l@C#DCUrpb_L8q#3R8+?H( z?^tQXmV11PYi8-dJ${216X=!_S>l8UvdlI|+<3#MO!zzY2>f!)vFRQkF&$2ei2kvx zD*VZROnq8SPRmiQNYS3Lsm?y)2oKn(Ag0zT=NNCNg1j2cfD8QW3L4T@a*3Z+K}VXh zuJP6t^ra>40dG~oNE$+(@RJp`jel2#rPt8+s+0MIbocaqtjYAQ^tbhm+hn#P6E%Gc zW6lM6u(|yXR^FT{$jpF6eV5ixBFd92sO!CU$Nr1)h>{fg#i=^fvVM3}Jw0>@y9Z^a z{PcqqcvSdjR^8(dfqRbGVTF0ZB-o{*2J;)g?hS9Pu9v6JU|7Np${x;M2q8#PXD}5$ zpsr~!Sz@0vE_vkxgC1>aM{*z*3JO7ja78rWzhEO6JuR;>8Z7Lrtb^fTgN=P8U@uAtSc!pH zSl^k%)*q0|B}bHapEM!P?CmAHd;4Y>(aNcRswGd2fC=j+K>_m6g?hE3)Kq*`>?{ zSJbI;%sX6W$(lwds({IMI-_4aR27IN_1VYQbZ%V!>{1*q&8F9XgpA^GW_AMl`{xvwlG!Ed?>?va zY@01&{@xpkQ_*ah_w&8QXT@vEY$Nn@9oH@+GObpS7I7ShEyeA?{ASAQH>{oQ7R+xq zy>5HjHBGcu)Y67rcUsi)y_U?8<;G={9|}&D2g#o89&)bbXE|A%Q4h``ok`*>YCj7q z3`h;t8DOFBHQXspNa6JJi8nlH+9bx=^0{#<$l;v)9^xafnC21p=%9-XIp)~Vde%*L z4B&*h9G++=oI|mx>^RKwB@|4RW#NTRniqTx__VNQs48=ZdG@LQtS#mdUc%F3#(^$SqH+>635l@9;_002ovPDHLkV1gKXJa+&9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/ic_cached_white_24dp/android/drawable-xxxhdpi/ic_cached_white_24dp.png b/app/src/main/res/ic_cached_white_24dp/android/drawable-xxxhdpi/ic_cached_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..55a0899ff67399555fdc2b64f7a2a784adbe8c7d GIT binary patch literal 861 zcmV-j1ETziP)8@vbcv9vP;MCqLLJJ z=7Pl7_7lr0o1YY`;v)1}B}=Dpna=IzXb`QG>U`+R5LoB92IZxRV7CnqN-CnqN- zCnqOOqJtr3SZ0k92ORU014^v%lE+-=g^NHNA2!f1zE=J30DM|eFjg@2QS*y5AoDa04Qj@Q0eCFaS}PbV$Zk|fOq zt}x0Aw(Y=w>xsTgkzU_l_fTNh?8D==`dehFKUIt~+~%&SS6BV)A2Q9^IMg}A9;fQX zc$8_~%8hf0bUg4=%42Jenz)q7V+#Cd@u~7#6*bRNbgR!4Q+fmD6|ZhOLVQ4@1)8OT z`7pYj=QqAi3rtGuKV1cUT^2}6-PTrA$CiMv#{zv)(6OrF>##skD%t9*h#%g9G-)VS z89$r_I;3E|RmTrwfg!P7F@hi50y9FGc|-U?EwC&E$r{5CW`Q*!M884&AQmVI0XmK1 zS8hRSVp=h-KUy&K^z#USJ)UsM8-XMl=A@GCuioey+62QtdEMp? zSLvjY8tQ1Hivh-2klGb-^{v1Us#!zd{I%eJH@5R=!Cx`B?=#G&Q1H8q7(R7rhTF1z2r|}W1U$Iy>5gy+POxKMON9S%rQrl*VWBeD%d~pR@4V;x z3*iZ+Z=n($RKE4{aB1mQYwaBVi=DB7LQCJL*IfT4wmQvsXP3r}jOxV&#&>YkA}S2- z;`NA#B7MdW#J<_svpdA9*ZZIj{*PG>dGqB%p)@oR@l*fa v1%I)*`PtDdgNG1;uDL(a-paJ`?hmCCipAgL0Gkm|00000NkvXXu0mjfX}xgm literal 0 HcmV?d00001 diff --git a/app/src/main/res/ic_cached_white_24dp/ios/ic_cached_white.imageset/ic_cached_white_2x.png b/app/src/main/res/ic_cached_white_24dp/ios/ic_cached_white.imageset/ic_cached_white_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6c7e08e7e564c260c1dc4adffe48b12880e1e55f GIT binary patch literal 457 zcmV;)0XF`LP)>dN|tWJaFe9VAPB;BMt>j){Vgqo(h{V#X1H+GKM{;@)3Oh$MOd~IVXSys zbiIva<9yt9bJpiPXXeiP-Vwr=FJHDqlspYO^cnHV8&{l@C#DCUrpb_L8q#3R8+?H( z?^tQXmV11PYi8-dJ${216X=!_S>l8UvdlI|+<3#MO!zzY2>f!)vFRQkF&$2ei2kvx zD*VZROnq8SPRmiQNYS3Lsm?y)2oKn(Ag0zT=NNCNg1j2cfD8QW3L4T@a*3Z+K}VXh zuJP6t^ra>40dG~oNE$+(@RJp`jel2#rPt8+s+0MIbocaqtjYAQ^tbhm+hn#P6E%Gc zW6lM6u(|yXR^FT{$jpF6eV5ixBFd92sO!CU$Nr1)h>{fg#i=^fvVM3}Jw0>@y9Z^a z{PcqqcvSdjR^8(dfqRbGVTF0ZB-o{*2J;)g?hS9Pu9v6JU|7Np${x;M2q8#PXD}5$ zpsr~!Sz@0vE_vkxgC1>aM{*z*3JO7ja78rWzhEO6JuR;>8Z7Lrtb^fTgN=P8U@uAtSc!pH zSl^k%)*q0|B}bHapEM!P?CmAHd;4Y>(aNcRswGd2fC=j+K>_m6g?hE3)Kq*`>?{ zSJbI;%sX6W$(lwds({IMI-_4aR27IN_1VYQbZ%V!>{1*q&8F9XgpA^GW_AMl`{xvwlG!Ed?>?va zY@01&{@xpkQ_*ah_w&8QXT@vEY$Nn@9oH@+GObpS7I7ShEyeA?{ASAQH>{oQ7R+xq zy>5HjHBGcu)Y67rcUsi)y_U?8<;G={9|}&D2g#o89&)bbXE|A%Q4h``ok`*>YCj7q z3`h;t8DOFBHQXspNa6JJi8nlH+9bx=^0{#<$l;v)9^xafnC21p=%9-XIp)~Vde%*L z4B&*h9G++=oI|mx>^RKwB@|4RW#NTRniqTx__VNQs48=ZdG@LQtS#mdUc%F3#(^$SqH+>635l@9;_002ovPDHLkV1gKXJa+&9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/ic_cached_white_24dp/web/ic_cached_white_24dp_1x.png b/app/src/main/res/ic_cached_white_24dp/web/ic_cached_white_24dp_1x.png new file mode 100644 index 0000000000000000000000000000000000000000..91dc80843ed1d1b47a9397e4fe06a1788c9eb8b2 GIT binary patch literal 245 zcmVVWBeD%d~pR@4V;x z3*iZ+Z=n($RKE4{aB1mQYwaBVi=DB7LQCJL*IfT4wmQvsXP3r}jOxV&#&>YkA}S2- z;`NA#B7MdW#J<_svpdA9*ZZIj{*PG>dGqB%p)@oR@l*fa v1%I)*`PtDdgNG1;uDL(a-paJ`?hmCCipAgL0Gkm|00000NkvXXu0mjfX}xgm literal 0 HcmV?d00001 diff --git a/app/src/main/res/ic_cached_white_24dp/web/ic_cached_white_24dp_2x.png b/app/src/main/res/ic_cached_white_24dp/web/ic_cached_white_24dp_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6c7e08e7e564c260c1dc4adffe48b12880e1e55f GIT binary patch literal 457 zcmV;)0XF`LP)>dN|tWJaFe9VAPB;BMt>j){Vgqo(h{V#X1H+GKM{;@)3Oh$MOd~IVXSys zbiIva<9yt9bJpiPXXeiP-Vwr=FJHDqlspYO^cnHV8&{l@C#DCUrpb_L8q#3R8+?H( z?^tQXmV11PYi8-dJ${216X=!_S>l8UvdlI|+<3#MO!zzY2>f!)vFRQkF&$2ei2kvx zD*VZROnq8SPRmiQNYS3Lsm?y)2oKn(Ag0zT=NNCNg1j2cfD8QW3L4T@a*3Z+K}VXh zuJP6t^ra>40dG~oNE$+(@RJp`jel2#rPt8+s+0MIbocaqtjYAQ^tbhm+hn#P6E%Gc zW6lM6u(|yXR^FT{$jpF6eV5ixBFd92sO!CU$Nr1)h>{fg#i=^fvVM3}Jw0>@y9Z^a z{PcqqcvSdjR^8(dfqRbGVTF0ZB-o{*2J;)g?hS9Pu9v6JU|7Np${x;M2q8#PXD}5$ zpsr~!Sz@0vE_vkxgC1>a + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/device_item.xml b/app/src/main/res/layout/device_item.xml new file mode 100644 index 0000000..2be5fe7 --- /dev/null +++ b/app/src/main/res/layout/device_item.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml new file mode 100644 index 0000000..398fecd --- /dev/null +++ b/app/src/main/res/layout/main_activity.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml new file mode 100644 index 0000000..a477c7c --- /dev/null +++ b/app/src/main/res/menu/menu_main.xml @@ -0,0 +1,9 @@ +

+ + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..324e72cdd7480cb983fa1bcc7ce686e51ef87fe7 GIT binary patch literal 7718 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..63fc816 --- /dev/null +++ b/app/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ + + + 64dp + diff --git a/app/src/main/res/values/color.xml b/app/src/main/res/values/color.xml new file mode 100644 index 0000000..ba55cb6 --- /dev/null +++ b/app/src/main/res/values/color.xml @@ -0,0 +1,6 @@ + + + #000000 + #000000 + #FFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..47c8224 --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 16dp + 16dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..1447dd3 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + LPCProg + + Hello world! + Refresh + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..4409a68 --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + +