aboutsummaryrefslogtreecommitdiff
path: root/demo/src/intelhex.ts
diff options
context:
space:
mode:
authorUri Shaked2019-11-21 19:40:02 +0200
committerUri Shaked2019-11-21 20:05:23 +0200
commitb9dfd552a62a46449532d49adc0773589076c808 (patch)
tree8eb1ec1f49e7b8e097a51ee6bf266a609eafac43 /demo/src/intelhex.ts
parentchore: release 0.2.0 (diff)
downloadavr8js-b9dfd552a62a46449532d49adc0773589076c808.tar.gz
avr8js-b9dfd552a62a46449532d49adc0773589076c808.tar.bz2
avr8js-b9dfd552a62a46449532d49adc0773589076c808.zip
feat: add blink demo
Diffstat (limited to '')
-rw-r--r--demo/src/intelhex.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/demo/src/intelhex.ts b/demo/src/intelhex.ts
new file mode 100644
index 0000000..ba5d6c8
--- /dev/null
+++ b/demo/src/intelhex.ts
@@ -0,0 +1,18 @@
+/**
+ * Minimal Intel HEX loader
+ * Part of AVR8js
+ *
+ * Copyright (C) 2019, Uri Shaked
+ */
+
+export function loadHex(source: string, target: Uint8Array) {
+ for (const line of source.split('\n')) {
+ if (line[0] === ':' && line.substr(7, 2) === '00') {
+ const bytes = parseInt(line.substr(1, 2), 16);
+ const addr = parseInt(line.substr(3, 4), 16);
+ for (let i = 0; i < bytes; i++) {
+ target[addr + i] = parseInt(line.substr(9 + i * 2, 2), 16);
+ }
+ }
+ }
+}