Skip to content

Commit 6e3e57b

Browse files
authored
Merge branch 'master' into update-for-latest-nordic-dfu
2 parents 3f15257 + 9ce5c6a commit 6e3e57b

File tree

4 files changed

+50
-60
lines changed

4 files changed

+50
-60
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,11 @@ An example that forwards the information to a React Native app:
5151

5252
```
5353
...
54-
55-
public static final String BROADCAST_PROGRESS_PF = "org.microbit.android.partialflashing.broadcast.BROADCAST_PROGRESS";
56-
public static final String EXTRA_PROGRESS_PF = "org.microbit.android.partialflashing.extra.EXTRA_PROGRESS";
54+
public static final String BROADCAST_PROGRESS = "org.microbit.android.partialflashing.broadcast.BROADCAST_PROGRESS";
55+
public static final String BROADCAST_START = "org.microbit.android.partialflashing.broadcast.BROADCAST_START";
56+
public static final String BROADCAST_COMPLETE = "org.microbit.android.partialflashing.broadcast.BROADCAST_COMPLETE";
57+
public static final String EXTRA_PROGRESS = "org.microbit.android.partialflashing.extra.EXTRA_PROGRESS";
58+
public static final String BROADCAST_PF_FAILED = "org.microbit.android.partialflashing.broadcast.BROADCAST_PF_FAILED";
5759
5860
private ReactContext mReactContext;
5961
private LocalBroadcastReceiver mLocalBroadcastReceiver;

pfLibrary.iml

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,26 @@
1717
<option name="ALLOW_USER_CONFIGURATION" value="false" />
1818
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
1919
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
20-
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/debug" />
21-
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
2220
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
2321
<option name="PROJECT_TYPE" value="1" />
2422
</configuration>
2523
</facet>
2624
</component>
2725
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
28-
<output url="file://$MODULE_DIR$/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
29-
<output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
26+
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
27+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
3028
<exclude-output />
3129
<content url="file://$MODULE_DIR$">
3230
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
33-
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true" />
31+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
3432
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
35-
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />
33+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
3634
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
3735
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
3836
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
39-
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
37+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
4038
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
41-
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
39+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
4240
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
4341
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
4442
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
@@ -86,37 +84,26 @@
8684
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
8785
<excludeFolder url="file://$MODULE_DIR$/build/generated/not_namespaced_r_class_sources" />
8886
<excludeFolder url="file://$MODULE_DIR$/build/generated/source/r" />
89-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/aapt_friendly_merged_manifests" />
90-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
91-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations_typedef_file" />
92-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations_zip" />
93-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
94-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compile_library_classes" />
95-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compile_only_not_namespaced_r_class_jar" />
96-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/full_jar" />
87+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
88+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/attr" />
89+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
91+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
92+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
9793
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
9894
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/intermediate-jars" />
99-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
100-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_and_local_jars_jni" />
101-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_assets" />
102-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_java_res" />
103-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_manifest" />
104-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_jni_libs" />
105-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
106-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_shaders" />
107-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged-classes" />
108-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged_res" />
109-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/public_res" />
95+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
96+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
97+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
11098
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
111-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/runtime_library_classes" />
112-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
113-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
114-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
99+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
100+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
115101
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
102+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/typedefs.txt" />
116103
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
117104
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
118105
</content>
119-
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
106+
<orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" />
120107
<orderEntry type="sourceFolder" forTests="false" />
121108
<orderEntry type="library" name="Gradle: com.android.support:support-v4:23.0.0@aar" level="project" />
122109
<orderEntry type="library" name="Gradle: com.android.support:support-annotations:28.0.0@jar" level="project" />

src/main/java/org/microbit/android/partialflashing/HexUtils.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,5 +211,30 @@ public int numOfLines(String filePath) throws IOException {
211211
return lines;
212212
}
213213

214+
215+
/*
216+
Record to byte Array
217+
@param hexString string to convert
218+
@return byteArray of hex
219+
*/
220+
public static byte[] recordToByteArray(String hexString, int offset, int packetNum){
221+
int len = hexString.length();
222+
byte[] data = new byte[(len/2) + 4];
223+
for(int i=0; i < len; i+=2){
224+
data[(i / 2) + 4] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4) + Character.digit(hexString.charAt(i+1), 16));
225+
}
226+
227+
// WRITE Command
228+
data[0] = 0x01;
229+
230+
data[1] = (byte)(offset >> 8);
231+
data[2] = (byte)(offset & 0xFF);
232+
data[3] = (byte)(packetNum & 0xFF);
233+
234+
Log.v(TAG, "Sent: " + data.toString());
235+
236+
return data;
237+
}
238+
214239
}
215240

src/main/java/org/microbit/android/partialflashing/PartialFlashingBaseService.java

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ public int attemptPartialFlash(String filePath) {
350350
offsetToSend = hex.getSegmentAddress(magicIndex + lineCount);
351351
}
352352

353-
byte chunk[] = recordToByteArray(hexData, offsetToSend, packetNum);
353+
byte chunk[] = HexUtils.recordToByteArray(hexData, offsetToSend, packetNum);
354354

355355
// Write without response
356356
// Wait for previous write to complete
@@ -428,30 +428,6 @@ public int attemptPartialFlash(String filePath) {
428428
return PF_SUCCESS;
429429
}
430430

431-
/*
432-
Record to byte Array
433-
@param hexString string to convert
434-
@return byteArray of hex
435-
*/
436-
private static byte[] recordToByteArray(String hexString, int offset, int packetNum){
437-
int len = hexString.length();
438-
byte[] data = new byte[(len/2) + 4];
439-
for(int i=0; i < len; i+=2){
440-
data[(i / 2) + 4] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4) + Character.digit(hexString.charAt(i+1), 16));
441-
}
442-
443-
// WRITE Command
444-
data[0] = 0x01;
445-
446-
data[1] = (byte)(offset >> 8);
447-
data[2] = (byte)(offset & 0xFF);
448-
data[3] = (byte)(packetNum & 0xFF);
449-
450-
Log.v(TAG, "Sent: " + data.toString());
451-
452-
return data;
453-
}
454-
455431
/**
456432
* Initializes bluetooth adapter
457433
*

0 commit comments

Comments
 (0)