diff --git a/Makefile b/Makefile index cd4147af..b31c5e86 100644 --- a/Makefile +++ b/Makefile @@ -23,9 +23,10 @@ $(TARGETS_CONFIG): %-config: $(TARGETS): %: $(RELEASE_DIR) %-config @echo "build $@" $(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) 2>&1 | tee logs/buildroot_$@_output.txt - cp -f $(BUILDROOT)/output/images/sdcard.img $(RELEASE_DIR)/OpenVoiceOS_$@.img + #cp -f $(BUILDROOT)/output/images/sdcard.img $(RELEASE_DIR)/OpenVoiceOS_$@.img + rsync -ah --progress $(BUILDROOT)/output/images/sdcard.img $(RELEASE_DIR)/OpenVoiceOS_$@.img rm $(RELEASE_DIR)/OpenVoiceOS_$@.img.xz - xz -3 -T0 $(RELEASE_DIR)/OpenVoiceOS_$@.img + xz -3 -T0 -v $(RELEASE_DIR)/OpenVoiceOS_$@.img # Do not clean when building for one target ifneq ($(words $(filter $(TARGETS),$(MAKECMDGOALS))), 1) diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index 1d49acd2..0ee29b96 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -156,6 +156,7 @@ menu "Additional external python modules" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-num2words/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-oauth2client/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-olefile/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-audio-plugin-simple/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-local-backend/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-ocp-audio-plugin/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-plugin-manager/Config.in" @@ -228,6 +229,7 @@ menu "Additional external python modules" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-yagmail/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-youtube-dl/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-youtube-searcher/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-yt-dlp/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ytmusicapi/Config.in" endmenu menu "Mycroft A.I. Personal Assistant" diff --git a/buildroot-external/board/raspberrypi/cmdline.txt b/buildroot-external/board/raspberrypi/cmdline.txt index d2a8a21f..6588c47c 100644 --- a/buildroot-external/board/raspberrypi/cmdline.txt +++ b/buildroot-external/board/raspberrypi/cmdline.txt @@ -1 +1 @@ -dwc_otg.lpm_enable=0 root=PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 rootfstype=ext4 fsck.repair=yes zram.enabled=1 zram.num_devices=4 console=ttyAMA0,115200 consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo systemd.show_status=0 rootwait quiet splash +dwc_otg.lpm_enable=0 root=PARTUUID=c0932a41-44cf-463b-8152-d43188553ed4 rootfstype=ext4 fsck.repair=yes zram.enabled=1 zram.num_devices=4 console=tty1 consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo systemd.show_status=0 rootwait quiet splash diff --git a/buildroot-external/board/raspberrypi/config.txt b/buildroot-external/board/raspberrypi/config.txt index f9dfd32f..3e299c3e 100644 --- a/buildroot-external/board/raspberrypi/config.txt +++ b/buildroot-external/board/raspberrypi/config.txt @@ -8,7 +8,7 @@ start_file=start.elf fixup_file=fixup.dat -kernel=zImage +kernel=Image # To use an external initramfs file # initramfs rootfs.cpio.gz @@ -46,10 +46,12 @@ dtparam=i2s=on dtparam=spi=on # Disable GPIO IRQ -# dtoverlay=gpio-no-irq +dtoverlay=gpio-no-irq #[pi3] #dtoverlay=vc4-kms-v3d #[pi4] #dtoverlay=vc4-kms-v3d-pi4 + +#dtoverlay=disable-wifi diff --git a/buildroot-external/board/raspberrypi/genimage-raspberrypi3-64.cfg b/buildroot-external/board/raspberrypi/genimage-raspberrypi3-64.cfg index 128ebc6e..9cef0753 100644 --- a/buildroot-external/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ b/buildroot-external/board/raspberrypi/genimage-raspberrypi3-64.cfg @@ -13,21 +13,26 @@ image boot.vfat { "Image" } } - size = 32M + size = 96M } image sdcard.img { hdimage { + disk-signature = 0xOVOS + gpt = "true" } - partition boot { + partition boot1 { partition-type = 0xC + partition-uuid = 9262aee5-2d23-4e09-baac-280591e2e834 + partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b bootable = "true" image = "boot.vfat" } - partition rootfs { - partition-type = 0x83 + partition rootfs1 { + partition-uuid = c0932a41-44cf-463b-8152-d43188553ed4 + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae image = "rootfs.ext4" } } diff --git a/buildroot-external/board/raspberrypi/post-build.sh b/buildroot-external/board/raspberrypi/post-build.sh index a694e9f8..61fa7ad9 100755 --- a/buildroot-external/board/raspberrypi/post-build.sh +++ b/buildroot-external/board/raspberrypi/post-build.sh @@ -5,12 +5,29 @@ set -e BOARD_DIR="$(dirname $0)" -# Add a console on tty1 -#if [ -e ${TARGET_DIR}/etc/inittab ]; then -# grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \ -# sed -i '/GENERIC_SERIAL/a\ -#tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab -#fi +. "${BR2_EXTERNAL_OPENVOICEOS_PATH}/meta" +. "${BOARD_DIR}/meta" + +# Write os-release +{ + echo "NAME=\"${OVOS_NAME}\"" + echo "VERSION=\"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD} ${BOARD_NAME}\"" + echo "ID=${OVOS_ID}" + echo "VERSION_ID=${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD}" + echo "PRETTY_NAME=\"${OVOS_NAME} ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD} ${BOARD_NAME}\"" + echo "CPE_NAME=cpe:2.3:o:openvoiceos:${OVOS_ID}:${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD}:*:${DEPLOYMENT}:*:*:*:${BOARD_ID}:*" + echo "HOME_URL=https://github.com/OpenVoiceOS/OpenVoiceOS" + echo "DOCUMENTATION_URL=https://github.com/OpenVoiceOS/OpenVoiceOS/tree/develop/documentation" + echo "SUPPORT_URL=https://github.com/OpenVoiceOS/OpenVoiceOS/issues" + echo "VARIANT=\"${OVOS_NAME} - Mycroft Edition\"" + echo "VARIANT_ID=${OVOS_ID}-${BOARD_ID}-mycroft" +} > "${TARGET_DIR}/usr/lib/os-release" + +# Write machine-info +{ + echo "CHASSIS=${CHASSIS}" + echo "DEPLOYMENT=${DEPLOYMENT}" +} > "${TARGET_DIR}/etc/machine-info" cp -f ../buildroot-external/board/raspberrypi/config.txt ${BINARIES_DIR}/rpi-firmware/config.txt cp -f ../buildroot-external/board/raspberrypi/cmdline.txt ${BINARIES_DIR}/rpi-firmware/cmdline.txt diff --git a/buildroot-external/board/raspberrypi/rootfs-overlay/usr/lib/firmware/mk1.ino.hex b/buildroot-external/board/raspberrypi/rootfs-overlay/usr/lib/firmware/mk1.ino.hex new file mode 100644 index 00000000..271b6ac9 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rootfs-overlay/usr/lib/firmware/mk1.ino.hex @@ -0,0 +1,1962 @@ +:100000000C9412090C943A090C943A090C943A098C +:100010000C943A090C943A090C943A090C943A0954 +:100020000C943A090C943A090C943A090C943A0944 +:100030000C943A090C94280D0C943A090C943A0942 +:100040000C94222E0C943A090C9416310C944831DD +:100050000C943A090C943A090C943A090C943A0914 +:100060000C943A090C943A09A31EB91EA71EAB1EA4 +:10007000BB1EC51EBF1EBF1EC11E92208E20892022 +:100080008B2090209820942094209620B920BB208B +:10009000B220B420C020C920C220C220C62004251E +:1000A0000A2507251225152518251B251E25C325DC +:1000B000A925A625B425B725BA25BD25C825766F5F +:1000C0006C756D652E646F776E00766F6C756D65FF +:1000D0002E7570006D7963726F66742E73746F7015 +:1000E00000436F6D6D616E643A20004D7963726FED +:1000F0006674204D61726B20312076312E342E32A1 +:10010000202D20436F6E6E656374656400000000EF +:1001100000000000000000070100000000000000D7 +:1001200000030000000300000000000A000F010AA5 +:10013000000F010A000000000000000000000003A2 +:10014000010B0004000A0109010A00050109010A66 +:10015000010000030000000000000000000E00018C +:100160000100000000000001010E0000000000007E +:100170000005000200050000000000040004000F5C +:100180000104000400000108000000000000000855 +:10019000000800080000000000000100000000004E +:1001A00000000000010C000600010000000E070125 +:1001B0000801080E070000040002000F0F000000F5 +:1001C00000020E010901090E0800000204010901E4 +:1001D000090E0700000F0100010C0F0E0100000FB7 +:1001E0000901090109010600000E070109010902C0 +:1001F00006000001000100090F070000000E0601C3 +:100200000901090E0600000E04010901090E07008C +:10021000000A00000000000000000000010A0000C9 +:10022000000000000004000A000101000000000AB4 +:10023000000A000A000000000001010A000400009A +:10024000000000020001000901060000000E00018C +:10025000000D0005010F000E01050005000E010054 +:10026000000F0105010A00000000000E000101015D +:10027000010A0000000F0101010E00000000000F44 +:100280000105010101000000000F0105000500004B +:100290000000000E00010109010A0000000F010426 +:1002A0000004000F01000001010F01010100000026 +:1002B00000090001010F00000000000F0104000A06 +:1002C00000010100000F0100010001000000000F0B +:1002D000010200040002000F010F010200040008E7 +:1002E000000F010E00010101010E0000000F0105C9 +:1002F000000200000000000E0001010101090006DB +:10030000010F0105000A01000000000201050105BE +:10031000010900000001000F010100000000000FB2 +:1003200000000100010F00000003000C0000010CA0 +:100330000003000F0000010C0000010F000B01047E +:10034000000B010000000003000C0103000000008E +:1003500000090105010501030100000F0101010071 +:100360000000000000030003000000000000000186 +:10037000010F010000000000000200010002000067 +:10038000000000000100010001000000000000006A +:100390000000000000000007010000000000000055 +:1003A00000030000000300000000000A000F010A23 +:1003B000000F010A00000000000000000000000320 +:1003C000010B0004000A0109010A00050109010AE4 +:1003D000010000030000000000000000000E00010A +:1003E0000100000000000001010E000000000000FC +:1003F0000005000200050000000000040004000FDA +:1004000001040004000001080000000000000004D6 +:1004100000040004000000000000010000000000D3 +:1004200000000000010C000600010000000E0001A9 +:10043000010E000000000002010F01000100000099 +:100440000002010901050102010000050105010A80 +:1004500000000000000C000A000F01080000000767 +:100460000105010D00000000000E00050105010856 +:1004700000000001000D010500030000000A000556 +:100480000105010A0000000200050005010E000040 +:10049000000A00000000000000000000010A000047 +:1004A000000000000004000A000000000000000A34 +:1004B000000A000A00000000000A0004000000001A +:1004C000000000020001000901060000000E00010A +:1004D000000D0005010F000E01050005000E0100D2 +:1004E000000F0105010A00000000000E00010101DB +:1004F000010A0000000F0101010E00000000000FC2 +:100500000105010101000000000F010500050000C8 +:100510000000000E00010109010A0000000F0104A3 +:100520000004000F01000001010F010101000000A3 +:1005300000090001010F00000000000F0104000A83 +:1005400000010100000F0100010001000000000F88 +:10055000010200040002000F010F01020004000864 +:10056000000F010E00010101010E0000000F010546 +:10057000000200000000000E000101010109000658 +:10058000010F0105000A010000000002010501053C +:10059000010900000001000F010100000000000F30 +:1005A00000000100010F00000003000C0000010C1E +:1005B0000003000F0000010C0000010F000B0104FC +:1005C000000B010000000003000C0103000000000C +:1005D00000090105010501030100000F01010100EF +:1005E0000000000000010006000C000001000001F6 +:1005F000010F0100000000000002000100020000E5 +:1006000000000000010001000100000000000000E7 +:1006100000000000000000000000000000000108D1 +:100620000208020804040404080408040804080476 +:10063000080408040408040802080200010000007D +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:100660000000000000000000020005080808080063 +:100670000500020000000000000000000000000073 +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A00000000000000007080808080808080808FB +:1006B000080808000700000000000000000000001B +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E00000000200020005000500090009000900E1 +:1006F00009000500050002000200000000000000E3 +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000200020002000200D1 +:1007200002000200020002000200020002000200B9 +:1007300002000200020002000200020002000200A9 +:1007400002000200000000000000000000000000A5 +:100750000000000000000000000000000000000099 +:10076000000000000200050005000500050005006E +:100770000500050005000200000000000000000068 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A000000000000000000002000200050005003B +:1007B0000200020000000000000000000000000035 +:1007C0000000000000000000000000000000000029 +:1007D0000008010003000200020002000200020003 +:1007E0000200020000000000000000000000000005 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000030002000200020002000200CB +:1008200002000200020002000000000000000000C0 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000020002000200020090 +:10086000020002000200020002000200020000007A +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A000000000000200020002000200020002003C +:1008B0000200020002000200000000000000000030 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000020006 +:1008F00002000200020002000200020002000200E8 +:1009000002000200000000000000000000000000E3 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000020002000200020002000200AB +:10094000020002000200030000000000000000009E +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:10097000000000000000000002000200020002006F +:100980000200020002000308010000000000000055 +:100990000000010003000200020002000200020049 +:1009A0000200020002000200020002000200020037 +:1009B0000200020002000200020002000200020027 +:1009C000020002000200030001000000000000001D +:1009D0000000010003000200020002000200020009 +:1009E00002000200020002000200070005000500EC +:1009F00007000200020002000200020002000200E2 +:100A000002000200020003000100000000000000DC +:100A100000000100030002000200020002000200C8 +:100A200002000200070005000500050005000500A2 +:100A30000500050005000700020002000200020098 +:100A4000020002000200030001000000000000009C +:100A50000000010003000200020002000200020088 +:100A60000200020007080D0808080808080808081E +:100A7000080808080D00070002000200020002003A +:100A8000020002000200030001000000000000005C +:100A9000000001000300020002000100010002004A +:100AA0000400040002000100010002000400040030 +:100AB0000200010001000200040004000200010025 +:100AC000010002000200030001000000000000001D +:100AD000000001000300020002000200010001000A +:100AE00002000400040002000100010002000400F2 +:100AF00004000200010001000200040004000200E2 +:100B000001000200020003000100000000000000DC +:100B100000000100030002000200040002000100C6 +:100B200001000200040004000200010001000200B4 +:100B3000040004000200010001000200040004009F +:100B4000020002000200030001000000000000009B +:100B50000000010003000200020004000400020083 +:100B60000100010002000400040002000100010075 +:100B70000200040004000200010001000200040061 +:100B80000400020002000300010000000000000059 +:100B90000000010003000200020002000400040043 +:100BA0000200010001000200040004000200010034 +:100BB0000100020004000400020001000100020024 +:100BC0000400020002000300010000000000000019 +:100BD0000000010003000200020001000200040006 +:100BE00004000200010001000200040004000200F1 +:100BF00001000100020004000400020001000100E5 +:100C00000200020002000300010000000075706491 +:100C100061746500756E69742E666163746F7279B4 +:100C20002D726573657400756E69742E64697361E5 +:100C3000626C652D73736800756E69742E656E61E4 +:100C4000626C652D737368006D7963726F66742EC4 +:100C50006D61726B312E64656D6F00756E69742EF7 +:100C600073687574646F776E00756E69742E736542 +:100C7000747769666900756E69742E7265626F6F4C +:100C800074000000000000000000000007010000E8 +:100C9000000000000000030000000300000000004E +:100CA0000A000F010A000F010A0000000000000006 +:100CB0000000000003010B0004000A0109010A0002 +:100CC000050109010A010000030000000000000006 +:100CD00000000E00010100000000000001010E00F4 +:100CE00000000000000005000200050000000000F8 +:100CF000040004000F0104000400000108000000CB +:100D000000000000080008000800000000000001CA +:100D1000000000000000000000010C0006000100BF +:100D200000000E07010801080E0700000400020081 +:100D30000F0F00000000020E010901090E0800005B +:100D40000204010901090E0700000F0100010C0F48 +:100D50000E0100000F0901090109010600000E073C +:100D6000010901090206000001000100090F070046 +:100D700000000E06010901090E0600000E0401091B +:100D800001090E0700000A0000000000000000003A +:100D900000010A0000000000000004000A00010138 +:100DA000000000000A000A000A0000000000010123 +:100DB0000A00040000000000020001000901060012 +:100DC00000000E0001000D0005010F000E010500DE +:100DD00005000E0100000F0105010A0000000000DF +:100DE0000E00010101010A0000000F0101010E00C7 +:100DF000000000000F0105010101000000000F01CB +:100E000005000500000000000E00010109010A00B4 +:100E100000000F01040004000F01000001010F0198 +:100E2000010100000000090001010F0000000000A6 +:100E30000F0104000A00010100000F010001000180 +:100E4000000000000F010200040002000F010F016A +:100E50000200040008000F010E00010101010E0054 +:100E600000000F0105000200000000000E0001015B +:100E70000101090006010F0105000A010000000040 +:100E80000201050105010900000001000F01010038 +:100E9000000000000F00000100010F00000003002F +:100EA0000C0000010C0003000F0000010C00000109 +:100EB0000F000B0104000B010000000003000C01F7 +:100EC0000300000000000901050105010301000005 +:100ED0000F010101000000000000030003000000FA +:100EE0000000000001010F010000000000000200EE +:100EF00001000200000000000001000100010000EC +:100F000000000000000000000000000007010000D9 +:100F100000000000000003000000030000000000CB +:100F20000A000F010A000F010A0000000000000083 +:100F30000000000003010B0004000A0109010A007F +:100F4000050109010A010000030000000000000083 +:100F500000000E00010100000000000001010E0071 +:100F60000000000000000500020005000000000075 +:100F7000040004000F010400040000010800000048 +:100F80000000000004000400040000000000000154 +:100F9000000000000000000000010C00060001003D +:100FA00000000E0001010E000000000002010F0110 +:100FB000000100000000020109010501020100001A +:100FC000050105010A00000000000C000A000F01E5 +:100FD00008000000070105010D00000000000E00E0 +:100FE000050105010800000001000D0105000300D6 +:100FF00000000A00050105010A00000002000500CA +:1010000005010E0000000A000000000000000000C2 +:1010100000010A0000000000000004000A000000B7 +:10102000000000000A000A000A00000000000A0098 +:101030000400000000000000020001000901060099 +:1010400000000E0001000D0005010F000E0105005B +:1010500005000E0100000F0105010A00000000005C +:101060000E00010101010A0000000F0101010E0044 +:10107000000000000F0105010101000000000F0148 +:1010800005000500000000000E00010109010A0032 +:1010900000000F01040004000F01000001010F0116 +:1010A000010100000000090001010F000000000024 +:1010B0000F0104000A00010100000F0100010001FE +:1010C000000000000F010200040002000F010F01E8 +:1010D0000200040008000F010E00010101010E00D2 +:1010E00000000F0105000200000000000E000101D9 +:1010F0000101090006010F0105000A0100000000BE +:101100000201050105010900000001000F010100B5 +:10111000000000000F00000100010F0000000300AC +:101120000C0000010C0003000F0000010C00000186 +:101130000F000B0104000B010000000003000C0174 +:101140000300000000000901050105010301000082 +:101150000F010101000000000000010006000C006A +:101160000001000001010F0100000000000002006A +:101170000100020000000000000100010001000069 +:10118000000073797374656D2E746573742E656ECB +:1011900064006D69632E746573740073797374658C +:1011A0006D2E746573742E626567696E004D796388 +:1011B000726F6674204D61726B20312076312E344F +:1011C0002E320000000008000201000003040700A6 +:1011D000000000000000000102040810204080010F +:1011E000020408102001020408102004040404046E +:1011F00004040402020202020203030303030300C5 +:10120000000000230026002900000000002500281F +:10121000002B0000000000240027002A00004009E5 +:1012200078319B0911241FBECFEFD8E0DEBFCDBFC0 +:1012300013E0A0E0B1E0E6EEF7E702C005900D9202 +:10124000AA38B107D9F725E0AAE8B3E001C01D929A +:10125000A23AB207E1F712E1C2E2D2E104C022975A +:10126000FE010E94BF38CE31D107C9F70E94653612 +:101270000C94E63B0C9400008EE894E00C94172448 +:10128000CF92DF92EF92FF920F931F9364E08AE96F +:1012900094E00E944F0D22E04FE06EE08EE894E073 +:1012A0000E94AA2322E530E043E068E170E08FE489 +:1012B00094E00E94FF1A04E010E029E030E048E0EA +:1012C00050E067E070E083E194E00E94250E82E048 +:1012D000C82ED12C9FE0E92EF12C0EE010E029E081 +:1012E00030E048E050E067E070E089EC93E00E9475 +:1012F000372483EC93E00E9499268BEB93E00E94C5 +:10130000D12883EB93E00E9440296AE974E089EADE +:1013100093E00E94A42C8FE993E00E94372D63ECA8 +:1013200073E085E993E01F910F91FF90EF90DF90BC +:10133000CF900C940D2ECF93DF93CEE1D1E0D093DC +:101340009603C093950387E993E00E941B33D093E3 +:10135000A003C0939F0381EA93E00E941B33D093C4 +:10136000AA03C093A9038BEA93E00E941B33D09396 +:10137000B403C093B30385EB93E00E941B33D09377 +:10138000BC03C093BB038DEB93E00E941B338DE243 +:1013900094E00E941B3380E594E0DF91CF910C94A0 +:1013A000432126E040E855E260E070E081E095E00E +:1013B0000E94B43081E095E00E942D306BEE70E029 +:1013C00081E095E00C942E320E94D10983EB93E0EA +:1013D0000E944E2989EA93E00E94B92CE1E8F0E0EE +:1013E00080E180831092800021E02093A20480E4B9 +:1013F0009FE19093A4048093A3049093870080932B +:10140000860081E180838CE399E0909319018093B9 +:10141000180120936F000895EF92FF920F931F938E +:10142000CF93DF9300D000D000D0CDB7DEB781E0FE +:1014300095E00E94D12F18161906C4F54AE061E024 +:1014400075E0CE0101960E94F33281E095E00E94A2 +:101450002D3061EE70E081E095E00E94F931BE012F +:101460006F5F7F4F81E095E00E94403206E011E01F +:10147000F801E190F1908F01FBEBEF16F3E0FF062E +:1014800031F02FE9E21623E0F20609F015C189ECEC +:1014900093E00E945E24882309F40EC181E00031AC +:1014A000180731F7CE0101960E941B33FF24F394F5 +:1014B00081E095E00E94D12F181619060CF465C141 +:1014C0008EE894E00E940E2406974CF080919203DF +:1014D000811125C0F09292031092930320C08EE8F0 +:1014E00094E00E941224811122C080919203811104 +:1014F000EDC01DC00E946C2E00918E0310918F03D1 +:101500002091900330919103601B710B820B930B20 +:10151000663071058105910550F01092920310928A +:101520008E0310928F03109290031092910380917A +:101530009203882369F18EE894E00E940E24181625 +:1015400019060CF0DBC08EE894E00E940E240A9786 +:101550000CF0D4C0109293038EE894E00E940E2405 +:10156000803D97401CF1109294030E946C2E609372 +:101570008A0370938B0380938C0390938D038FE485 +:1015800094E00E946A1C89EC93E00E947C250EC0C6 +:1015900080919403882351F0109294031092930346 +:1015A00064ED70E081E095E00E942E3289EC93E0DA +:1015B0000E946E24882381F00AE914E023E134E0DC +:1015C0004FE454E06EE874E083EC93E00E946027FF +:1015D00089EC93E00E9471248EE894E00E94DD2360 +:1015E0008C0189EC93E00E945E248823E1F10230B3 +:1015F0001105C9F40E946C2E00918A0310918B038F +:1016000020918C0330918D03601B710B820B930B27 +:10161000693873418105910508F44ACF89EC93E05C +:101620000E94612445CF0E946C2E60938A037093C0 +:101630008B0380938C0390938D0389EC93E00E943D +:101640008D24892B09F494C089EC93E00E948D24A9 +:10165000029709F48DC089EC93E00E948D240397D2 +:1016600009F069C085C00130110519F46AEC70E019 +:1016700004C0012B31F46EEB70E081E095E00E9434 +:101680002E328FE494E00E94E02083E194E00E94F7 +:101690004B128091290490912A04892B09F408CFD8 +:1016A0008091650490916604069709F001CF8FE45C +:1016B00094E00E945E1FFCCEBE016F5F7F4FC701AA +:1016C0000E94EF28882309F4E9CEECCE80918E03A6 +:1016D00090918F03A0919003B0919103892B8A2B55 +:1016E0008B2B09F007CF0E946C2E60938E037093B2 +:1016F0008F03809390039093910319CF8EE894E029 +:101700000E940E240A970CF427CF80919303811135 +:1017100023CFF092930389EC93E00E945E24882308 +:1017200039F01092940389EC93E00E948C2514CF39 +:10173000F092940311CF89EC93E00E948D240197DD +:1017400009F0B6CE0130110511F461E004C0012B9F +:1017500009F0AECE60E08FE494E00E94A21C89EC18 +:1017600093E00E94012689EC93E00E94E324A0CE3E +:101770000130110511F460E003C0012BA1F761E015 +:1017800089EC93E00E947424EECF26960FB6F8946D +:10179000DEBF0FBECDBFDF91CF911F910F91FF90A4 +:1017A000EF900895EF920F931F93CF93DF93EC0187 +:1017B000862F688349832A83EB821D821C821F82C5 +:1017C0001E8208871A8619861C861B8691E09D87D3 +:1017D0009E87E11002C012E001C010E0612F0E945C +:1017E000392F612F89810E94392F612F8A810E94B0 +:1017F000392F88810E94A82F2B8130E08217930710 +:1018000021F483E090E09F838E8389810E94A82F3A +:101810002B8130E08217930731F48E819F8121E084 +:1018200082279F838E83DF91CF911F910F91EF903D +:101830000895CF92DF92EF92FF920F931F93CF9371 +:10184000DF93EC010E946C2E6B017C018E85882356 +:1018500059F089859A8502979A87898789859A851B +:1018600097FF02C01A86198688810E94A82F2B81B3 +:1018700030E08217930711F010E001C013E0898176 +:101880000E94A82F2B8130E08217930711F481E08A +:1018900018272E813F81211B20FF14C0812F9927FB +:1018A00087FD90959F838E838C819D812270332745 +:1018B00027FD309521503109820F931F9D838C8322 +:1018C00081E001C080E09E85992361F0882351F07A +:1018D00089859A85883E9B4028F489859A85499612 +:1018E0009A8789878A81882309F470C040919E0471 +:1018F00050919F046091A0047091A104970186010A +:10190000041B150B260B370B0A3011052105310579 +:1019100008F45CC0C0929E04D0929F04E092A004A0 +:10192000F092A1040E94A82F2B8130E08217930728 +:1019300081F480919C0490919D04019690939D0464 +:1019400080939C04853F914020F083E090E09C8749 +:101950008B878A810E94A82F2B8131E0232730E0DA +:101960008217930731F580919C0490919D04892BF7 +:10197000E1F08B859C85039719F484E090E008C022 +:1019800080919B04823048F08C3378F486E090E0BC +:101990009C878B8710929B0408C08D85882311F04B +:1019A0008CE301C081E080939B0410929D0410920F +:1019B0009C0480919B04882349F0825080939B046F +:1019C000811104C085E090E09C878B87DF91CF91E7 +:1019D0001F910F91FF90EF90DF90CF900895FC0141 +:1019E000F894248135818085823021F4C901817089 +:1019F000992705C0843031F4C901837099279583F4 +:101A0000848302C01582148278948085843029F4FE +:101A1000359527953595279504C0823011F4359575 +:101A200027958685882329F081859285892F992796 +:101A300002C080E090E037FF03C080959095089544 +:101A4000232B11F00196089580E090E00895089509 +:101A50001F920F920FB60F9211242F933F934F9323 +:101A60005F936F937F938F939F93AF93BF93EF9306 +:101A7000FF93E0911801F09119010995FF91EF9101 +:101A8000BF91AF919F918F917F916F915F914F9196 +:101A90003F912F910F900FBE0F901F901895FC0152 +:101AA00060830895CF93DF93EC0161E08DE00E94A5 +:101AB000392F61E088810E94392F60E08DE00E941B +:101AC000722F61E08881DF91CF910C94722F60E0DA +:101AD000FC0180810C94722F61E0FC0180810C94E8 +:101AE000722F4F925F926F927F928F929F92AF92DE +:101AF000BF92CF92DF92EF92FF920F931F932A0132 +:101B00003B0148015901C12CD12C7601C414D504E4 +:101B1000E604F704B4F461E08DE00E94722FC50181 +:101B2000B4010E949B2E60E08DE00E94722FC501DF +:101B3000B4010E949B2E8FEFC81AD80AE80AF80A4F +:101B4000E5CF1F910F91FF90EF90DF90CF90BF9066 +:101B5000AF909F908F907F906F905F904F9008957F +:101B60000F931F9308EE13E020E030E041E050E0D7 +:101B700060E070E00E94710D0C9400001F910F91C5 +:101B80000895CF92DF92EF920F93062FBA01C12CE6 +:101B9000D12CE12C28E048E00E94DF150F91EF9056 +:101BA000DF90CF9008950C9442198F92AF92BF921C +:101BB000CF92EF92FF920F931F93211114C05527DC +:101BC00047FD5095FB016081718188248394FAE080 +:101BD000AF2EB12CA5E0CA2EB0E6EB2EB1E0FB2E65 +:101BE0000DE813E015C02130B9F4552747FD509595 +:101BF000FB0160817181882483942AE0A22EB12C9C +:101C000038E0C32EE0E2EE2EE1E0FE2E0DE011E022 +:101C100020E030E00E94F7141F910F91FF90EF90A9 +:101C2000CF90BF90AF908F900895CF93DF93EC014A +:101C30001F8A1E8A19AA18AA1BAA1AAA0E94471844 +:101C4000CE01DF91CF910C944219CF92DF92EF92A7 +:101C5000FF920F931F93CF93DF9300D000D0CDB7A7 +:101C6000DEB76C017B016BE773E04A962B833C8304 +:101C700049835A830E94893386E1F60111928A953D +:101C8000E9F72B813C8149815A81B701C6010E9445 +:101C90003E1AC6010E94150EF60115AB04AB178A59 +:101CA000168A13AE12AE0F900F900F900F90DF9127 +:101CB000CF911F910F91FF90EF90DF90CF900895FB +:101CC00043305105B9F420E1629FB001112420E0B6 +:101CD00030E06353784FFB01E20FF31FE491DC0126 +:101CE000A20FB31F9096EC932F5F3F4F2031310529 +:101CF00091F7089542305105B9F420E1629FB00197 +:101D0000112420E030E06357754FFB01E20FF31F11 +:101D1000E491DC01A20FB31F9096EC932F5F3F4F2D +:101D20002031310591F7089541305105B9F420E192 +:101D3000629FB001112420E030E06357764FFB0131 +:101D4000E20FF31FE491DC01A20FB31F9096EC9316 +:101D50002F5F3F4F2031310591F7089545305105F0 +:101D6000B1F420E1629FB001112420E030E0635F14 +:101D7000794FFB01E20FF31FE491DC01A20FB31FC7 +:101D80009096EC932F5F3F4F2031310591F70895E6 +:101D90007F928F929F92AF92BF92CF92DF92EF92FB +:101DA000FF920F931F93CF93DF93EC01762E5A018E +:101DB0000E944718F12C10E04E0180E2880E911C21 +:101DC0008CA99DA9212F30E028173907B4F4612F81 +:101DD000789E600D1124A501CE010E94600EC12CD9 +:101DE000D12CE12C0F2D28E048E0B401CE010E9457 +:101DF000DF151F5F88E0F80EE3CFCE01DF91CF91B2 +:101E00001F910F91FF90EF90DF90CF90BF90AF9018 +:101E10009F908F907F900C94421921E030E0FC015C +:101E2000378B268B41E050E060E00C94C80E0F9396 +:101E30001F93CF93DF93EC018E899F89019759F00F +:101E400081E090E09F8B8E8B188E1EAA1FAA18AE81 +:101E500019AE86E0898F0E946C2E0EA91FA928ADAD +:101E600039AD0617170728073907D0F44E895F895F +:101E7000688DCE010E94C80E888D833010F48F5F6C +:101E800001C08150888F0E946C2E6A5B7F4F8F4FFC +:101E90009F4F6EAB7FAB88AF99AF898D8150898F93 +:101EA000898D81110BC081E090E09F8B8E8B188E05 +:101EB0001EAA1FAA18AE19AE86E0898FDF91CF91B6 +:101EC0001F910F9108950F931F93CF93DF93EC0110 +:101ED0008E899F89029749F082E090E09F8B8E8BDC +:101EE000188E1EAA1FAA18AE19AE0E946C2E0EA93B +:101EF0001FA928AD39AD0617170728073907B8F409 +:101F00004E895F89688DCE010E94C80E888D85300C +:101F100018F48F5F888F01C0188E0E946C2E6A5B48 +:101F20007F4F8F4F9F4F6EAB7FAB88AF99AFDF91E5 +:101F3000CF911F910F9108950F931F93CF93DF932C +:101F4000EC018E899F89039759F083E090E09F8B85 +:101F50008E8B188E1EAA1FAA18AE19AE8EE0898F1E +:101F60000E946C2E0EA91FA928AD39AD06171707C0 +:101F70002807390718F5888D4E895F89873050F01A +:101F800061E0680F96E0981B892F92E0899F600DB1 +:101F9000112401C0682FCE010E94C80E888D8F5F6A +:101FA000888F0E946C2E68587F4F8F4F9F4F6EAB6B +:101FB0007FAB88AF99AF898D8150898F898D8111D1 +:101FC0000BC083E090E09F8B8E8B188E1EAA1FAAF9 +:101FD00018AE19AE8EE0898FDF91CF911F910F91CE +:101FE00008953F924F925F926F927F928F929F924D +:101FF000AF92BF92CF92DF92EF92FF920F931F9317 +:10200000CF93DF93CDB7DEB7CD55D1090FB6F89496 +:10201000DEBF0FBECDBF4C015B01DB010D90002088 +:10202000E9F71197A61BB70BAD0141505109FB0110 +:10203000E40FF51F80818432E1F485EA94E0C35A0D +:10204000DF4F0FB6F894DEBF0FBECDBFDF91CF914B +:102050001F910F91FF90EF90DF90CF90BF90AF90C6 +:102060009F908F907F906F905F904F903F900C94D7 +:10207000FA3AFB018081843229F58091A5048823F6 +:1020800009F42EC1E5EAF4E001900020E9F7319768 +:10209000E55AF440EA0FFB1FEB35F10580F465EAE1 +:1020A00074E0CE0101960E94273BB5016F5F7F4F20 +:1020B000CE0101960E941C3B1092A50409C010920B +:1020C000A5040EC14CE350E0CE0101960E943C3BBA +:1020D00089819E012F5F3F4F5901883709F58A8119 +:1020E0008D33F1F432E000E0832F90E0F501E80F4A +:1020F000F91F20813F5F2C32A9F0F50101900020EB +:10210000E9F73197EA19FB098E179F0758F4802FDA +:10211000880F082F000F000F080F0053020FE4CFA5 +:1021200030E000E0832F90E0F501E80FF91F2081F7 +:10213000293721F5FE01E80FF91F82818D33F1F473 +:102140003E5F10E0832F90E0F501E80FF91F20813A +:102150003F5F2C32A1F0F50101900020E9F73197A3 +:10216000EA19FB098E179F0750F4812F880F182F4B +:10217000110F110F180F1053120FE4CF10E0832F1F +:1021800090E0F501E80FF91F20812336A1F4FE014C +:10219000E80FF91F2281203571F4FE01E80FF91FC5 +:1021A00083818D3341F483E0830FF501E80FF11D46 +:1021B00020813B5F01C021E3832F90E0F501E80F10 +:1021C000F91F4081433601F5FE01E80FF91F4281F6 +:1021D0004435D1F4FE01E80FF91F83818D33A1F45A +:1021E0003D5F832F90E0F501E80FF91F40813F5FCD +:1021F0004C3251F0F50101900020E9F73197EA19CE +:10220000FB098E179F0768F3832F90E0F50101907B +:102210000020E9F73197EA19FB09AC014F5F5F4FE6 +:102220004E175F070CF05CC0D501A80FB91FFC90DA +:102230008FEBF80E82E0582E530E3F5FD501A30FAF +:10224000B11D4C90E519F1098F2D90E0880F991F71 +:10225000E817F90708F444C0213319F4C4010E94B7 +:102260004718612C712CEFEB4E0EFF2089F1F50120 +:1022700001900020E9F73197EA19FB09852D90E0DC +:102280008E179F0728F5F501E80FF91F808181342B +:10229000ECF0815460FE14C06E968FAF6E973324BD +:1022A0003394300EC12CD12CE12E242D41E0BE01FF +:1022B000645A7F4FC4010E94DF15FA94032D03C0B6 +:1022C0006D968FAF6D97FFEF6F1A7F0A5394CDCF46 +:1022D00086E090E0F401978B868BC4010E9442193E +:1022E000C35ADF4F0FB6F894DEBF0FBECDBFDF91EC +:1022F000CF911F910F91FF90EF90DF90CF90BF9003 +:10230000AF909F908F907F906F905F904F903F9095 +:102310000895CF93DF93EC01CB012E893F892D7F68 +:1023200024303105F9F025E030E03F8B2E8B60E062 +:1023300070E00E949034682F772767FD7095605396 +:10234000710977FD06C0673071052CF066E070E01A +:1023500002C060E070E045E050E0CE01DF91CF9137 +:102360000C94C80EDF91CF9108956F927F928F9257 +:10237000AF92BF92CF92EF92FF920F931F93CF93A2 +:10238000DF93EC010E946C2E0EA91FA928AD39AD78 +:10239000061717072807390708F04CC048EE53E026 +:1023A00060E0CE010E94721ACE010E94471850E2EE +:1023B000652E712C8AA99BA9A301481B590B6A8D14 +:1023C0007B8D88248394EAE0AE2EB12CF5E0CF2EED +:1023D000A0E6EA2EA1E0FA2E0DE813E022E030E0BC +:1023E000CE010E94F714CE010E94421968A979A972 +:1023F0006132710544F08AA99BA90196605E7F4F06 +:102400000E9468380BC0C301861B970B97FD01968D +:102410009595879591958195910980969BAB8AAB0F +:102420000E946C2E6A567F4F8F4F9F4F6EAB7FABD3 +:1024300088AF99AFDF91CF911F910F91FF90EF90EF +:10244000CF90BF90AF908F907F906F9008950F9333 +:10245000CF93DF93EC014A960E94BF336A8D7B8D48 +:1024600001E025E040E651E082EE94E00E94A215F2 +:1024700099AB88AB1BAA1AAA84E090E09F8B8E8B45 +:10248000188E1EAA1FAA18AE19AECE01DF91CF91E9 +:102490000F910C94B511CF93DF93EC018E899F8936 +:1024A00083309105A1F04CF48130910561F00297E1 +:1024B000B1F4CE010E94630F19C08430910559F028 +:1024C0000797A4F00CC0CE010E940D0F0FC0CE01E3 +:1024D0000E949C0F0BC0CE010E94B51107C08AADAF +:1024E0009BAD892B19F0CE010E94150E8E899F8914 +:1024F0009BAF8AAFDF91CF9108952F923F924F9279 +:102500005F926F927F928F929F92AF92BF92CF9283 +:10251000DF92EF92FF920F931F93CF93DF93CDB78C +:10252000DEB769970FB6F894DEBF0FBECDBF1C01B2 +:1025300079876887488B922E1E2DDB86CA86422EAD +:10254000552447FC5094C2018E0D911DE7FC9A95CD +:1025500097FD34C2842F992787FD9095800F911D98 +:1025600007FD9A9597FD2AC219300CF027C2013257 +:102570000CF024C22E2D2370422F552747FD509575 +:102580005F834E838FE090E0582F01C0550F2A954E +:10259000EAF7598BA4E0B0E0EE81FF81AE1BBF0BE0 +:1025A000BB83AA830A8002C0959587950A94E2F7B7 +:1025B000F82FFF70FF87F095FF70FE87612C712C5C +:1025C00092012C5F3F4F3B8B2A8B33E03E0D3C8BBF +:1025D000C92CDD24C7FCD094ED2CFD2C4E815F81ED +:1025E000440D551D5E8B4D8BA8896A160CF0E6C113 +:1025F000802F860D803208F0DDC1A82FAA0FBB0BFB +:10260000BD83AC831D861C86B12CA12C8C84880CC8 +:10261000880C882D992787FD9095BB2019F02A8971 +:102620003B8901C09201821793070CF0C3C1B82DFA +:10263000B10FBF8B2C89280D2B3008F0B5C12B2F83 +:10264000237009F069C092012B1B3109B7FD339546 +:10265000243031056CF48419950904962FE030E09C +:1026600002C0359527958A95E2F72F70298302C01D +:102670003FE03983C701B6010E94253720E030E0F2 +:1026800040E85EE30E94F1370E947736D101179649 +:102690002C911797E2E02E02A00DB11D11241C967B +:1026A0002F8927FD2D5F259525954C815D81420F52 +:1026B000511D27FD5A959A014D915C91420F531F70 +:1026C000488F598F0E94F236669EF001679EF00D8A +:1026D000769EF00D1124882D488D598D87FC8D5FD5 +:1026E00085958595E80FF11D87FDFA958A859B856F +:1026F000E80FF91FA885B985EA0FFB1FE491DA01FD +:102700008C918F70998190958923B981EB238E2BC1 +:102710008061FA01808348C1B11072C0FF891F1621 +:102720000CF018C192012F1B3109F7FD33952430AD +:1027300031056CF4841995090496AFE0B0E002C04D +:10274000B595A7958A95E2F7CD018F7001C08FE00E +:10275000B988B822C701B6010E94253720E030E0D1 +:1027600040E85EE30E94F1370E947736F10127814D +:1027700032E02302E00DF11D11242F8925952595C6 +:102780004C815D81420F511D27FD5A959A01448568 +:102790005585420F531F488F598F0E94F236669E0F +:1027A000F001679EF00D769EF00D1124882D488D66 +:1027B000598D87FE02C083E0880D85958595E80FC9 +:1027C000F11D87FDFA958A859B85E80FF91FA8857D +:1027D000B985EA0FFB1FE491DA019C919F708B2D64 +:1027E000809598239061FF27E7FDF0950E8002C049 +:1027F000EE0FFF1F0A94E2F7EB219E2B9C93AAC0D9 +:10280000BB24A7FCB094891434F1F101878122E044 +:102810008202E00DF11D11243C968F8987FD8D5FAA +:10282000859585954C815D81480F511D87FD5A9591 +:102830000190F081E02DE40FF51F0A8002C0B594ED +:10284000A7940A94E2F78F858A21806190815E8542 +:102850009523892B7EC09201AF892A1B3109A7FDE0 +:102860003395243031057CF4ED89FE898E1B9F0B56 +:1028700004962FE030E002C0359527958A95E2F75F +:102880002F70298302C03FE03983C701B6010E943F +:10289000253720E030E040E85EE30E94F1370E94F7 +:1028A0007736D10117962C911797E2E02E02A00DF2 +:1028B000B11D11241C962F8927FD2D5F2595259587 +:1028C0004C815D81420F511D27FD5A959A014D9112 +:1028D0005C91420F531F488F598F0E94F236669EBB +:1028E000F001679EF00D769EF00D1124882D488D25 +:1028F000598D87FE02C083E0880D85958595E80F88 +:10290000F11D87FDFA958A859B85E80FF91FA8853B +:10291000B985EA0FFB1FE4910A8002C0B594A79421 +:102920000A94E2F789818A218061DA019C919F7083 +:10293000298120959223892BFF27E7FDF0950E80B2 +:1029400002C0EE0FFF1F0A94E2F7B981EB238E2B32 +:10295000FA018083C701B6010E94253720E030E0EC +:1029600040E85EE30E94F1370E9477360E94F2361B +:10297000669E5001679EB00C769EB00C1124882D87 +:1029800087FC8D5F85958595F501E80FF11D87FD25 +:10299000FA952A853B85E20FF31F48855985E40F98 +:1029A000F51FA490BB24B3948C859D8501969D87CB +:1029B0008C872CCE9FEF691A790A16CE69960FB6CE +:1029C000F894DEBF0FBECDBFDF91CF911F910F9165 +:1029D000FF90EF90DF90CF90BF90AF909F908F903F +:1029E0007F906F905F904F903F902F9008952F921F +:1029F0003F924F925F926F927F928F929F92AF928F +:102A0000BF92CF92DF92EF92FF920F931F93CF93DB +:102A1000DF93CDB7DEB729970FB6F894DEBF0FBEB0 +:102A2000CDBF2C017C836B833A011801FE82ED82BD +:102A3000FC2CB886AF82C9018C0D911DC7FC9A95FC +:102A400097FD67C0283031050CF063C010E0A82C5A +:102A5000BB24A7FCB094922EEB81FC81E10FF11D09 +:102A600017FDFA952081222309F453C08FE9820FC4 +:102A70008A3110F0205201C02054203418F530E281 +:102A8000631671040CF045C0332727FD30958D8106 +:102A90009E81820F931F9A838983FC014081C30129 +:102AA000840F911D47FD9A958A0D9B1D97FF0CC0C1 +:102AB000E981FA8180819501280F311D87FD3A95C2 +:102AC000620E731E1F5FC8CF8F819885289F60019B +:102AD000299FD00C389FD00C1124E92C062D2F2DC6 +:102AE000B101C2010E947D1230E038150CF7E98176 +:102AF000FA810081060D030FC12CD12CE92C2F2D5A +:102B000041E0B101C20139870E947D1239853F5FE2 +:102B1000ECCF29960FB6F894DEBF0FBECDBFDF9184 +:102B2000CF911F910F91FF90EF90DF90CF90BF90CA +:102B3000AF909F908F907F906F905F904F903F905D +:102B40002F9008950F93CF9320E080E090E0E02F46 +:102B5000FF27E7FDF095DB01A20FB11D27FDBA9518 +:102B60003C91311107C0801B910907FD9395CF91CE +:102B70000F910895AFE9A30FAA3110F0305201C0B0 +:102B80003054C1E0C20F303468F4DA01A30FB11D34 +:102B900037FDBA952C91DF01A20FB11D27FDBA9523 +:102BA0008A0F9B1F2C2FD7CF643031F067FD06C0F2 +:102BB000FC012481621714F4FC01678308952F92AD +:102BC0003F924F925F926F927F928F929F92AF92BD +:102BD000BF92CF92DF92EF92FF920F931F93CF930A +:102BE000DF93CDB7DEB767970FB6F894DEBF0FBEA1 +:102BF000CDBF1C01442EF22E0D87EB82622E77246E +:102C000067FC7094C3012E2D8E0D911DE7FC9A95E3 +:102C100097FD24C2842F992787FD9095800F911DE1 +:102C200007FD9A9597FD1AC229300CF017C20132A0 +:102C30000CF014C22370422F552747FD50955F8337 +:102C40004E838FE090E0582F01C0550F2A95EAF788 +:102C50005F87A4E0B0E0EE81FF81AE1BBF0BBA83BB +:102C6000A983098002C0959587950A94E2F7F82F09 +:102C7000FF70FE87F095FF70FC8700E010E0930185 +:102C80002C5F3F4F398B288B3E2D3D5F3A8B8F2C2D +:102C9000992487FC9094A92CB92CAB014C0D5D1D97 +:102CA000598748878E819F81860D971D9C8B8B8BC2 +:102CB00004150CF0D3C18D85800F803208F0CBC194 +:102CC000A82FAA0FBB0BBD83AC831B861A86D12C01 +:102CD000C12CEA84EE0CEE0C8E2D992787FD909581 +:102CE000DD2019F02889398901C0930182179307E3 +:102CF0000CF0B1C14B814E0D2A892E0D2B3008F0FE +:102D0000A4C1242F237009F065C09301241B31094D +:102D100047FD3395243031056CF4861997090496E4 +:102D2000EFE0F0E002C0F595E7958A95E2F7EF70E5 +:102D30005E2E02C09FE0592ED10117968C91F101B1 +:102D4000B2E08B02E00DF11D11243C9647FD4D5F72 +:102D5000459545958C819D81840F911D47FD9A95E0 +:102D600020813181280F391F3F8B2E8BC501B40183 +:102D70000E94253720E030E040E85EE30E94F13712 +:102D80000E947736AE89BF892C912F70352D3095F2 +:102D9000232320612D8B0E94F236069FA001079FFE +:102DA000500D169F500D11243E2D2D89E7FC3D5FDF +:102DB000E32EE594E594E885F985E40FF51FEE0D23 +:102DC000F11DE7FCFA9580818521822BEE89FF8930 +:102DD00080833BC1D11070C014160CF010C1930158 +:102DE000241B310947FD3395243031056CF48619D5 +:102DF000970904962FE030E002C0359527958A9513 +:102E0000E2F7C9018F7001C08FE0DF84D822D101C1 +:102E100017968C91F101B2E08B02E00DF11D1124A7 +:102E2000459545958C819D81840F911D47FD9A950F +:102E300024853585280F391F3F8B2E8BC501B401A2 +:102E40000E94253720E030E040E85EE30E94F13741 +:102E50000E947736AE89BF894C914F702D2D2095F9 +:102E6000422340614D8B0E94F236069FF001079F7E +:102E7000F00D169FF00D11248E2D4D89E7FE02C036 +:102E800083E08E0D8595859528853985E20FF31FA2 +:102E9000E80FF11D87FDFA952081332727FD309536 +:102EA0000E8002C0220F331F0A94E2F72D21242B3B +:102EB000AE89BF892C93A3C0DD24C7FCD094EF1446 +:102EC00034F1F101878122E08202E00DF11D11242D +:102ED0003C9647FD4D5F459545958C819D81840FBE +:102EE000911D47FD9A950190F081E02DE80FF91FA3 +:102EF000098002C0D594C7940A94E2F78E858C218C +:102F0000806190813C859323892B808378C09301D5 +:102F1000241B310947FD3395243031057CF4AB89FE +:102F2000BC898A1B9B0B0496EFE0F0E002C0F5958C +:102F3000E7958A95E2F7EF705E2E02C08FE0582E7B +:102F4000D10117968C91F101B2E08B02E00DF11DD9 +:102F500011243C9647FD4D5F459545958C819D819B +:102F6000840F911D47FD9A9520813181280F391FCB +:102F70003F8B2E8BC501B4010E94253720E030E045 +:102F800040E85EE30E94F1370E947736098002C074 +:102F9000D594C7940A94E2F7C5203C2D3061C32E26 +:102FA000AE89BF892C912F70352D30952323C22AED +:102FB0000E94F236069FF001079FF00D169FF00D5C +:102FC00011248E2DE7FE02C083E08E0D8595859538 +:102FD00028853985E20FF31FE80FF11D87FDFA956B +:102FE0008081992787FD90950E8002C0880F991FD8 +:102FF0000A94E2F758225C28AE89BF895C92C50129 +:10300000B4010E94253720E030E040E85EE30E94F2 +:10301000F1370E9477360E94F236069FA001079F83 +:10302000500D169F500D11242E2DE7FC2D5FE22E22 +:10303000E594E594E885F985E40FF51FEE0DF11DA3 +:10304000E7FCFA95C080DD24D394EA85FB853196B0 +:10305000FB87EA873ECE0F5F1F4F2ACE67960FB6DB +:10306000F894DEBF0FBECDBFDF91CF911F910F91BE +:10307000FF90EF90DF90CF90BF90AF909F908F9098 +:103080007F906F905F904F903F902F90089520E039 +:1030900030E040E1FC01578162E05602E00DF11D95 +:1030A00011240484F585E02DE20FF31F40832F5F88 +:1030B0003F4F2034310571F70895AF92BF92CF9200 +:1030C000DF92EF92FF920F931F93CF93DF938C01C8 +:1030D000C42EDD24C7FCD094C6010197C1E0D0E026 +:1030E00002C0CC0FDD1F8A95E2F7E12CF12CA62E51 +:1030F000BB24A7FCB094FFEFEF1AFF0AC6018E199C +:103100009F0997FD1AC061E0CE018A219B21892B7E +:1031100009F460E0F80186810E94722F000061E0EE +:10312000F80185810E94722F000060E0F80185811E +:103130000E94722FD595C795DECFDF91CF911F9159 +:103140000F91FF90EF90DF90CF90BF90AF900895D8 +:10315000DF92EF92FF920F931F93CF93DF93EC01D7 +:10316000D62E00E010E0E42EFF24E7FCF0940E15CC +:103170001F059CF46D2D61708E810E94722F0000DE +:1031800061E08D810E94722F000060E08D810E94BD +:10319000722FD5940F5F1F4FEACFDF91CF911F9110 +:1031A0000F91FF90EF90DF900895CF93DF93EC01A4 +:1031B00060E08E810E94722F000061E08D810E948C +:1031C000722F000060E08D81DF91CF910C94722FFF +:1031D000CF93DF93EC0148E00E945D18CE01DF91B0 +:1031E000CF910C94D518CF92DF92EF92FF920F936C +:1031F0001F93CF93DF93EC018C01EE24E394F12C29 +:10320000C62EDD24C7FCD0948C81992787FD90952C +:1032100098012C1B3D0B281739077CF4F80181918C +:103220008F0161E097012C213D21232B09F060E003 +:103230000E94722FEE0CFF1CE7CFDF91CF911F9100 +:103240000F91FF90EF90DF90CF9008950F931F9311 +:10325000CF93DF93EC018C018C81992787FD9095AA +:1032600098012C1B3D0B281739073CF461E0F8014D +:1032700081918F010E94722FEFCFDF91CF911F912B +:103280000F910895FF920F931F93CF93DF93EC015B +:103290008F819C8189170CF05DC087FD5BC091E038 +:1032A000F92E01C0FF0C8A95EAF700E010E080E0FB +:1032B000EF81FF27E7FDF095DE01AE0FBF1F1896E7 +:1032C0009C9191110DC03696EE0FFF1FEC0FFD1F64 +:1032D0000190F081E02DE00FF11F908194FF23C059 +:1032E00081110EC06F2DCE010E94F31843E065E0FE +:1032F000CE010E945D1847E0602FCE010E945D184C +:103300008F81FE0192E08902E00DF11D11240484F9 +:10331000F585E02DE00FF11F44E06081CE010E94B1 +:10332000A81881E006C0882321F0CE010E9426194A +:1033300080E00F5F1F4F0034110509F0B9CF8823DB +:1033400019F0CE010E9426198F81C80FD11D87FD6B +:10335000DA951886DF91CF911F910F91FF90089514 +:10336000CF92DF92EF92FF920F931F93CF93DF9351 +:10337000EC016D834E836C017C0100E010E0F2E013 +:10338000EF0EF11C8C81992787FD909561E008175D +:103390001907B4F4F60181916F010E94392F80E47E +:1033A00090E00E94DD38F70193878287602FCE017D +:1033B0000E94D415CE010E9447180F5F1F4FDFCF28 +:1033C0008D810E94392F61E08E810E94392FCE01BC +:1033D0000E94261980E490E00E94DD389D8B8C8B42 +:1033E00084E08F83CE010E9447186FE0CE010E94D7 +:1033F000F31843E064E0CE010E945D1860E0CE0166 +:103400000E94E81860E2CE010E94E81861E0CE0157 +:103410000E94E81863E0CE010E94E8186FEACE012E +:103420000E94E818CE010E94261900E010E0FF2457 +:10343000F3942C81822F992787FD909508171907FF +:103440008CF4602FCE010E94D415FE01E00FF11F15 +:10345000F086CE010E944718CE010E9442190F5FEC +:103460001F4FE7CF12160CF41F82DF91CF911F91EF +:103470000F91FF90EF90DF90CF900895E62FBA0163 +:1034800041E0DC0114964C931497EC93A9010C9441 +:10349000B0191F93CF93DF93EC01162F403149F4FD +:1034A0008F819C818917D4F441E001C0440F8A9533 +:1034B000EAF7642FCE010E94F31843E064E0CE01E6 +:1034C0000E945D186FEF610F606ACE010E94E818DC +:1034D000CE01DF91CF911F910C942619DF91CF91EE +:1034E0001F910895CF92DF92EF92FF921F93CF9397 +:1034F000DF93EC018F819C8189170CF078C087FDE8 +:1035000076C06130B9F06230A9F1611170C09927BD +:1035100087FD9095FC01EE0FFF1FEC0FFD1F24852A +:1035200035854C895D89558744873D8B2C8BC80F29 +:10353000D91F1DC080E090E0EC89FD89E80FF91FDC +:1035400020813F81FE0142E03402E00DF11D112493 +:103550000484F585E02DE80FF91F2083019680345F +:10356000910551F78F81C80FD11D87FDDA9581E054 +:1035700088873DC0CA0157FD4F966C0165E0D59420 +:10358000C7946A95E1F71FE0EE24D7FCE094FE2C87 +:1035900040E1612FCE010E94491AC701B6010E9485 +:1035A0009B2E1150A9F7CE010E944718CE010E9410 +:1035B0004219C701B6010E949B2E48EE53E060E01D +:1035C000CE010E94721ACE010E944219C701B601B3 +:1035D0000E949B2E12E040E1612FCE010E94491A09 +:1035E000C701B6010E949B2E1F5F1131A1F7DF9129 +:1035F000CF911F91FF90EF90DF90CF9008950F93A0 +:103600001F93CF93DF93EC018C010F5F1F4FC80115 +:103610000E94CF22C8010E946523969587958FABA3 +:10362000DF91CF911F910F910895CF92DF92EF928A +:10363000FF920F931F93CF93DF9300D000D0CDB7AD +:10364000DEB78C01E62EF12C6C018FEFC81AD80A78 +:10365000C60129833A834B835C830E9465232981B9 +:103660003A814B815C81E816F90610F589E090E01B +:10367000F801978B868B84E090E092AB81ABB70129 +:10368000C6010E94F722C6010E94DB2161E070E0C2 +:1036900080E090E00F900F900F900F90DF91CF910E +:1036A0001F910F91FF90EF90DF90CF900C949B2E85 +:1036B0000F900F900F900F90DF91CF911F910F916E +:1036C000FF90EF90DF90CF900895CF92DF92EF922E +:1036D000FF920F931F93CF93DF93EC0185E090E06F +:1036E0009F8B8E8B00E010E0C62ED12C7E018FEFD9 +:1036F000E81AF80A8FA990E008171907C0F58BA5FA +:103700009CA5C016D106C0F0029740F42B8D3C8DCD +:103710004D8D5E8DB801C7010E94F7228BA59CA537 +:103720008D7F892B09F52B8D3C8D4D8D5E8D8FA95D +:10373000B801680F711D15C0029738F420E030E021 +:10374000A901B801C7010E94F7228BA59CA58D7F16 +:10375000892B51F48FA9B801680F711D20E030E06A +:10376000A901C7010E94F7220F5F1F4FC3CFCE01EF +:1037700001960E94DB210E946C2E6854744F8F4F7B +:103780009F4F6BA37CA38DA39EA3DF91CF911F912D +:103790000F91FF90EF90DF90CF900895FC0174A7F8 +:1037A00063A7642F0C94651B009731F021E002970A +:1037B00009F020E0822F089581E008956F927F92B2 +:1037C0008F929F92AF92BF92CF92DF92EF92FF9231 +:1037D0000F931F93CF93DF937B0149015A01EC01B3 +:1037E0002196CE010E9465238C01C7010E94D41B43 +:1037F000811103C0C02EC69401C0C12C602E82E08E +:10380000E816F10408F06694E12CF12CD12CEC14AC +:10381000FD04A0F420E030E0A901B701CE010E9430 +:10382000F722CE010E94DB2161E070E080E090E0B1 +:103830000E949B2E8FEFE81AF80AE9CFE12CF12CB9 +:10384000712CB7016C0D7D1D6615770590F4A501EF +:103850009401CE010E94F722CE010E94DB2161E09B +:1038600070E080E090E00E949B2E8FEFE81AF80A4B +:10387000E8CFE12CF12C1127B701660D771D8FEFF2 +:10388000E81AF80A6017710780F420E030E0A90117 +:10389000CE010E94F722CE010E94DB2161E070E0A0 +:1038A00080E090E00E949B2EE7CFDF91CF911F91A7 +:1038B0000F91FF90EF90DF90CF90BF90AF909F90CF +:1038C0008F907F906F9008959A01AB0160E070E057 +:1038D0000C94DE1BFC01438D548D658D768D0C940C +:1038E000641CCF93DF93EC01862F642F422F0E943C +:1038F0005C236B8F7C8F8D8F9E8FCE01DF91CF915C +:103900000C946A1C0F931F93CF93DF93EC01688391 +:103910006DE07CE081E095E00E942E324AE050E0CC +:10392000FE0161918F0181E095E00E94AE326881D5 +:10393000C8010E946923CE01DF91CF911F910F91A1 +:103940000C946A1CFC012081662321F02E3150F476 +:1039500061E003C0223030F06FEF620F0E94821CE2 +:1039600081E0089580E0089529E030E0FC01378B84 +:10397000268B24E030E032AB21AB40E050E0BA01CE +:103980000C94641C7F928F929F92AF92BF92CF92C1 +:10399000DF92EF92FF920F931F93CF93DF93EC018F +:1039A000662329F02B8D3C8D4D8D5E8D03C020E06C +:1039B00030E0A9012F8F38A349A35AA38E010F5FCE +:1039C0001F4F688D70E0C8010E94F7222F8D38A12B +:1039D00049A15AA1698D70E0C8010E94F7227FA811 +:1039E000C72CD12CE12CF12C8F8C98A0A9A0BAA0C7 +:1039F000888D6EAD772767FD7095680F711D8827DC +:103A000077FD8095982FA70196010E949E386C0D36 +:103A10007D1D8E1D9F1DA70196010E949E38E72DDA +:103A2000F0E0E60FF71FA5019401BF01C8010E9455 +:103A3000F7227FA8C72CD12CE12CF12C8F8C98A0D9 +:103A4000A9A0BAA0898D6EAD772767FD7095680F24 +:103A5000711D882777FD8095982FA70196010E94F8 +:103A60009E386C0D7D1D8E1D9F1DA70196010E9425 +:103A70009E38E72DF0E0E60FF71FA5019401BF0186 +:103A8000C801DF91CF911F910F91FF90EF90DF90D0 +:103A9000CF90BF90AF909F908F907F900C94F72223 +:103AA000FC0120AD22AF2F5F20AF332727FD3095DB +:103AB00087A990E0281739070CF010AE08950F93EE +:103AC0001F93CF93DF93EC018BA59CA58D7F892B52 +:103AD000C1F42B8D3C8D4D8D5E8D68AD772767FDD4 +:103AE00070958E010F5F1F4FC8010E94F7226AADCB +:103AF000772767FD709520E030E0A901C8010E949A +:103B0000F7228BA59CA5029730F58E010F5F1F4F02 +:103B10002B8D3C8D4D8D5E8D88AD6EAD772767FD0D +:103B20007095680F711D87FD7A95C8010E94F72274 +:103B30008AAD6EAD772767FD7095680F711D87FDA3 +:103B40007A9520E030E0A901C801DF91CF911F9163 +:103B50000F910C94F722DF91CF911F910F9108954F +:103B6000CF93DF93EC018BA59CA58D7F892B61F40E +:103B70002B8D3C8D4D8D5E8D68AD772767FD7095E3 +:103B8000CE0101960E94F7228BA59CA5029798F47E +:103B90002B8D3C8D4D8D5E8D88AD6EAD772767FD8D +:103BA0007095680F711D87FD7A95CE010196DF91A2 +:103BB000CF910C94F722DF91CF910895CF92DF92AD +:103BC000EF92FF920F931F93CF93DF93EC01C62EDA +:103BD000DD24C7FCD094E42EF12C8C010F5F1F4F25 +:103BE0002F8D38A149A15AA1B6016E0D7F1DC801C4 +:103BF0000E94F7222F8D38A149A15AA16FA970E028 +:103C00006C197D09615071096E0D7F1DC8010E94FC +:103C1000F7222F8D38A149A15AA18FA98695B60107 +:103C2000680F711D6E0D7F1DC8010E94F7222F8D38 +:103C300038A149A15AA16FA9669570E06C197D0958 +:103C4000615071096E0D7F1DC801DF91CF911F91E9 +:103C50000F91FF90EF90DF90CF900C94F722CF93CD +:103C6000DF93EC01662329F04B8D5C8D6D8D7E8D8D +:103C700003C040E050E0BA014F8F58A369A37AA374 +:103C80008BA59CA58D7F892B29F440E069ADCE01E1 +:103C90000E94DE1D8BA59CA5029738F44FA969AD43 +:103CA000CE01DF91CF910C94DE1DDF91CF9108956D +:103CB000FC01442311F086E001C080E080AF633056 +:103CC000710579F03CF461307105A1F06230710545 +:103CD000A1F019C06430710539F06530710569F0E3 +:103CE00012C0442319F004C0442311F085E00AC037 +:103CF0008BE008C0442319F004C0442311F088E08D +:103D000001C082E085AF442311F080E001C086E06D +:103D100084AF85AD808F8B3014F48F5F01C080E05D +:103D2000818F0895CF93DF93EC011EAE1BA21CA2DE +:103D30001DA21EA2EE89FF89E930F10530F5EC5C89 +:103D4000FF4F0C94BD3819AE1EAA83E21DC06BA5AF +:103D50007CA540E003C06BA57CA541E0CE010E949C +:103D6000581E8BA59CA5059711F486E08EAF86E4BE +:103D70000BC019AE02C082E089AF8CE805C018AE56 +:103D800002C088AD8BAF8CE38A8F8EAD9FA9890F5F +:103D90008EAFDF91CF910895CF93DF93EC017F8BAE +:103DA0006E8B6230710511F458AB4FA75CA74BA71F +:103DB000CB010397029730F06830710519F0CE01FE +:103DC0000E946A1C83E090E09AAB89ABCE01DF9140 +:103DD000CF910C94921ECF93DF93EC0189A99AA9FD +:103DE0008230910571F464307105C9F07CAB6BAB26 +:103DF0005EA74DA781E08DAB40E050E064E070E04D +:103E00000EC0019761F46330710549F09A01AB016E +:103E100063E070E0CE01DF91CF910C942921CE01B7 +:103E20000E94CC1ECE01DF91CF910C9499200F936C +:103E30001F93CF93DF93EC018EE1FE0181938F01FD +:103E4000CF010E9457214AE665E680E70E945C2385 +:103E50006B8F7C8F8D8F9E8F6881C8010E94692334 +:103E600089E090E09F8B8E8B40E050E066E070E050 +:103E7000CE01DF91CF911F910F910C94EB1E0F9308 +:103E80001F93CF93DF93EC018B010E946C2E2227AE +:103E900017FD2095322F600F711F821F931F6FA394 +:103EA00078A789A79AA740E050E067E070E0CE01CC +:103EB000DF91CF911F910F910C94EB1ECF93DF9365 +:103EC000EC018E899F890697029748F44BA55CA563 +:103ED00068E070E0CE01DF91CF910C94EB1ECE0133 +:103EE0000E946A1C1AAA19AA89E090E09F8B8E8B07 +:103EF000DF91CF910895CF92DF92EF92FF920F93CF +:103F00001F93CF93DF937C01C62ED12C8C010F5FC2 +:103F10001F4FC8010E9465230197C816D90659F49E +:103F2000C701DF91CF911F910F91FF90EF90DF902C +:103F3000CF900C945E1F89E090E0F701978B868B01 +:103F400084E090E092AB81ABC0E0D0E0F701238D3C +:103F5000348D458D568DBE01C8010E94F722C801DF +:103F60000E94DB2161E070E080E090E00E949B2EE7 +:103F70002196CC16DD0650F7C8010E946523C817AC +:103F8000D90790F420E030E0A901BE01C8010E94E9 +:103F9000F722C8010E94DB2161E070E080E090E040 +:103FA0000E949B2E2196E8CFDF91CF911F910F9118 +:103FB000FF90EF90DF90CF900895FC0125A9222378 +:103FC00039F015AA45A556A563A974A90C94EB1E52 +:103FD0000895FC0120AD662311F0215001C02F5F30 +:103FE00020AF662319F08FEF9FEF02C081E090E0D1 +:103FF00034AD23130CC081E0862790E092AB81ABF7 +:1040000089E090E0978B868BCF010C94DD1F708D3B +:1040100067A9AC01470F511D262F30E02417350743 +:104020001CF0272F280F01C020E0208F418D242F66 +:1040300030E0281B390B2F3F3F4F19F0481B842FCE +:1040400001C0862F818F0895FC0121AD2F5F21AF24 +:10405000223054F022E030E032AB21AB29E030E0F6 +:10406000378B268B0C94DD1F0895FC0121AD215068 +:1040700021AF27FF08C012AA11AA29E030E0378B30 +:10408000268B0C94DD1F0895FC0196A981AD91113A +:1040900007C08F5F81AF833084F081E086AB0895E5 +:1040A000815081AF18164CF012AA11AA89E090E055 +:1040B000978B868BCF010C94DD1F0895CF93DF93F0 +:1040C000EC0188AD8F5F88AF9BAD891309C01AAA38 +:1040D00019AA89E090E09F8B8E8BCE010E94DD1F94 +:1040E00028AD332727FD30958FA990E02817390791 +:1040F0000CF018AEDF91CF910895DC015696ED914A +:10410000FC915797E930F10598F4E35CFF4F0C946C +:10411000BD3860E001C061E00C94E91F0C942420DC +:104120000C9435200C9444200C94501D0C945E206B +:1041300008950F931F93CF93DF93EC010E946C2E91 +:104140000BA11CA12DA13EA1601771078207930747 +:1041500090F1EE89FF89E930F105D8F4EA5BFF4F71 +:104160000C94BD3860E001C061E0CE010E94C21C29 +:1041700010C06EA901C060E0CE010E942F1E09C0D0 +:1041800061E0FACFCE010E945F1D03C0CE010E9404 +:10419000B01DCE0101960E94DB21CE010E947D2040 +:1041A0000E946C2E2A8D620F711D811D911D6BA3C3 +:1041B0007CA38DA39EA3DF91CF911F910F910895B2 +:1041C0000F931F93CF93DF93EC018E899F898730E4 +:1041D000910509F18930910519F0059771F50BC02A +:1041E00089A99AA9892B81F5CE01DF91CF911F91E1 +:1041F0000F910C946A1C0E946C2E0BA11CA12DA186 +:104200003EA10617170728073907F0F489E090E068 +:104210009F8B8E8B19C00E946C2E0FA118A529A50B +:104220003AA5061717072807390738F4CE01DF919A +:10423000CF911F910F910C94B41CCE01DF91CF91BF +:104240001F910F910C949920DF91CF911F910F91A5 +:104250000895FC0154AB43AB36A725A721E025AB5D +:104260006430710529F440E050E064E070E008C07B +:104270006330710539F4FC0147A550A963E070E093 +:104280000C94EB1E0895CF93DF93EC0188859985FC +:10429000009711F00E9475398E8187FD05C060E09E +:1042A000DF91CF910C94392FDF91CF910895CF9367 +:1042B000DF93EC018E8187FD07C061E00E94392FFA +:1042C00060E08E810E94722F81E08983DF91CF911F +:1042D0000895EF92FF920F931F93CF93DF93EC011A +:1042E0007B0188859985009711F00E9475399D851D +:1042F0008A85981303C083E090E002C084E090E0D8 +:104300008E9D80018F9D100D9E9D100D11241D838B +:104310000C83C8010E94DD3899878887009741F097 +:10432000A80160E070E00E94153BFB82EA8204C0B5 +:104330001D821C821B821A82DF91CF911F910F91E7 +:10434000FF90EF900895FC0121E0958582859813F8 +:1043500020E0CB0136E0969587953A95E1F7482F16 +:1043600043704587CB0154E0969587955A95E1F7C0 +:10437000382F33703287CB01969587959695879520 +:1043800083708387862F8370848781E06F3F7105F8 +:1043900011F008F080E0808380859185892B51F0B1 +:1043A00091E0431390E0921729F062817381CF016D +:1043B0000C9469210895CF92DF92EF92FF920F93B0 +:1043C0001F93CF93DF93CDB7DEB729970FB6F8943D +:1043D000DEBF0FBECDBF8C01DC0118968D919C9184 +:1043E0001997892B09F49AC00E94782EF801C68487 +:1043F000D784E088F1886C197D098E099F096233A2 +:1044000071058105910580F3F894848195819A83E3 +:104410008983A085B1857D01EFEFEE1AFE0A8C91AC +:104420008987D8019C9152960D90BC91A02DF801DE +:104430008489992309F42EC09C91982B98879C918C +:10444000809589238F838F818E8388E08D83588523 +:104450006F8149853D812E8189819A81F7015C9325 +:1044600047FD252F3A952C93262F39F0441F00C085 +:1044700000006C93000000C0F2CF38E041916C93D3 +:104480000000019761F7F801B38BA28B49873D8348 +:104490002E8338C09C91982B98879C918095892376 +:1044A0008F838F818C8388E08B8358856F814985CA +:1044B0003B812C8189819A81F7015C9347FD252FEF +:1044C00000C000C02C9300C000C000C000C000C0ED +:1044D0006C930000262F3A9541F0441F000000C065 +:1044E00000C000C000C000C0E8CF38E0419100C06B +:1044F0006C9300C0019709F7F801B38BA28B498731 +:104500003B832C839A83898378940E94782ED801E8 +:104510001E966D937D938D939C93519729960FB61C +:10452000F894DEBF0FBECDBFDF91CF911F910F91E9 +:10453000FF90EF90DF90CF9008951F93CF93DF937C +:10454000EC01162F8981882331F08E8187FD03C00D +:1045500060E00E94392F1E838981882341F061E049 +:10456000812F0E94392F60E0812F0E94722F812FAE +:1045700090E0FC01E551FE4EE491F0E0EE0FFF1FEC +:10458000E75FFD4E259134913B8B2A8BFC01E9526C +:10459000FE4E84918C8BDF91CF911F910895EF9205 +:1045A000FF920F931F93CF93DF931F92CDB7DEB788 +:1045B0007C018B01FC011182178211861086168600 +:1045C0001786108A118AB90149830E94A321B80174 +:1045D000C7010E9469214981642FC7010F90DF91B3 +:1045E000CF911F910F91FF90EF900C949D22CF924D +:1045F000DF92EF92FF920F931F93CF93DF93FC0113 +:10460000828193816817790708F04DC0CA01AA27F3 +:10461000BB27182FC32ED42EE52EFF24DC2DC22F4E +:104620000781002361F0809FC0011124192FC09ED3 +:1046300060011124DD2D209FC0011124C92FF584B4 +:104640008285A085B185F81208C0CB01880F991F1B +:10465000860F971F8A0F9B1F17C0CB01880F991FCA +:10466000880F991F8A0F9B1F452F5527662777278D +:10467000DC01AF0DB11D002329F0409F90011124F2 +:10468000232F01C0242F2C932285DC01A20FB11D02 +:104690001C932385DC01A20FB11DDC932485FC0152 +:1046A000E20FF11DC083DF91CF911F910F91FF9019 +:1046B000EF90DF90CF900895962F50E060E070E08B +:1046C000592B682BCB01BA010895FC01828193819B +:1046D0000895FF920F931F93CF93DF93EC01FF2474 +:1046E000F394F60E2F81F21679F108851985215081 +:1046F000B9F06F3F59F430E040E050E06FEF7FEFEA +:1047000080E090E00E949E38B9010CC08F2D90E0AF +:10471000982F88270197622F70E00E94543802C0BA +:1047200060E070E0F8018C819D81AF01401B510B6E +:104730004817590740F44081469FC001479F900D9C +:1047400011249193F0CFFF82DF91CF911F910F91B0 +:10475000FF900895AF92BF92CF92DF92EF920F93A6 +:104760001F93CF93DF9300D0CDB7DEB75C01122F3C +:104770008FE090E04A8369830E9474366C01E12CDB +:1047800002E0212F4A8169810E94D20BF501D1827A +:10479000C0821283148213821682158210861782B9 +:1047A00011860F900F90DF91CF911F910F91EF9095 +:1047B000DF90CF90BF90AF9008950F931F93CF934A +:1047C000DF93EC0102E010E01B870A878881998162 +:1047D0000E94EF0C2D813E81280F391F3E832D83CF +:1047E0008B819C812817390791F0281739071CF411 +:1047F0001B861A860AC0821793072CF481E090E08A +:104800009B878A8702C01B870A873C832B838A8504 +:104810009B85DF91CF911F910F910895FC018781B6 +:1048200090850895FC018185811111860895CF93AB +:10483000DF93EC01888199810E94190C8A810E9482 +:10484000A82F2F813885892B51F42F5F3F4F388750 +:104850002F832130310541F481E0898705C012168C +:10486000130614F418861F82DF91CF910895CF921A +:10487000EF920F93CF93DF93EC010E9423262C2D10 +:104880004E2D602FCE0186960E94AA23FE01E75B83 +:10489000FF4F10821EAA1DAA1AAA1BAA1CAA80E0FA +:1048A00090E098AF8FAB0196229689309105C9F7B9 +:1048B000DF91CF910F91EF90CF900895FC0182A9E5 +:1048C0000895CF93DF93EC011EAA1DAA1AAA0E9495 +:1048D0009526CE01DF91CF910C949726FC0183A9F8 +:1048E0000895FC0113AA0895FC01E75BFF4F6623BE +:1048F00061F04081242F30E02830310514F44F5FFF +:10490000408321E0FC0124AB08952081222311F093 +:1049100021502083FC0114AA0895FC0185A996A9C1 +:104920000895CF92DF92EF92FF920F931F93CF9350 +:10493000DF9300D000D000D0CDB7DEB78C01C62EFB +:104940007A01D22E0E94952641E0B701C8010E944B +:104950006526CC2091F060EA71E0CE0101960E94BC +:10496000893321E040E0BE016F5F7F4FC8010E94A4 +:104970003026CE0101960E941B33DD2091F062EAC1 +:1049800071E0CE0101960E94893321E04EE1BE0123 +:104990006F5F7F4FC8010E943026CE0101960E94B2 +:1049A0001B33C8010E94972626960FB6F894DEBFE7 +:1049B0000FBECDBFDF91CF911F910F91FF90EF9070 +:1049C000DF90CF9008950F931F93CF93DF9300D084 +:1049D00000D000D0CDB7DEB78C01FC0185A996A927 +:1049E000009791F5E75BFF4F8081F801E80FF11D1B +:1049F000E80FF11D07A8F0ADE02DE830F10508F54E +:104A0000E15BFF4F0C94BD3864EA71E05AC06AEA7A +:104A100071E002C061EB71E0CE0101960E94893322 +:104A200021E048C067EB71E0F7CF6BEB71E0F4CFAA +:104A300060EC71E0F1CF64EC71E0EECF6AEC71E014 +:104A4000EBCF6FEC71E031C081309105C9F4E0919A +:104A50001201F09113014AE06081CE0101960E949B +:104A6000D733E0911201F091130180818E3130F043 +:104A700064ED71E0CE0101960E94BF3320E026C0B4 +:104A80008230910551F4F80184A9882319F069ED69 +:104A900071E00BC06EED71E014C0039711F5F801E1 +:104AA00084A9882361F061EE71E0CE0101960E9435 +:104AB000893320E0AE014F5F5F4F61E00BC067EECE +:104AC00071E0CE0101960E94893321E0AE014F5F73 +:104AD0005F4F60E0C8010E949124CE0101960E94C0 +:104AE0001B3326960FB6F894DEBF0FBECDBFDF9105 +:104AF000CF911F910F910895CF93DF93EC0181E047 +:104B00008AABCE010E949526CE010E94E324CE01FD +:104B1000DF91CF910C949726CF93DF93EC018DA971 +:104B20009EA90097C1F5FE01E75BFF4F8081FE0162 +:104B3000E80FF11DE80FF11D07A8F0ADE02DE830FA +:104B4000F10568F4E95AFF4F0C94BD3866E77CE044 +:104B500002C069E67CE081E095E00E942E32CE0141 +:104B6000DF91CF910C9461246BE57CE0F4CF81E080 +:104B70008BABF5CF83E090E002C082E090E09EAB8B +:104B80008DAB1CAA36C081E090E09EAB8DAB31C0EE +:104B900068E47CE0E0CF8130910539F41EAA1DAABB +:104BA000FE01E75BFF4F108224C08330910591F432 +:104BB0008CA9882319F068E37CE002C067E27CE0FE +:104BC00081E095E00E942E32FE01E75BFF4F85E019 +:104BD0008083C5CF029791F41EAA1DAA86E0FE012C +:104BE000E75BFF4F80838CA9882319F064E17CE0A8 +:104BF000B2CFCE01DF91CF910C94E324DF91CF911E +:104C00000895CF93DF93EC01E0911201F09113012D +:104C1000608170E080E090E00E94233720E030E087 +:104C200040EF51E40E948A3620E030E040E751E452 +:104C30000E94F1370E94F2366F5F7F4FCE01DF9105 +:104C4000CF910C948B26CF93DF93EC010E943E1AF8 +:104C5000CE010E944718CE01DF91CF910C944219EA +:104C60008F92AF92BF92CF92EF92FF920F931F93CA +:104C7000552747FD5095FB016081718188248394FD +:104C8000AAE0AA2EB12C222359F0E5E0CE2EFDE2B7 +:104C9000EF2EF2E0FF2E02E01FE022E030E00AC03B +:104CA00028E0C22E3DEEE32E31E0F32E02E81CE0B8 +:104CB00020E030E00E94F7141F910F91FF90EF90D9 +:104CC000CF90BF90AF908F900895EF92FF920F9387 +:104CD0001F93CF93DF93EC017B01142FFB016081C5 +:104CE000718101E025E04DE252E00E94A215E0E270 +:104CF000F0E0E81BF90BF7FD3196AF0155954795AC +:104D0000212FB701CE01DF91CF911F910F91FF901D +:104D1000EF900C9430269B01215031092F30310542 +:104D200018F440E10C94491A08950C9447180C9417 +:104D30004219CF93DF93EC014FEF6FEF8FEF0E949B +:104D40005C23688379838A839B831D821C82DF9125 +:104D5000CF9108951F93CF93DF93EB0110E04DE6C1 +:104D600052E0612FCE010E94C10D185F1032B9F7D9 +:104D7000CE01DF91CF911F910C94D30DFC01CB019B +:104D8000BA015583448320813181428153810C943F +:104D9000DE1BEF92FF920F93CF93DF93EC017B0129 +:104DA000842F402F622F0E945C239B01AC016883FB +:104DB00079838A839B836C817D81C701DF91CF9149 +:104DC0000F91FF90EF900C94DE1BCF93DF93EB01DC +:104DD000CE010E941224811107C061E070E080E0E2 +:104DE00090E00E949B2EF4CFDF91CF910895EF9237 +:104DF000FF920F931F93CF93DF938C01EB017A0106 +:104E0000CE010E941224811117C061E070E080E0A1 +:104E100090E00E949B2ECE010E94DD23009729F096 +:104E2000019771F742E050E002C041E050E0B70165 +:104E3000C8010E94BE26E4CFDF91CF911F910F9150 +:104E4000FF90EF9008950F931F93CF93DF938B0103 +:104E5000CAE0D0E0C8010E94670D66EA70E080E019 +:104E600090E00E949B2EC8010E946C0D6DE471E0E1 +:104E700080E090E00E949B2E219761F7DF91CF9117 +:104E80001F910F9108950F931F93CF93DF93EB0121 +:104E9000CB010E94630F0CE41DE161E070E080E053 +:104EA00090E00E949B2ECE010E944B1201501109EE +:104EB000A1F7CE01DF91CF911F910F910C94150EA8 +:104EC0008F929F92AF92BF92CF92DF92EF92FF921A +:104ED0000F931F93CF93DF93EC016B017A0159017C +:104EE00048010FEF2FEF4FEFB7010E94C926B50120 +:104EF000CE010E94AA266BE971E181E095E00E9453 +:104F00002E32A701B601CE010E94F72640E050E004 +:104F1000B701CE010E94BE2600E020E04FEFB701AE +:104F2000CE010E94C926B601CE010E94E5262FEFD0 +:104F300040E0B701CE010E94C926B601CE010E9411 +:104F4000E5260FEF20E040E0B701CE010E94C92620 +:104F5000B601CE010E94E5262FEF4FEFB701CE013B +:104F60000E94C92662E971E181E095E00E942E323B +:104F7000B501CE010E944327B401CE010E94232730 +:104F800062E871E181E095E0DF91CF911F910F918F +:104F9000FF90EF90DF90CF90BF90AF909F908F9059 +:104FA0000C942E32DF92EF92FF920F931F93CF93C8 +:104FB000DF9300D000D000D0CDB7DEB78B01E090FA +:104FC0001001F09011016DE772E0CE0101960E9490 +:104FD0008933BE016F5F7F4FC8010E948134D82E94 +:104FE000CE0101960E941B33DD2021F0C7010E94F3 +:104FF000150EC9C063E872E0CE0101960E948933A4 +:10500000BE016F5F7F4FC8010E948134D82ECE0150 +:1050100001960E941B33DD2021F0C7010E94170F6B +:10502000B2C067E872E0CE0101960E948933BE01EA +:105030006F5F7F4FC8010E948134D82ECE01019648 +:105040000E941B33DD2021F0C7010E940D0F9BC081 +:105050006CE872E0CE0101960E948933BE016F5F59 +:105060007F4FC8010E948134D82ECE0101960E9444 +:105070001B33DD2021F0C7010E94630F84C063E968 +:1050800072E0CE0101960E948933BE016F5F7F4FAF +:10509000C8010E948134D82ECE0101960E941B3394 +:1050A000DD2021F0C7010E949C0F6DC069E972E00C +:1050B000CE0101960E948933BE016F5F7F4FC80108 +:1050C0000E948134D82ECE0101960E941B33DD2030 +:1050D00081F0F8012481358145E050E0B801CE012E +:1050E00001960E94F13469817A81C7010E942712DA +:1050F00046C06FE972E0CE0101960E948933BE017D +:105100006F5F7F4FC8010E948134D82ECE01019677 +:105110000E941B33DD2081F0F8012481358145E0B8 +:1051200050E0B801CE0101960E94F13469817A8184 +:10513000C7010E94F10F23C064EA72E0CE0101961C +:105140000E948933BE016F5F7F4FC8010E94813486 +:10515000D82ECE0101960E941B33DD20A1F0F8016C +:105160002481358147E050E0B801CE0101960E94CC +:10517000F134BE016F5F7F4FC7010E948911CE01DC +:1051800001960E941B3326960FB6F894DEBF0FBE21 +:10519000CDBFDF91CF911F910F91FF90EF90DF90E6 +:1051A0000895CF93DF93EC016CEA72E00E94DF2850 +:1051B00086EB92E099838883DF91CF910895CF9316 +:1051C000DF93EC018EE191E089939993CE010E94E7 +:1051D00089336EE2CE01DF91CF910C943034CF92BF +:1051E000DF92EF92FF920F931F93CF93DF9300D044 +:1051F00000D000D0CDB7DEB78C017B01BC016E5F63 +:105200007F4FC7010E9481348823F1F0D801ED91CE +:10521000FC911197C080D180F701248135811696C9 +:105220004D915C911797B701CE0101960E94F13420 +:10523000BE016F5F7F4FC801F6010995CE0101964F +:105240000E941B3381E001C080E026960FB6F894DF +:10525000DEBF0FBECDBFDF91CF911F910F91FF90A9 +:10526000EF90DF90CF900895CF93DF93EC01FB0197 +:10527000248135810E94F134CE01DF91CF910895D0 +:10528000CF93DF93EC0168EB72E00E94DF288AE1A4 +:1052900093E099838883DF91CF91089580911201E3 +:1052A000909113010C94171FCF92DF92EF92FF920F +:1052B0000F931F938A019B01112722273327C52EA5 +:1052C000202F4C2D80911201909113011F910F916D +:1052D000FF90EF90DF90CF900C94711CCF92DF92F3 +:1052E000EF92FF920F931F93CF93DF93CDB7DEB76B +:1052F00062970FB6F894DEBF0FBECDBF8B017A0167 +:105300006901BA01C8010E948134882309F445C0AB +:10531000B801CE010D960E94B6336BE773E0CE0163 +:1053200007960E948933B701CE0101960E94B633D9 +:105330006AEA72E0CE0101960E944334AE01495FF1 +:105340005F4FBC01CE010D960E943635CE0101960D +:105350000E941B33CE0107960E941B3360E070E071 +:10536000CE010D960E94A1348256843138F4E82F84 +:10537000F0E0EE5FFC4F408150E002C040E050E0C2 +:10538000B60180911201909113010E94EB1ECE0193 +:105390000D960E941B3381E001C080E062960FB63B +:1053A000F894DEBF0FBECDBFDF91CF911F910F915B +:1053B000FF90EF90DF90CF9008956F927F928F9241 +:1053C0009F92AF92BF92CF92DF92EF92FF920F9394 +:1053D0001F93CF93DF93CDB7DEB72A970FB6F8941C +:1053E000DEBF0FBECDBF6C018B01E0901201F090CB +:1053F00013016DEB72E0CE0101960E948933BE016C +:105400006F5F7F4FC8010E948134B82ECE01019694 +:105410000E941B33BB2089F046E050E0B801CE016A +:1054200001960E943429CE0101960E945736AB01A5 +:10543000BC01C6010E94542974C164EC72E0CE0123 +:1054400001960E948933BE016F5F7F4FC8010E94A1 +:105450008134B82ECE0101960E941B33BB2079F017 +:1054600046E050E0B801CE0101960E943429CE01F9 +:1054700001960E945736C7010E94821C52C16BECF4 +:1054800072E0CE0101960E948933BE016F5F7F4FAB +:10549000C8010E948134B82ECE0101960E941B33B0 +:1054A000BB2079F045E050E0B801CE0101960E94A2 +:1054B0003429CE0101960E945736C7010E947B1FF6 +:1054C00030C161ED72E0CE0101960E948933BE01C8 +:1054D0006F5F7F4FC8010E948134B82ECE010196C4 +:1054E0000E941B33BB2091F047E050E0B801CE0191 +:1054F00001960E943429CE0101960E945736462F0C +:1055000060E070E0C7010E94CE1B0BC169ED72E044 +:10551000CE0101960E948933BE016F5F7F4FC801A3 +:105520000E948134B82ECE0101960E941B33BB200D +:1055300079F045E050E0B801CE0101960E9434298F +:10554000CE0101960E945736C7010E943F1FE9C055 +:1055500061EA72E0CE0101960E948933BE016F5F5D +:105560007F4FC8010E948134B82ECE0101960E945F +:105570001B33BB2021F0C7010E946A1C1FC16FEDC5 +:1055800072E0CE0101960E948933BE016F5F7F4FAA +:10559000C8010E948134B82ECE0101960E941B33AF +:1055A000BB2021F0C7010E94B41C08C16FE772E064 +:1055B000CE0101960E948933BE016F5F7F4FC80103 +:1055C0000E948134B82ECE0101960E941B33BB206D +:1055D000A1F084E0682E712CC62CD12CF8018481B6 +:1055E0009581C816D90608F0A1C0B601C8010E946D +:1055F00090348C3209F0B5C099C06DE772E0CE01ED +:1056000001960E948933BE016F5F7F4FC8010E94DF +:105610008134B82ECE0101960E941B33BB2021F0AD +:10562000C7010E945E1FCAC063EE72E0CE01019600 +:105630000E94893320E030E0AE014F5F5F4FB80138 +:10564000C6010E946E29F82ECE0101960E941B33DE +:10565000F110B4C069EE72E0CE0101960E94893368 +:1056600021E030E0AE014F5F5F4FB801C6010E94FC +:105670006E29F82ECE0101960E941B33F1109EC0B8 +:1056800068EF72E0CE0101960E94893322E030E09B +:10569000AE014F5F5F4FB801C6010E946E29F82E20 +:1056A000CE0101960E941B33F11088C060EF72E0BA +:1056B000CE0101960E94893324E030E0AE014F5FB5 +:1056C0005F4FB801C6010E946E29F82ECE010196E7 +:1056D0000E941B33F11072C066EF72E0CE0101969A +:1056E0000E94893323E030E0AE014F5F5F4FB80185 +:1056F000C6010E946E29F82ECE0101960E941B332E +:10570000F1105CC06DEF72E0CE0101960E9489330A +:1057100026E030E0AE014F5F5F4FB801C6010E9446 +:105720006E29CE0101960E941B3348C020E030E074 +:10573000A9016394C62CD12CF80184819581C816E7 +:10574000D906F0F4B601C8012F83388749875A87F4 +:105750000E9490342F81388549855A858C32A9F46E +:105760000FC0B601C8010E949034972D990F792E71 +:10577000770C770C790EF0ED7F0E780E63942CCFBA +:10578000672DC7010E94151B19C0AAE0B0E00E9456 +:10579000C3384B015C01B601C8010E949034282F28 +:1057A000332727FD309520533109442737FD409595 +:1057B000542F280D391D4A1D5B1DBBCF2A960FB6ED +:1057C000F894DEBF0FBECDBFDF91CF911F910F9137 +:1057D000FF90EF90DF90CF90BF90AF909F908F9011 +:1057E0007F906F900895DF92EF92FF920F931F9337 +:1057F000CF93DF9300D000D000D0CDB7DEB77C01CF +:105800008B016DE772E0CE0101960E948933BE01E3 +:105810006F5F7F4FC8010E948134D82ECE01019660 +:105820000E941B33DD2031F0F701808591850E94B5 +:10583000B00D7CC06EE173E0CE0101960E94893309 +:10584000BE016F5F7F4FC8010E948134D82ECE0108 +:1058500001960E941B33DD2031F0F7018085918590 +:105860000E94670D63C06CE173E0CE0101960E9457 +:105870008933BE016F5F7F4FC8010E948134D82EEB +:10588000CE0101960E941B33DD2031F0F7018085A7 +:1058900091850E946C0D4AC063E273E0CE010196CF +:1058A0000E948933BE016F5F7F4FC8010E9481341F +:1058B000D82ECE0101960E941B33DD20F1F0F801B5 +:1058C0002481358146E050E0B801CE0101960E9466 +:1058D000F134CE0101960E945736AB01BC0104EFB2 +:1058E00011E020E030E0F701808591850E94710D84 +:1058F000CE0101960E941B3319C06AE273E0CE010B +:1059000001960E948933BE016F5F7F4FC8010E94DC +:105910008134182FCE0101960E941B33112331F0E0 +:105920006DEA71E181E095E00E942E3226960FB675 +:10593000F894DEBF0FBECDBFDF91CF911F910F91C5 +:10594000FF90EF90DF9008950F931F93CF93DF9315 +:10595000EC018B0162E373E00E94DF288DE393E0AA +:105960009983888319870887DF91CF911F910F91C1 +:105970000895FC01808591850C94520DBF92CF92C1 +:10598000DF92EF92FF920F931F93CF93DF93CDB7E8 +:10599000DEB72C970FB6F894DEBF0FBECDBF6C01FB +:1059A0008B016FE373E0CE0101960E948933BE0143 +:1059B0006F5F7F4FC8010E948134F82ECE0101969F +:1059C0000E941B33FF2009F442C06BE773E0CE0155 +:1059D00007960E94893388E0B82EEB2CF12CB70192 +:1059E000C8010E9490348C3231F0F8018481958195 +:1059F000E816F90608F1B801CE0101960E94B63307 +:105A0000A7014F5F5F4F60E070E0CE0101960E94FA +:105A10002936AE014F5F5F4FBE01695F7F4FC60100 +:105A200008960E946F2DCE0101960E941B33CE0175 +:105A300007960E941B330BC0B701C8010E94903427 +:105A4000682FCE0107960E943034B394C6CF2C96AF +:105A50000FB6F894DEBF0FBECDBFDF91CF911F917F +:105A60000F91FF90EF90DF90CF90BF900895CF936C +:105A7000DF93EC0168E473E00E94DF2884E593E0A3 +:105A800099838883CE010896DF91CF910C94482D9D +:105A900008950F931F93CF93DF93EC018B0160E088 +:105AA00070E0C8010E94A134F801248135812130C1 +:105AB000310511F482E10DC02230310511F480E18D +:105AC00008C02330310531F48D3211F48DE001C06E +:105AD0008EE08983DF91CF911F910F910895AF924E +:105AE000BF92CF92DF92EF92FF920F931F93CF93CB +:105AF000DF93CDB7DEB727970FB6F894DEBF0FBEA2 +:105B0000CDBF7C016B015A01009110011091110170 +:105B1000CE0101960E94B633BE016F5F7F4FC70171 +:105B20000E94492DCE0101960E941B33C8010E949C +:105B3000150EF50160817181C8010E94F10FF70116 +:105B40004181B601CE0101964F830E94B63366E5CE +:105B500073E0CE0101960E94433421E04F81BC01E5 +:105B6000C8010E94D50DCE0101960E941B33C801C9 +:105B70000E94421927960FB6F894DEBF0FBECDBF24 +:105B8000DF91CF911F910F91FF90EF90DF90CF9019 +:105B9000BF90AF900895EF92FF920F931F93CF9312 +:105BA000DF9300D000D000D0CDB7DEB77C018B01F1 +:105BB00068E573E0CE0101960E948933BE016F5FF4 +:105BC0007F4FC8010E948134182FCE0101960E9498 +:105BD0001B331123A9F00091160110911701209198 +:105BE0001001309111014091120150911301609107 +:105BF000140170911501F701808591850E9460273D +:105C000026960FB6F894DEBF0FBECDBFDF91CF91C1 +:105C10001F910F91FF90EF9008950F931F93CF93D3 +:105C2000DF93EC018B016EE573E00E94DF2887E6CD +:105C300093E09983888319870887DF91CF911F911B +:105C40000F9108951F920F920FB60F9211242F9368 +:105C50003F938F939F93AF93BF938091F90490915B +:105C6000FA04A091FB04B091FC043091F80423E005 +:105C7000230F2D3720F40196A11DB11D05C026E884 +:105C8000230F0296A11DB11D2093F8048093F904FF +:105C90009093FA04A093FB04B093FC048091FD045C +:105CA0009091FE04A091FF04B09100050196A11D02 +:105CB000B11D8093FD049093FE04A093FF04B09364 +:105CC0000005BF91AF919F918F913F912F910F90C0 +:105CD0000FBE0F901F9018952FB7F8946091F9049C +:105CE0007091FA048091FB049091FC042FBF0895F9 +:105CF0003FB7F8948091FD049091FE04A091FF04B9 +:105D0000B091000526B5A89B05C02F3F19F001965C +:105D1000A11DB11D3FBF6627782F892F9A2F620FD3 +:105D2000711D811D911D42E0660F771F881F991F0D +:105D30004A95D1F708958F929F92AF92BF92CF92DA +:105D4000DF92EF92FF926B017C010E94782E4B0153 +:105D50005C01C114D104E104F104F1F00E94763633 +:105D60000E94782E681979098A099B09683E734058 +:105D70008105910570F321E0C21AD108E108F1080C +:105D800088EE880E83E0981EA11CB11CC114D104BA +:105D9000E104F10429F7DDCFFF90EF90DF90CF9081 +:105DA000BF90AF909F908F900895789484B5826053 +:105DB00084BD84B5816084BD85B5826085BD85B5AF +:105DC000816085BDEEE6F0E0808181608083E1E85E +:105DD000F0E0108280818260808380818160808396 +:105DE000E0E8F0E0808181608083E1EBF0E0808199 +:105DF00084608083E0EBF0E0808181608083EAE76B +:105E0000F0E08081846080838081826080838081F3 +:105E1000816080838081806880831092C1000895B2 +:105E2000833081F028F4813099F08230A1F0089518 +:105E30008730A9F08830B9F08430D1F480918000A7 +:105E40008F7D03C0809180008F77809380000895BC +:105E500084B58F7702C084B58F7D84BD089580910D +:105E6000B0008F7703C08091B0008F7D8093B00029 +:105E70000895CF93DF9390E0FC01E952FE4E249108 +:105E8000FC01E551FE4E8491882349F190E0880F92 +:105E9000991FFC01ED5EFD4EA591B491875F9D4E6B +:105EA000FC01C591D4919FB7611108C0F8948C9101 +:105EB000209582238C93888182230AC0623051F41A +:105EC000F8948C91322F309583238C938881822B88 +:105ED000888304C0F8948C91822B8C939FBFDF91B0 +:105EE000CF9108950F931F93CF93DF931F92CDB758 +:105EF000DEB7282F30E0F901ED53FE4E8491F90111 +:105F0000E952FE4E1491F901E551FE4E0491002331 +:105F1000C9F0882321F069830E94102F6981E02F46 +:105F2000F0E0EE0FFF1FE75FFD4EA591B4919FB724 +:105F3000F8948C91611103C01095812301C0812BCD +:105F40008C939FBF0F90DF91CF911F910F91089578 +:105F5000CF93DF93282F30E0F901ED53FE4E84916B +:105F6000F901E952FE4ED491F901E551FE4EC4917A +:105F7000CC2391F081110E94102FEC2FF0E0EE0F56 +:105F8000FF1FE150FE4EA591B4912C912D2381E08D +:105F900090E021F480E002C080E090E0DF91CF91BA +:105FA0000895FC01818D228D90E0805C9F4F821BC3 +:105FB00091098F7399270895FC01918D828D98170F +:105FC00031F0828DE80FF11D858D90E008958FEFFF +:105FD0009FEF0895FC01918D828D981761F0828D5D +:105FE000DF01A80FB11D5D968C91928D9F5F9F730D +:105FF000928F90E008958FEF9FEF08958EE691E3E2 +:10600000892B49F080E090E0892B29F00E946E31C5 +:1060100081110C9400000895FC01848DDF01A80F0C +:10602000B11DA35ABF4F2C91848D90E001968F73C0 +:106030009927848FA689B7892C93A089B1898C91DF +:1060400080648C93938D848D981306C00288F389A5 +:10605000E02D80818F7D80830895CF93DF93EC01C5 +:10606000888D8823C9F0EA89FB89808185FD05C078 +:10607000A889B9898C9186FD0FC00FB607FCF5CFB2 +:10608000808185FFF2CFA889B9898C9185FFEDCFFA +:10609000CE010E940C30E7CFDF91CF910895CF92CF +:1060A000DF92FF920F931F93CF93DF931F92CDB791 +:1060B000DEB76C0181E0D60158968C9358975B96B9 +:1060C0009C915B975C968C915C97981307C0509657 +:1060D000ED91FC915197808185FD2EC0F601038DD5 +:1060E00010E00F5F1F4F0F731127F02EF601848D04 +:1060F000F81211C00FB607FCF9CFD6015096ED91FA +:10610000FC915197808185FFF1CFC60169830E9480 +:106110000C306981EBCF838DE80FF11DE35AFF4FFF +:106120006083D6015B960C935B975296ED91FC9140 +:106130005397808180620CC0D6015696ED91FC91F8 +:10614000579760835096ED91FC91519780818064C0 +:10615000808381E090E00F90DF91CF911F910F91AC +:10616000FF90DF90CF900895BF92CF92DF92EF9291 +:10617000FF92CF93DF93EC016A017B01B22EE88995 +:10618000F98982E08083411581EE58076105710528 +:10619000A1F060E079E08DE390E0A70196010E9414 +:1061A0007C38215031094109510956954795379559 +:1061B0002795211580E1380798F0E889F989108240 +:1061C00060E874E88EE190E0A70196010E947C38B7 +:1061D0002150310941095109569547953795279521 +:1061E000EC85FD853083EE85FF852083188EEC8954 +:1061F000FD89B082EA89FB89808180618083EA8998 +:10620000FB89808188608083EA89FB89808180683E +:106210008083EA89FB8980818F7D8083DF91CF91A4 +:10622000FF90EF90DF90CF90BF9008951F920F9254 +:106230000FB60F9211242F938F939F93EF93FF9399 +:10624000E0911105F09112058081E0911705F09120 +:10625000180582FD12C0908180911A058F5F8F739F +:1062600020911B05821751F0E0911A05F0E0EF5FD5 +:10627000FA4F958F80931A0501C08081FF91EF91AD +:106280009F918F912F910F900FBE0F901F90189597 +:106290001F920F920FB60F9211242F933F934F939B +:1062A0005F936F937F938F939F93AF93BF93EF937E +:1062B000FF9381E095E00E940C30FF91EF91BF9138 +:1062C000AF919F918F917F916F915F914F913F918E +:1062D0002F910F900FBE0F901F90189581E095E0C1 +:1062E0000E94D12F21E0892B09F420E0822F08950C +:1062F000109204051092030588EE93E0A0E0B0E050 +:106300008093050590930605A0930705B0930805B3 +:106310008DE693E0909302058093010585EC90E073 +:1063200090930E0580930D0584EC90E090931005FA +:1063300080930F0580EC90E09093120580931105F7 +:1063400081EC90E0909314058093130582EC90E02B +:10635000909316058093150586EC90E090931805B0 +:106360008093170510921A0510921B0510921C05B8 +:1063700010921D050895CF92DF92EF92FF920F9336 +:106380001F93CF93DF937C016A01EB0100E010E0E3 +:106390000C151D0571F06991D701ED91FC910190EB +:1063A000F081E02DC7010995892B19F00F5F1F4F70 +:1063B000EFCFC801DF91CF911F910F91FF90EF9028 +:1063C000DF90CF9008956115710581F0DB010D908C +:1063D0000020E9F7AD0141505109461B570BDC0184 +:1063E000ED91FC910280F381E02D099480E090E032 +:1063F0000895EF92FF920F931F93CF93DF938C0139 +:106400007B01C0E0D0E0F701EC0FFD1F6491662333 +:1064100059F0F801A081B181ED91FC91C801099575 +:10642000892B11F02196EFCFCE01DF91CF911F91F3 +:106430000F91FF90EF900895DC01ED91FC91DB014D +:1064400014964D915C9115976D917C910280F3812A +:10645000E02D099469E773E00C94E3310F931F93E7 +:10646000CF93DF93EC010E94F9318C01CE010E94A1 +:106470002A32800F911FDF91CF911F910F910895C4 +:106480000F931F93CF93DF93EC010E941C328C017A +:10649000CE010E942A32800F911FDF91CF911F9170 +:1064A0000F9108958F929F92AF92BF92DF92EF92D9 +:1064B000FF920F931F93CF93DF93CDB7DEB7A197D2 +:1064C0000FB6F894DEBF0FBECDBF7C01F42FD52EE2 +:1064D000CB0119A2223008F42AE08E010F5D1F4F74 +:1064E000822E912CA12CB12C6F2F7D2DA501940112 +:1064F0000E947C38F22FD32ECA01015011096A3054 +:1065000014F4E0E301C0E7E3E60FD801EC93232B9A +:10651000242B252B49F7B801C7010E94E331A1962E +:106520000FB6F894DEBF0FBECDBFDF91CF911F91A4 +:106530000F91FF90EF90DF90BF90AF909F908F9062 +:1065400008952115310541F4DC01ED91FC91019094 +:10655000F081E02D642F09940C9452320F931F9315 +:10656000CF93DF93EC019A01462F50E060E070E09A +:106570000E94A1328C01CE010E942A32800F911F0D +:10658000DF91CF911F910F9108950F931F93CF9398 +:10659000DF93EC010E946C2E688779878A879B873E +:1065A000E881F9810680F781E02DCE01099597FFFA +:1065B00015C00E946C2E088519852A853B85601BB5 +:1065C000710B820B930B0C811D812E813F81601713 +:1065D00071078207930720F38FEF9FEFDF91CF9131 +:1065E0001F910F910895EF92FF920F931F93CF93F6 +:1065F000DF93EC018B01E42E6BE773E00E9489339B +:10660000C8010E94C532FF24E7FCF09497FD0BC03F +:106610008E159F0541F0682FCE010E943034C801CD +:106620000E94C532F3CFCE01DF91CF911F910F9120 +:10663000FF90EF900895FC01808191810C94753951 +:10664000CF93DF93EC0188819981009711F00E942C +:106650007539198218821D821C821B821A82DF9171 +:10666000CF9108950F931F93CF93DF93EC018B018C +:106670006F5F7F4F888199810E94043A009731F0C3 +:10668000998388831B830A8381E001C080E0DF91C6 +:10669000CF911F910F910895CF93DF93EC018881E3 +:1066A0009981892B29F08A819B818617970760F44D +:1066B000CE010E943233882341F08C819D81892B49 +:1066C00019F4E881F981108281E0DF91CF9108957A +:1066D000EF92FF920F931F93CF93DF93EC017B0117 +:1066E0008A01BA010E944C33811104C0CE010E947C +:1066F000203307C01D830C83B701888199810E94D4 +:10670000273BCE01DF91CF911F910F91FF90EF902A +:106710000895FC0111821082138212821582148264 +:106720006115710559F0FB0101900020E9F7AF01F7 +:1067300041505109461B570B0C9468330895CF9371 +:10674000DF93EC01FB018617970761F0608171818F +:106750006115710529F0448155810E94683302C09A +:106760000E942033CE01DF91CF910895FC01118268 +:10677000108213821282158214820C949F33CF935D +:10678000DF93EC016115710561F0FB0101900020C0 +:10679000E9F7AF0141505109461B570B0E9468337E +:1067A00002C00E942033CE01DF91CF9108950F9354 +:1067B0001F93CF93DF93CDB7DEB729970FB6F89429 +:1067C000DEBF0FBECDBF8C01862FF8011182108273 +:1067D000138212821582148250E0BE016F5F7F4FD8 +:1067E00090E00E947A3BBE016F5F7F4FC8010E941C +:1067F000BF3329960FB6F894DEBF0FBECDBFDF9131 +:10680000CF911F910F910895EF92FF920F931F93D5 +:10681000CF93DF93EC017B010C811D816115710524 +:1068200011F480E016C04115510591F0040F151FB9 +:10683000B8010E944C338823A1F3288139818C81CF +:106840009D81B701820F931F0E94273B1D830C83FC +:1068500081E0DF91CF911F910F91FF90EF9008950C +:10686000CF93DF9300D0CDB7DEB769831A8241E0C2 +:1068700050E0BE016F5F7F4F0E9404340F900F9075 +:10688000DF91CF910895CF93DF93EC0161157105EE +:1068900069F0FB0101900020E9F7AF014150510977 +:1068A000461B570B0E940434811103C0CE010E9485 +:1068B0002033CE01DF91CF910895FA01DB011496C8 +:1068C0004D915C911597DC0114962D913C91159793 +:1068D000241B350B2E173F0788F08D919C91009754 +:1068E00069F0DB016D917C916115710539F08E0FB6 +:1068F0009F1F0E942E3B21E0892B09F020E0822F70 +:106900000895FC0144815581FB01248135814217A2 +:10691000530720F040E050E00C945D3480E008958F +:10692000FC01248135816217730748F480819181CD +:10693000009729F0FC01E60FF71F8081089580E0A1 +:1069400008950C949034AF92BF92CF92DF92EF9261 +:10695000FF920F931F93CF93DF937B01EA01FB011B +:10696000448155814115510569F1FC01248135812E +:106970002115310539F12417350720F1C217D30746 +:1069800010F0E9012197FC0100811181C801AA24BE +:10699000AA94BB24BA946801CC0EDD1EC816D90691 +:1069A000A0F0F701608171810E944B3B009769F074 +:1069B0009C01201B310BC217D30708F495010196E7 +:1069C0005901ECCF8FEF9FEF01C0C501DF91CF914F +:1069D0001F910F91FF90EF90DF90CF90BF90AF90FD +:1069E0000895BF92CF92DF92EF92FF920F931F9381 +:1069F000CF93DF936C017B01EA01890124173507EE +:106A000020F48D2FE901042F182F6BE773E0C601E6 +:106A10000E948933D70114968D919C911597C817C0 +:106A2000D907C8F48017910708F48C01D701ED91BC +:106A3000FC911197E00FF11FB08010826D917C9155 +:106A40006C0F7D1FC6010E94BF33D701ED91FC91F1 +:106A5000E00FF11FB082C601DF91CF911F910F911E +:106A6000FF90EF90DF90CF90BF9008952F923F92CC +:106A70004F925F926F927F928F929F92AF92BF924E +:106A8000CF92DF92EF92FF920F931F93CF93DF93FA +:106A9000EC015B017A014C805D804114510409F4E2 +:106AA000C5C0FB01648075806114710409F4BEC027 +:106AB000FA01C480D580C618D70808811981C1148D +:106AC000D104C1F4F50160817181C8010E944B3B82 +:106AD000EC01009709F4AAC0F7016081718144813B +:106AE0005581CE010E94FA3AF701048115810C0FFD +:106AF0001D1FE8CFD7FC05C0FB012080318042017B +:106B000043C04801F50160817181C8010E944B3B7F +:106B10002C01009719F13201601A710AA301B80122 +:106B2000C4010E94FA3A680C791CF70160817181F6 +:106B300044815581C3010E94FA3AF701848095800F +:106B4000860C971CF50104811581040D151D8C819F +:106B50009D818C0D9D1D9D838C83D4CFB801C40174 +:106B6000DF91CF911F910F91FF90EF90DF90CF9029 +:106B7000BF90AF909F908F907F906F905F904F905D +:106B80003F902F900C94273BB101C8010E944B3BD2 +:106B9000009731F08C01060D171D8C0C9D1CF4CF55 +:106BA0008414950409F442C08A819B818815990553 +:106BB00030F4B401CE010E9432338823B9F14C8104 +:106BC0005D814150510957FD31C0B501CE010E9490 +:106BD000A3348C0197FD2AC088819981F501248115 +:106BE0003581200F311F820F931F4C815D81421B25 +:106BF000530BBC018C0D9D1D0E94033B8C819D811C +:106C00008C0D9D1D9D838C83E881F981E80FF91F10 +:106C1000108288819981F701608171814481558159 +:106C2000800F911F0E94FA3AA801CBCFDF91CF913C +:106C30001F910F91FF90EF90DF90CF90BF90AF909A +:106C40009F908F907F906F905F904F903F902F908C +:106C50000895CF93DF93EC01CB012C813D81621726 +:106C6000730710F541155105F9F0B901681B790B4F +:106C70004617570708F4BA01E881F981261B370B3C +:106C80003D832C83A901481B590B680F791F6E0F98 +:106C90007F1F8E0F9F1F0E943C3BE881F9818C81F2 +:106CA0009D81E80FF91F1082DF91CF910895FC01BB +:106CB00080819181009711F00C94D33A60E070E0EC +:106CC000CB0108950E94CE3A08950E94D52E0E94CD +:106CD00064360E94E409CEEFDFE20E940C0A20979E +:106CE000E1F30E94FE2FF9CF0C94DD3808955BD1BB +:106CF00080F09F3740F491110EF46DC160E070E0B8 +:106D000080E89FE3089526F01B16611D711D811D0B +:106D1000DDC0F7C00CD014C10CD140F003D130F06D +:106D200021F45F3F19F0CCC0511155C1F8C019D101 +:106D300098F39923C9F35523B1F3951B550BBB2742 +:106D4000AA2762177307840738F09F5F5F4F220FEF +:106D5000331F441FAA1FA9F333D00E2E3AF0E0E8E8 +:106D600030D091505040E695001CCAF729D0FE2F34 +:106D700027D0660F771F881FBB1F261737074807C6 +:106D8000AB07B0E809F0BB0B802DBF01FF2793587C +:106D90005F4F2AF09E3F510568F092C01CC15F3FD3 +:106DA000ECF3983EDCF3869577956795B795F79564 +:106DB0009F5FC9F7880F911D9695879597F908955C +:106DC000E1E0660F771F881FBB1F621773078407F8 +:106DD000BA0720F0621B730B840BBA0BEE1F88F707 +:106DE000E095089504D06894B111F5C00895C1D01C +:106DF00088F09F5790F0B92F9927B751A0F0D1F0A4 +:106E0000660F771F881F991F1AF0BA95C9F712C02D +:106E1000B13081F0DFD0B1E00895DCC0672F782F6A +:106E20008827B85F39F0B93FCCF386957795679599 +:106E3000B395D9F73EF490958095709561957F4F05 +:106E40008F4F9F4F0895E89409C097FB3EF49095AB +:106E50008095709561957F4F8F4F9F4F9923A9F033 +:106E6000F92F96E9BB279395F695879577956795C2 +:106E7000B795F111F8CFFAF4BB0F11F460FF1BC006 +:106E80006F5F7F4F8F4F9F4F16C0882311F096E999 +:106E900011C0772321F09EE8872F762F05C0662347 +:106EA00071F096E8862F70E060E02AF09A95660F00 +:106EB000771F881FDAF7880F9695879597F90895B9 +:106EC00097F99F6780E870E060E00895882371F487 +:106ED000772321F09850872B762F07C0662311F473 +:106EE00099270DC09051862B70E060E02AF09A95AA +:106EF000660F771F881FDAF7880F9695879597F9A1 +:106F000008959F3F31F0915020F4879577956795CC +:106F1000B795880F911D9695879597F908959FEFDE +:106F200080EC089500240A94161617061806090620 +:106F3000089500240A9412161306140605060895EF +:106F4000092E0394000C11F4882352F0BB0F40F477 +:106F5000BF2B11F460FF04C06F5F7F4F8F4F9F4FB7 +:106F6000089557FD9058440F551F59F05F3F71F039 +:106F70004795880F97FB991F61F09F3F79F08795A0 +:106F80000895121613061406551FF2CF4695F1DF29 +:106F900008C0161617061806991FF1CF86957105B9 +:106FA000610508940895E5DFA0F0BEE7B91788F4FD +:106FB000BB279F3860F41616B11D672F782F8827DE +:106FC000985FF7CF869577956795B11D939596391C +:106FD000C8F30895E894BB2766277727CB0197F974 +:106FE00008950BD0ADCF9EDF28F0A3DF18F09523D6 +:106FF00009F066CF94CF1124EECFB3DFA0F3959FB5 +:10700000D1F3950F50E0551F629FF001729FBB278F +:10701000F00DB11D639FAA27F00DB11DAA1F649F3B +:107020006627B00DA11D661F829F2227B00DA11DEE +:10703000621F739FB00DA11D621F839FA00D611D74 +:10704000221F749F3327A00D611D231F849F600D95 +:10705000211D822F762F6A2F11249F5750408AF0CE +:10706000E1F088234AF0EE0FFF1FBB1F661F771F5A +:10707000881F91505040A9F79E3F510570F020CFD6 +:10708000AACF5F3FECF3983EDCF386957795679542 +:10709000B795F795E7959F5FC1F7FE2B880F911D78 +:1070A0009695879597F90895AA1BBB1B51E107C0D8 +:1070B000AA1FBB1FA617B70710F0A61BB70B881F88 +:1070C000991F5A95A9F780959095BC01CD01089517 +:1070D00097FB072E16F4009407D077FD09D00E9485 +:1070E000543807FC05D03EF4909581959F4F089544 +:1070F000709561957F4F0895A1E21A2EAA1BBB1BC4 +:10710000FD010DC0AA1FBB1FEE1FFF1FA217B30773 +:10711000E407F50720F0A21BB30BE40BF50B661F89 +:10712000771F881F991F1A9469F76095709580954D +:1071300090959B01AC01BD01CF010895052E97FBF1 +:107140001EF400940E94B53857FD07D00E947C3889 +:1071500007FC03D04EF40C94B5385095409530950B +:1071600021953F4F4F4F5F4F0895909580957095B3 +:1071700061957F4F8F4F9F4F0895EE0FFF1F059032 +:10718000F491E02D09940E94CE38A59F900DB49FF4 +:10719000900DA49F800D911D11240895A29FB00110 +:1071A000B39FC001A39F700D811D1124911DB29F3B +:1071B000700D811D1124911D0895CF93DF938230AE +:1071C000910510F482E090E0E091A005F091A10516 +:1071D00020E030E0A0E0B0E0309739F1408151810B +:1071E00048175907B8F04817590771F482819381FD +:1071F000109729F013969C938E9312972CC090931E +:10720000A1058093A00527C02115310531F0421753 +:10721000530718F0A901DB0101C0EF019A01BD017C +:10722000DF010280F381E02DD7CF21153105F9F080 +:10723000281B390B2430310580F48A819B8161152C +:10724000710521F0FB019383828304C09093A10513 +:107250008093A005FE01329644C0FE01E20FF31FA9 +:107260008193919322503109398328833AC0209128 +:107270009E0530919F05232B41F42091020130910E +:10728000030130939F0520939E05209100013091CA +:1072900001012115310541F42DB73EB7409104019C +:1072A00050910501241B350BE0919E05F0919F053F +:1072B000E217F307A0F42E1B3F0B2817390778F0CD +:1072C000AC014E5F5F4F2417350748F04E0F5F1F2C +:1072D00050939F0540939E058193919302C0E0E0F7 +:1072E000F0E0CF01DF91CF910895CF93DF93009726 +:1072F00009F487C0FC01329713821282C091A00565 +:10730000D091A105209781F420813181280F391F68 +:1073100080919E0590919F058217930779F5F093D0 +:107320009F05E0939E056DC0DE0120E030E0AE17C2 +:10733000BF0750F412964D915C9113979D01411532 +:10734000510509F1DA01F3CFB383A2834081518162 +:10735000840F951F8A179B0771F48D919C9111974B +:10736000840F951F02969183808312968D919C9134 +:107370001397938382832115310529F4F093A10596 +:10738000E093A0053EC0D9011396FC93EE931297AB +:107390004D915D91A40FB51FEA17FB0779F4808129 +:1073A0009181840F951F0296D90111969C938E931B +:1073B0008281938113969C938E931297E0E0F0E084 +:1073C0008A819B81009719F0FE01EC01F9CFCE0173 +:1073D000029628813981820F931F20919E0530915A +:1073E0009F052817390769F4309729F41092A105F1 +:1073F0001092A00502C013821282D0939F05C09301 +:107400009E05DF91CF910895A0E0B0E0EAE0FAE3B5 +:107410000C94B33BEC01CB01209719F40E94DD38AA +:10742000B8C0FE01E60FF71F9E0122503109E21796 +:10743000F30708F4ACC0D9010D911C911197061700 +:107440001707B8F00530110508F49FC0A801445093 +:1074500051094617570708F498C002501109061B36 +:10746000170B019311936D937C93CF010E94753993 +:107470008CC05B01A01AB10A4E01800E911EA09132 +:10748000A005B091A105612C712C60E070E010970F +:1074900009F449C0A815B905C9F5ED90FC901197FC +:1074A000670142E0C40ED11CCA14DB0478F1470125 +:1074B0008A189B08640142E0C40ED11C1296BC904D +:1074C00012971396AC91B5E0CB16D10440F0B2827E +:1074D000A38391828082D9018D939C9309C00E5F12 +:1074E0001F4F0E0D1F1DF90111830083EB2DFA2F85 +:1074F0006115710531F0DB011396FC93EE93129741 +:1075000044C0F093A105E093A0053FC06D917C912C +:1075100011976616770608F43B01BD0112960D908F +:10752000BC91A02DB4CF60919E0570919F05681508 +:107530007905E9F468167906D0F44091000150917C +:1075400001014115510541F44DB75EB76091040149 +:1075500070910501461B570BE417F507C0F4F09333 +:107560009F05E0939E05F901918380830EC00E94E0 +:10757000DD387C01009759F0A801BE010E94FA3A5B +:10758000CE010E947539C70104C0CE0102C080E05F +:1075900090E0CDB7DEB7EEE00C94CF3B81E090E019 +:1075A000F8940C94E63B1F93FC0199278827BC01B3 +:1075B000E89411911032E9F3193010F01E30C8F33D +:1075C0001B3251F01D3249F4689406C00E94653B9D +:1075D000610F711D811D911D119110531A30B0F36F +:1075E0003EF490958095709561957F4F8F4F9F4F9A +:1075F0001F910895FB01DC0102C001900D924150E2 +:107600005040D8F708956817790768F4FB01DC014A +:10761000E40FF51FA40FB51F02C002900E92415057 +:107620005040D8F708950C94FA3ADC0101C06D93EC +:1076300041505040E0F70895FB01DC010D9000201F +:10764000E9F7119701900D920020E1F70895FB01F1 +:10765000DC0101900D920020E1F70895FB01DC01AF +:107660004150504030F08D910190801919F4002064 +:10767000B9F7881B990B0895FB01DC01415050407C +:1076800048F001900D920020C9F701C01D924150B1 +:107690005040E0F70895FB0151915523A9F0BF0137 +:1076A000DC014D9145174111E1F759F4CD010190ED +:1076B000002049F04D9140154111C9F3FB014111E2 +:1076C000EFCF81E090E001970895592F482F372F91 +:1076D000262F660F771F881F991F660F771F881F39 +:1076E000991F620F731F841F951F660F771F881FD6 +:1076F000991F08954532510520F4423010F00C9442 +:10770000853BFB011082CB010895BB27FB01552768 +:10771000AA27880F991FAA1FA41710F0A41B8395EE +:107720005051B9F7A05DAA3308F0A95DA193009765 +:1077300079F7B111B1931192CB010C949F3BDC010D +:10774000FC01672F71917723E1F7329704C07C9198 +:107750006D9370836291AE17BF07C8F308952F929F +:107760003F924F925F926F927F928F929F92AF92D1 +:10777000BF92CF92DF92EF92FF920F931F93CF931E +:10778000DF93CDB7DEB7CA1BDB0B0FB6F894DEBFB5 +:107790000FBECDBF09942A88398848885F846E84DB +:1077A0007D848C849B84AA84B984C884DF80EE8025 +:1077B000FD800C811B81AA81B981CE0FD11D0FB62E +:1077C000F894DEBF0FBECDBFED01089512E1C2E215 +:1077D000D2E104C0FE010E94BF382296C432D10714 +:0677E000C9F7F894FFCF89 +:1077E6000000A2058000BB03B303A9039F03950312 +:1077F60013044F048E049A04270D0000000062361D +:107806000101030504050401020203050203010444 +:10781600040304040404040404040102030303042B +:107826000504030403030304040303040305050416 +:10783600030503040304050503030402020203030C +:107846000101030504050401020203050203010404 +:1078560003030403040304040404010202030204F0 +:1078660005040304030303040403030403050504D6 +:1078760003050304030405050303040204020303CA +:107886003C003E00494C4C554D005245424F4F542A +:107896000057492D4649004F46460054455354006B +:1078A6005353480052455345540044454D4F0045F7 +:1078B600584954004155544F0057495045004E4FC2 +:1078C60000414C4C4F5700424C4F434B00010103C3 +:1078D600050405040102020305020301040403046E +:1078E600040404040404040102030303040504035A +:1078F6000403030304040303040305050403050347 +:107906000403040505030304020202030301010341 +:10791600050405040102020305020301040303042E +:10792600030403040404040102020302040504031D +:107936000403030304040303040305050403050306 +:10794600040304050503030402040203030F0F0FD7 +:107956000F0F0F0F0F0F0F0F0F0F0F0F0F72657314 +:1079660065740066616B6574616C6B006C69737439 +:10797600656E007468696E6B00746578743D0069A5 +:10798600636F6E00766973656D653D006D6F757426 +:10799600680000000000D2276579657300636F6C8C +:1079A6006F723D006C6576656C3D0066696C6C3D7A +:1079B60000766F6C756D653D007370696E3D006F86 +:1079C600666600626C696E6B006E6172726F77003C +:1079D600776964656E00756E6C6F6F6B00737069A6 +:1079E6006E00000504000000000000000100000019 +:1079F60000000200000300000000DD29756E6D75B1 +:107A0600746500626C696E6B3D0076657273696FB2 +:107A16006E0073797374656D0000000000F32B64CB +:107A26006973706C61793D00776561746865720091 +:107A360000000000BE2C5C00626567696E0074651C +:107A460073740000000000CB2D000000004F30BB17 +:107A560031D12FEA2FDC2F2D300D0A006E616E001A +:0A7A6600696E66006F7666002E0060 +:00000001FF + diff --git a/buildroot-external/rootfs-overlay/usr/libexec/ovos-i2csound b/buildroot-external/board/raspberrypi/rootfs-overlay/usr/libexec/ovos-i2csound similarity index 100% rename from buildroot-external/rootfs-overlay/usr/libexec/ovos-i2csound rename to buildroot-external/board/raspberrypi/rootfs-overlay/usr/libexec/ovos-i2csound diff --git a/buildroot-external/board/raspberrypi3-64/meta b/buildroot-external/board/raspberrypi3-64/meta new file mode 100644 index 00000000..98792103 --- /dev/null +++ b/buildroot-external/board/raspberrypi3-64/meta @@ -0,0 +1,3 @@ +BOARD_ID=rpi3-64 +BOARD_NAME="RaspberryPi 3 64bit" +CHASSIS=embedded diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/christopher-precise.pb b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/christopher-precise.pb new file mode 100644 index 00000000..7274539f Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/christopher-precise.pb differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/christopher-precise.pb.params b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/christopher-precise.pb.params new file mode 100644 index 00000000..e64a3a83 --- /dev/null +++ b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/christopher-precise.pb.params @@ -0,0 +1 @@ +{"window_t": 0.1, "hop_t": 0.05, "buffer_t": 1.5, "sample_rate": 16000, "sample_depth": 2, "n_mfcc": 13, "n_filt": 20, "n_fft": 512} diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft-2.pb b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft-2.pb new file mode 100644 index 00000000..96726b9f Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft-2.pb differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft-2.pb.params b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft-2.pb.params new file mode 100644 index 00000000..be97f57f --- /dev/null +++ b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft-2.pb.params @@ -0,0 +1 @@ +{"window_t": 0.1, "hop_t": 0.05, "buffer_t": 1.5, "sample_rate": 16000, "sample_depth": 2, "n_mfcc": 13, "n_filt": 20, "n_fft": 512, "use_delta": false} \ No newline at end of file diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.pb b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft.pb similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.pb rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft.pb diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.pb.params b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft.pb.params similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.pb.params rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/hey-mycroft.pb.params diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/FlowControl.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/FlowControl.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/FlowControl.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/FlowControl.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/FusedNode.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/FusedNode.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/FusedNode.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/FusedNode.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/Scanning.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/Scanning.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/Scanning.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/Scanning.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/Visitor.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/Visitor.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Compiler/Visitor.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Compiler/Visitor.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Tempita/_tempita.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Tempita/_tempita.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/Cython/Tempita/_tempita.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/Cython/Tempita/_tempita.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_bisect.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_bisect.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_bisect.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_bisect.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_bz2.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_bz2.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_bz2.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_bz2.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_cn.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_cn.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_cn.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_cn.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_hk.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_hk.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_hk.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_hk.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_iso2022.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_iso2022.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_iso2022.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_iso2022.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_jp.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_jp.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_jp.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_jp.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_kr.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_kr.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_kr.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_kr.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_tw.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_tw.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_codecs_tw.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_codecs_tw.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_csv.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_csv.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_csv.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_csv.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_ctypes.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_ctypes.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_ctypes.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_ctypes.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_curses.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_curses.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_curses.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_curses.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_datetime.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_datetime.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_datetime.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_datetime.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_decimal.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_decimal.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_decimal.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_decimal.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_elementtree.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_elementtree.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_elementtree.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_elementtree.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_gdbm.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_gdbm.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..3e7dbfa2 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_gdbm.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_hashlib.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_hashlib.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_hashlib.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_hashlib.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_heapq.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_heapq.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_heapq.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_heapq.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_json.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_json.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_json.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_json.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_lzma.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_lzma.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_lzma.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_lzma.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_md5.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_md5.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_md5.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_md5.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_multibytecodec.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_multibytecodec.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_multibytecodec.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_multibytecodec.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_multiprocessing.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_multiprocessing.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_multiprocessing.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_multiprocessing.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_opcode.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_opcode.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_opcode.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_opcode.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_pickle.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_pickle.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_pickle.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_pickle.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_portaudio.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_portaudio.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..d3fcc636 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_portaudio.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_posixsubprocess.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_posixsubprocess.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_posixsubprocess.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_posixsubprocess.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_random.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_random.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_random.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_random.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sha1.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sha1.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sha1.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sha1.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sha256.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sha256.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sha256.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sha256.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sha512.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sha512.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sha512.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sha512.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_socket.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_socket.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_socket.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_socket.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sqlite3.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sqlite3.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_sqlite3.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_sqlite3.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_ssl.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_ssl.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_ssl.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_ssl.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_struct.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_struct.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_struct.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_struct.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_struct/cpython-35m-aarch64-linux-gnu/sotruct.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_struct/cpython-35m-aarch64-linux-gnu/sotruct.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/_struct/cpython-35m-aarch64-linux-gnu/sotruct.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/_struct/cpython-35m-aarch64-linux-gnu/sotruct.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/array.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/array.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/array.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/array.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/audioop.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/audioop.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/audioop.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/audioop.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/base_library.zip b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/base_library.zip similarity index 97% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/base_library.zip rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/base_library.zip index a683db3c..d8e1cb6e 100644 Binary files a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/base_library.zip and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/base_library.zip differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/binascii.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/binascii.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/binascii.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/binascii.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/bson/_cbson.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/bson/_cbson.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..1f42db69 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/bson/_cbson.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/fcntl.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/fcntl.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/fcntl.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/fcntl.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/grp.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/grp.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/grp.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/grp.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/grpc/_cython/cygrpc.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/grpc/_cython/cygrpc.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/grpc/_cython/cygrpc.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/grpc/_cython/cygrpc.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_conv.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_conv.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_conv.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_conv.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_errors.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_errors.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_errors.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_errors.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_objects.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_objects.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_objects.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_objects.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_proxy.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_proxy.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/_proxy.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/_proxy.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/defs.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/defs.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/defs.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/defs.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5a.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5a.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5a.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5a.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5ac.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5ac.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5ac.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5ac.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5d.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5d.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5d.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5d.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5ds.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5ds.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5ds.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5ds.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5f.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5f.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5f.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5f.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5fd.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5fd.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5fd.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5fd.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5g.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5g.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5g.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5g.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5i.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5i.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5i.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5i.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5l.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5l.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5l.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5l.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5o.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5o.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5o.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5o.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5p.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5p.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5p.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5p.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5r.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5r.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5r.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5r.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5s.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5s.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5s.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5s.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5t.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5t.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5t.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5t.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5z.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5z.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/h5z.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/h5z.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/utils.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/utils.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/h5py/utils.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/h5py/utils.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/include/python3.5m/pyconfig.h b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/include/python3.5m/pyconfig.h similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/include/python3.5m/pyconfig.h rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/include/python3.5m/pyconfig.h diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib/python3.5/config-3.5m/Makefile b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib/python3.5/config-3.5m/Makefile similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib/python3.5/config-3.5m/Makefile rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib/python3.5/config-3.5m/Makefile diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/Grammar.txt b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/Grammar.txt similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/Grammar.txt rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/Grammar.txt diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/Grammar3.5.4.final.0.pickle b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/Grammar3.5.4.final.0.pickle similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/Grammar3.5.4.final.0.pickle rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/Grammar3.5.4.final.0.pickle diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/PatternGrammar.txt b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/PatternGrammar.txt similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/PatternGrammar.txt rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/PatternGrammar.txt diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/PatternGrammar3.5.4.final.0.pickle b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/PatternGrammar3.5.4.final.0.pickle similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/PatternGrammar3.5.4.final.0.pickle rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/PatternGrammar3.5.4.final.0.pickle diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/tests/data/README b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/tests/data/README similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/lib2to3/tests/data/README rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/lib2to3/tests/data/README diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libaec.so.0 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libaec.so.0 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libaec.so.0 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libaec.so.0 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libasound.so.2 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libasound.so.2 new file mode 100755 index 00000000..f21fda38 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libasound.so.2 differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libbz2.so.1.0 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libbz2.so.1.0 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libbz2.so.1.0 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libbz2.so.1.0 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libcrypto.so.1.1 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libcrypto.so.1.1 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libcrypto.so.1.1 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libcrypto.so.1.1 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libdb-5.3.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libdb-5.3.so new file mode 100755 index 00000000..3a6b07f5 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libdb-5.3.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libexpat.so.1 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libexpat.so.1 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libexpat.so.1 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libexpat.so.1 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libgcc_s.so.1 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgcc_s.so.1 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libgcc_s.so.1 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgcc_s.so.1 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgdbm.so.5 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgdbm.so.5 new file mode 100755 index 00000000..c2c22a41 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgdbm.so.5 differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libgfortran.so.4 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgfortran.so.4 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libgfortran.so.4 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libgfortran.so.4 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libhdf5_serial.so.100 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libhdf5_serial.so.100 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libhdf5_serial.so.100 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libhdf5_serial.so.100 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libhdf5_serial_hl.so.100 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libhdf5_serial_hl.so.100 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libhdf5_serial_hl.so.100 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libhdf5_serial_hl.so.100 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libjack.so.0 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libjack.so.0 new file mode 100755 index 00000000..1cb9aed9 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libjack.so.0 differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/liblzma.so.5 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/liblzma.so.5 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/liblzma.so.5 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/liblzma.so.5 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libncurses.so.5 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libncurses.so.5 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libncurses.so.5 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libncurses.so.5 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libopenblas.so.0 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libopenblas.so.0 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libopenblas.so.0 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libopenblas.so.0 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libportaudio.so.2 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libportaudio.so.2 new file mode 100755 index 00000000..55f46bcc Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libportaudio.so.2 differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libpython3.5m.so.1.0 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libpython3.5m.so.1.0 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libpython3.5m.so.1.0 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libpython3.5m.so.1.0 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libreadline.so.7 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libreadline.so.7 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libreadline.so.7 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libreadline.so.7 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libsqlite3.so.0 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libsqlite3.so.0 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libsqlite3.so.0 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libsqlite3.so.0 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libssl.so.1.1 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libssl.so.1.1 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libssl.so.1.1 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libssl.so.1.1 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libstdc++.so.6 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libstdc++.so.6 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libstdc++.so.6 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libstdc++.so.6 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libsz.so.2 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libsz.so.2 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libsz.so.2 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libsz.so.2 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libtinfo.so.5 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libtinfo.so.5 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libtinfo.so.5 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libtinfo.so.5 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libz.so.1 b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libz.so.1 similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/libz.so.1 rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/libz.so.1 diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/math.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/math.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/math.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/math.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/mmap.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/mmap.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/mmap.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/mmap.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/core/_multiarray_tests.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/core/_multiarray_tests.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/core/_multiarray_tests.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/core/_multiarray_tests.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/core/_multiarray_umath.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/core/_multiarray_umath.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/core/_multiarray_umath.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/core/_multiarray_umath.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/fft/fftpack_lite.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/fft/fftpack_lite.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/fft/fftpack_lite.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/fft/fftpack_lite.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/linalg/_umath_linalg.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/linalg/_umath_linalg.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/linalg/_umath_linalg.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/linalg/_umath_linalg.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/linalg/lapack_lite.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/linalg/lapack_lite.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/linalg/lapack_lite.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/linalg/lapack_lite.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/random/mtrand.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/random/mtrand.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/numpy/random/mtrand.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/numpy/random/mtrand.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-add-noise b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-add-noise new file mode 100755 index 00000000..e58559e8 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-add-noise differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-calc-threshold b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-calc-threshold new file mode 100755 index 00000000..c732ddb8 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-calc-threshold differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-collect b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-collect new file mode 100755 index 00000000..128ccf90 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-collect differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-convert b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-convert new file mode 100755 index 00000000..835ac1ee Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-convert differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/precise-engine b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-engine similarity index 97% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/precise-engine rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-engine index c64831f6..c3801e05 100755 Binary files a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/precise-engine and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-engine differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-eval b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-eval new file mode 100755 index 00000000..bf940a08 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-eval differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-graph b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-graph new file mode 100755 index 00000000..e4922d27 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-graph differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-listen b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-listen new file mode 100755 index 00000000..9dd0f0c3 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-listen differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-simulate b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-simulate new file mode 100755 index 00000000..7533e0d0 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-simulate differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-test b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-test new file mode 100755 index 00000000..4c814e1a Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-test differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train new file mode 100755 index 00000000..5779df72 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-generated b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-generated new file mode 100755 index 00000000..65c7b13f Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-generated differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-incremental b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-incremental new file mode 100755 index 00000000..c45364ae Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-incremental differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-optimize b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-optimize new file mode 100755 index 00000000..3cc7ea72 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-optimize differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-sampled b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-sampled new file mode 100755 index 00000000..5e67913d Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/precise-train-sampled differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/pyexpat.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/pyexpat.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/pyexpat.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/pyexpat.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/readline.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/readline.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/readline.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/readline.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/resource.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/resource.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/resource.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/resource.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/_lib/_ccallback_c.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/_lib/_ccallback_c.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/_lib/_ccallback_c.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/_lib/_ccallback_c.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/_lib/_fpumode.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/_lib/_fpumode.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/_lib/_fpumode.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/_lib/_fpumode.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/_lib/messagestream.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/_lib/messagestream.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/_lib/messagestream.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/_lib/messagestream.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/cluster/_hierarchy.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/cluster/_hierarchy.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/cluster/_hierarchy.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/cluster/_hierarchy.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/cluster/_optimal_leaf_ordering.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/cluster/_optimal_leaf_ordering.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/cluster/_optimal_leaf_ordering.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/cluster/_optimal_leaf_ordering.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/cluster/_vq.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/cluster/_vq.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/cluster/_vq.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/cluster/_vq.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/fftpack/_fftpack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/fftpack/_fftpack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/fftpack/_fftpack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/fftpack/_fftpack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/fftpack/convolve.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/fftpack/convolve.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/fftpack/convolve.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/fftpack/convolve.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/_dop.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/_dop.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/_dop.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/_dop.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/_odepack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/_odepack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/_odepack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/_odepack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/_quadpack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/_quadpack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/_quadpack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/_quadpack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/lsoda.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/lsoda.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/lsoda.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/lsoda.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/vode.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/vode.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/integrate/vode.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/integrate/vode.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/_bspl.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/_bspl.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/_bspl.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/_bspl.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/_fitpack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/_fitpack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/_fitpack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/_fitpack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/_ppoly.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/_ppoly.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/_ppoly.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/_ppoly.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/dfitpack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/dfitpack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/dfitpack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/dfitpack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/interpnd.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/interpnd.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/interpolate/interpnd.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/interpolate/interpnd.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/io/matlab/mio5_utils.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/io/matlab/mio5_utils.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/io/matlab/mio5_utils.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/io/matlab/mio5_utils.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/io/matlab/mio_utils.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/io/matlab/mio_utils.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/io/matlab/mio_utils.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/io/matlab/mio_utils.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/io/matlab/streams.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/io/matlab/streams.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/io/matlab/streams.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/io/matlab/streams.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_decomp_update.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_decomp_update.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_decomp_update.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_decomp_update.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_fblas.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_fblas.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_fblas.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_fblas.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_flapack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_flapack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_flapack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_flapack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_flinalg.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_flinalg.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_flinalg.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_flinalg.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_solve_toeplitz.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_solve_toeplitz.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/_solve_toeplitz.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/_solve_toeplitz.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/cython_blas.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/cython_blas.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/cython_blas.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/cython_blas.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/cython_lapack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/cython_lapack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/linalg/cython_lapack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/linalg/cython_lapack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/ndimage/_nd_image.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/ndimage/_nd_image.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/ndimage/_nd_image.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/ndimage/_nd_image.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/ndimage/_ni_label.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/ndimage/_ni_label.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/ndimage/_ni_label.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/ndimage/_ni_label.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_bglu_dense.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_bglu_dense.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_bglu_dense.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_bglu_dense.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_cobyla.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_cobyla.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_cobyla.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_cobyla.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_group_columns.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_group_columns.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_group_columns.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_group_columns.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_lbfgsb.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_lbfgsb.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_lbfgsb.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_lbfgsb.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_lsq/givens_elimination.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_lsq/givens_elimination.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_lsq/givens_elimination.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_lsq/givens_elimination.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_minpack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_minpack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_minpack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_minpack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_nnls.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_nnls.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_nnls.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_nnls.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_slsqp.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_slsqp.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_slsqp.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_slsqp.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_trlib/_trlib.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_trlib/_trlib.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_trlib/_trlib.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_trlib/_trlib.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_zeros.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_zeros.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/_zeros.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/_zeros.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/minpack2.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/minpack2.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/minpack2.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/minpack2.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/moduleTNC.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/moduleTNC.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/optimize/moduleTNC.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/optimize/moduleTNC.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/_csparsetools.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/_csparsetools.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/_csparsetools.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/_csparsetools.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/_sparsetools.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/_sparsetools.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/_sparsetools.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/_sparsetools.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_min_spanning_tree.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_min_spanning_tree.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_min_spanning_tree.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_min_spanning_tree.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_reordering.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_reordering.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_reordering.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_reordering.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_shortest_path.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_shortest_path.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_shortest_path.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_shortest_path.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_tools.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_tools.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_tools.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_tools.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_traversal.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_traversal.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/csgraph/_traversal.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/csgraph/_traversal.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/linalg/dsolve/_superlu.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/linalg/dsolve/_superlu.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/linalg/dsolve/_superlu.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/linalg/dsolve/_superlu.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/linalg/eigen/arpack/_arpack.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/linalg/eigen/arpack/_arpack.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/linalg/eigen/arpack/_arpack.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/linalg/eigen/arpack/_arpack.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/linalg/isolve/_iterative.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/linalg/isolve/_iterative.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/sparse/linalg/isolve/_iterative.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/sparse/linalg/isolve/_iterative.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/_distance_wrap.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/_distance_wrap.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/_distance_wrap.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/_distance_wrap.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/_hausdorff.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/_hausdorff.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/_hausdorff.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/_hausdorff.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/_voronoi.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/_voronoi.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/_voronoi.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/_voronoi.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/ckdtree.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/ckdtree.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/ckdtree.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/ckdtree.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/qhull.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/qhull.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/spatial/qhull.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/spatial/qhull.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_comb.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_comb.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_comb.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_comb.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_ellip_harm_2.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_ellip_harm_2.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_ellip_harm_2.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_ellip_harm_2.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_ufuncs.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_ufuncs.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_ufuncs.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_ufuncs.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_ufuncs_cxx.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_ufuncs_cxx.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/_ufuncs_cxx.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/_ufuncs_cxx.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/specfun.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/specfun.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/special/specfun.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/special/specfun.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/stats/_stats.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/stats/_stats.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/stats/_stats.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/stats/_stats.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/stats/mvn.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/stats/mvn.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/stats/mvn.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/stats/mvn.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/stats/statlib.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/stats/statlib.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/scipy/stats/statlib.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/scipy/stats/statlib.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/select.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/select.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/select.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/select.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/__check_build/_check_build.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/__check_build/_check_build.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/__check_build/_check_build.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/__check_build/_check_build.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/_isotonic.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/_isotonic.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/_isotonic.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/_isotonic.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_dbscan_inner.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_dbscan_inner.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_dbscan_inner.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_dbscan_inner.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_hierarchical.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_hierarchical.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_hierarchical.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_hierarchical.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_k_means.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_k_means.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_k_means.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_k_means.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_k_means_elkan.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_k_means_elkan.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/cluster/_k_means_elkan.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/cluster/_k_means_elkan.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/datasets/_svmlight_format.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/datasets/_svmlight_format.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/datasets/_svmlight_format.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/datasets/_svmlight_format.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/decomposition/_online_lda.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/decomposition/_online_lda.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/decomposition/_online_lda.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/decomposition/_online_lda.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/decomposition/cdnmf_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/decomposition/cdnmf_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/decomposition/cdnmf_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/decomposition/cdnmf_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/ensemble/_gradient_boosting.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/ensemble/_gradient_boosting.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..087ccb96 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/ensemble/_gradient_boosting.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/feature_extraction/_hashing.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/feature_extraction/_hashing.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/feature_extraction/_hashing.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/feature_extraction/_hashing.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/linear_model/cd_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/linear_model/cd_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/linear_model/cd_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/linear_model/cd_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/linear_model/sag_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/linear_model/sag_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/linear_model/sag_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/linear_model/sag_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/linear_model/sgd_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/linear_model/sgd_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/linear_model/sgd_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/linear_model/sgd_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/manifold/_barnes_hut_tsne.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/manifold/_barnes_hut_tsne.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/manifold/_barnes_hut_tsne.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/manifold/_barnes_hut_tsne.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/manifold/_utils.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/manifold/_utils.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/manifold/_utils.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/manifold/_utils.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/metrics/cluster/expected_mutual_info_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/metrics/cluster/expected_mutual_info_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/metrics/cluster/expected_mutual_info_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/metrics/cluster/expected_mutual_info_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/metrics/pairwise_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/metrics/pairwise_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/metrics/pairwise_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/metrics/pairwise_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/neighbors/ball_tree.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/neighbors/ball_tree.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/neighbors/ball_tree.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/neighbors/ball_tree.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/neighbors/dist_metrics.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/neighbors/dist_metrics.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/neighbors/dist_metrics.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/neighbors/dist_metrics.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/neighbors/kd_tree.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/neighbors/kd_tree.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/neighbors/kd_tree.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/neighbors/kd_tree.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/preprocessing/_csr_polynomial_expansion.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/preprocessing/_csr_polynomial_expansion.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/preprocessing/_csr_polynomial_expansion.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/preprocessing/_csr_polynomial_expansion.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/svm/liblinear.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/svm/liblinear.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/svm/liblinear.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/svm/liblinear.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/svm/libsvm.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/svm/libsvm.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/svm/libsvm.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/svm/libsvm.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/svm/libsvm_sparse.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/svm/libsvm_sparse.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/svm/libsvm_sparse.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/svm/libsvm_sparse.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_criterion.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_criterion.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..627c78cc Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_criterion.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_splitter.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_splitter.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..f220a949 Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_splitter.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_tree.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_tree.cpython-35m-aarch64-linux-gnu.so new file mode 100755 index 00000000..551bc33d Binary files /dev/null and b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/tree/_tree.cpython-35m-aarch64-linux-gnu.so differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/_logistic_sigmoid.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/_logistic_sigmoid.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/_logistic_sigmoid.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/_logistic_sigmoid.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/_random.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/_random.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/_random.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/_random.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/arrayfuncs.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/arrayfuncs.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/arrayfuncs.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/arrayfuncs.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/fast_dict.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/fast_dict.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/fast_dict.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/fast_dict.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/graph_shortest_path.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/graph_shortest_path.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/graph_shortest_path.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/graph_shortest_path.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/lgamma.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/lgamma.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/lgamma.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/lgamma.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/murmurhash.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/murmurhash.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/murmurhash.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/murmurhash.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/seq_dataset.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/seq_dataset.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/seq_dataset.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/seq_dataset.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/sparsefuncs_fast.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/sparsefuncs_fast.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/sparsefuncs_fast.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/sparsefuncs_fast.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/weight_vector.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/weight_vector.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/sklearn/utils/weight_vector.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/sklearn/utils/weight_vector.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/syslog.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/syslog.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/syslog.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/syslog.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/tensorflow/python/_pywrap_tensorflow_internal.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/tensorflow/python/_pywrap_tensorflow_internal.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/tensorflow/python/_pywrap_tensorflow_internal.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/tensorflow/python/_pywrap_tensorflow_internal.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/tensorflow/python/framework/fast_tensor_util.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/tensorflow/python/framework/fast_tensor_util.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/tensorflow/python/framework/fast_tensor_util.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/tensorflow/python/framework/fast_tensor_util.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/termios.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/termios.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/termios.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/termios.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/unicodedata.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/unicodedata.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/unicodedata.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/unicodedata.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/zlib.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/zlib.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/zlib.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/zlib.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/zlib/cpython-35m-aarch64-linux-gnu/soib.cpython-35m-aarch64-linux-gnu.so b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/zlib/cpython-35m-aarch64-linux-gnu/soib.cpython-35m-aarch64-linux-gnu.so similarity index 100% rename from buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine/zlib/cpython-35m-aarch64-linux-gnu/soib.cpython-35m-aarch64-linux-gnu.so rename to buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.local/share/precise03/precise-engine/zlib/cpython-35m-aarch64-linux-gnu/soib.cpython-35m-aarch64-linux-gnu.so diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.tar.gz b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.tar.gz deleted file mode 100644 index 283b1544..00000000 Binary files a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/hey-mycroft.tar.gz and /dev/null differ diff --git a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine_0.3.0_aarch64.tar.gz b/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine_0.3.0_aarch64.tar.gz deleted file mode 100644 index 40047913..00000000 Binary files a/buildroot-external/board/raspberrypi3-64/rootfs-overlay/home/mycroft/.mycroft/precise/precise-engine_0.3.0_aarch64.tar.gz and /dev/null differ diff --git a/buildroot-external/configs/rpi3_64-gui_defconfig b/buildroot-external/configs/rpi3_64-gui_defconfig new file mode 100644 index 00000000..1b6c6241 --- /dev/null +++ b/buildroot-external/configs/rpi3_64-gui_defconfig @@ -0,0 +1,744 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_DL_DIR="../downloads" +BR2_CCACHE=y +BR2_CCACHE_DIR="../ccache" +BR2_OPTIMIZE_3=y +BR2_GLOBAL_PATCH_DIR="../buildroot-patches" +# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set +BR2_FORCE_HOST_BUILD=y +BR2_SSP_REGULAR=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_PACKAGE_GLIBC_UTILS=y +BR2_BINUTILS_VERSION_2_34_X=y +BR2_GCC_VERSION_10_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_GCC_ENABLE_LTO=y +BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y +BR2_TARGET_GENERIC_HOSTNAME="OpenVoiceOS" +BR2_TARGET_GENERIC_ISSUE="Welcome to OpenVoiceOS" +BR2_INIT_SYSTEMD=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_SYSTEM_BIN_SH_BASH=y +BR2_SYSTEM_DHCP="eth0" +# BR2_ENABLE_LOCALE_PURGE is not set +BR2_GENERATE_LOCALE="en_US.UTF-8" +BR2_SYSTEM_ENABLE_NLS=y +BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL)/user_table.txt" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/rootfs-overlay $(BR2_EXTERNAL)/board/raspberrypi/rootfs-overlay $(BR2_EXTERNAL)/board/raspberrypi3-64/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/board/raspberrypi3-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/board/raspberrypi3-64/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/oldstable_20211201.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/board/raspberrypi/kernel.config" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2837-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-zero-2" +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y +BR2_LINUX_KERNEL_DTS_OVERLAYS_SUPPORT=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_LINUX_TOOLS_GPIO=y +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/busybox.config" +BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_ALSACONF=y +BR2_PACKAGE_ALSA_UTILS_ACONNECT=y +BR2_PACKAGE_ALSA_UTILS_ALSALOOP=y +BR2_PACKAGE_ALSA_UTILS_ALSAUCM=y +BR2_PACKAGE_ALSA_UTILS_ALSATPLG=y +BR2_PACKAGE_ALSA_UTILS_AMIDI=y +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_ALSA_UTILS_APLAYMIDI=y +BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI=y +BR2_PACKAGE_ALSA_UTILS_ASEQDUMP=y +BR2_PACKAGE_ALSA_UTILS_ASEQNET=y +BR2_PACKAGE_ALSA_UTILS_BAT=y +BR2_PACKAGE_ALSA_UTILS_IECSET=y +BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y +BR2_PACKAGE_ESPEAK=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_NONFREE=y +# BR2_PACKAGE_FFMPEG_FFMPEG is not set +BR2_PACKAGE_FFMPEG_AVRESAMPLE=y +BR2_PACKAGE_FFMPEG_POSTPROC=y +BR2_PACKAGE_GSTREAMER1=y +BR2_PACKAGE_GSTREAMER1_MM=y +BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPEEX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TAGLIB=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TWOLAME=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPACK=y +BR2_PACKAGE_GST1_PLUGINS_BAD=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBENC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP2=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP2=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SWITCHBIN=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVB=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FAAD=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FLUIDSYNTH=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_V4L2CODECS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y +BR2_PACKAGE_GST1_PLUGINS_BAD_ZBAR=y +BR2_PACKAGE_GST1_PLUGINS_UGLY=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_REALMEDIA=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDREAD=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y +BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264=y +BR2_PACKAGE_GST1_DEVTOOLS=y +BR2_PACKAGE_GST1_INTERPIPE=y +BR2_PACKAGE_GST1_LIBAV=y +BR2_PACKAGE_MIMIC=y +BR2_PACKAGE_MIMIC_AUDIO_BACKEND_PULSEAUDIO=y +BR2_PACKAGE_MPV=y +BR2_PACKAGE_PULSEAUDIO_DAEMON=y +BR2_PACKAGE_SQUEEZELITE=y +BR2_PACKAGE_SQUEEZELITE_RESAMPLE=y +BR2_PACKAGE_VLC=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_LZIP=y +BR2_PACKAGE_LZOP=y +BR2_PACKAGE_P7ZIP=y +BR2_PACKAGE_UNRAR=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_NMON=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_CHECK=y +BR2_PACKAGE_DIFFUTILS=y +BR2_PACKAGE_FINDUTILS=y +BR2_PACKAGE_GIT_CRYPT=y +BR2_PACKAGE_GREP=y +BR2_PACKAGE_JO=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_MAKE=y +BR2_PACKAGE_PATCH=y +BR2_PACKAGE_PKGCONF=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_DEJAVU=y +BR2_PACKAGE_LIBERATION=y +BR2_PACKAGE_GLMARK2=y +BR2_PACKAGE_MESA3D=y +BR2_PACKAGE_MESA3D_LLVM=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y +BR2_PACKAGE_MESA3D_OPENGL_ES=y +BR2_PACKAGE_QT5=y +BR2_PACKAGE_QT53D=y +BR2_PACKAGE_QT5BASE_CONCURRENT=y +BR2_PACKAGE_QT5BASE_SQLITE_QT=y +BR2_PACKAGE_QT5BASE_LINUXFB=y +BR2_PACKAGE_QT5BASE_XCB=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_HARFBUZZ=y +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y +BR2_PACKAGE_QT5BASE_TSLIB=y +BR2_PACKAGE_QT5GRAPHICALEFFECTS=y +BR2_PACKAGE_QT5IMAGEFORMATS=y +BR2_PACKAGE_QT5MULTIMEDIA=y +BR2_PACKAGE_QT5SCRIPT=y +BR2_PACKAGE_QT5VIRTUALKEYBOARD=y +BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION=y +BR2_PACKAGE_QT5WAYLAND=y +BR2_PACKAGE_QT5WAYLAND_COMPOSITOR=y +BR2_PACKAGE_QT5WEBENGINE=y +BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y +BR2_PACKAGE_QT5WEBVIEW=y +BR2_PACKAGE_QT5X11EXTRAS=y +BR2_PACKAGE_KF5=y +BR2_PACKAGE_KF5_KCOREADDONS=y +BR2_PACKAGE_KF5_NETWORKMANAGER_QT=y +BR2_PACKAGE_XORG7=y +BR2_PACKAGE_XLIB_LIBXDAMAGE=y +BR2_PACKAGE_XKEYBOARD_CONFIG=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_IBT=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7650=y +BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT=y +BR2_PACKAGE_LINUX_FIRMWARE_AR3011=y +BR2_PACKAGE_LINUX_FIRMWARE_AR3012_USB=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y +BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y +BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y +BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100=y +BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_RPI_BT_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_X=y +BR2_PACKAGE_RPI_WIFI_FIRMWARE=y +BR2_PACKAGE_UX500_FIRMWARE=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_WILINK_BT_FIRMWARE=y +BR2_PACKAGE_ZD1211_FIRMWARE=y +BR2_PACKAGE_AVRDUDE=y +BR2_PACKAGE_DBUS_CPP=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_GDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_GPTFDISK_CGDISK=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_KBD=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_RASPI_GPIO=y +BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBMOUNT=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_NODEJS=y +BR2_PACKAGE_NODEJS_NPM=y +BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="node-red node-red-dashboard node-red-contrib-string" +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON3_PY_ONLY=y +BR2_PACKAGE_PYTHON3_2TO3=y +BR2_PACKAGE_PYTHON3_BZIP2=y +BR2_PACKAGE_PYTHON3_CODECSCJK=y +BR2_PACKAGE_PYTHON3_CURSES=y +BR2_PACKAGE_PYTHON3_DECIMAL=y +BR2_PACKAGE_PYTHON3_OSSAUDIODEV=y +BR2_PACKAGE_PYTHON3_SQLITE=y +BR2_PACKAGE_PYTHON3_XZ=y +BR2_PACKAGE_PYTHON_ALSAAUDIO=y +BR2_PACKAGE_PYTHON_ARROW=y +BR2_PACKAGE_PYTHON_AUTOBAHN=y +BR2_PACKAGE_PYTHON_CHERRYPY=y +BR2_PACKAGE_PYTHON_COLORAMA=y +BR2_PACKAGE_PYTHON_COLORZERO=y +BR2_PACKAGE_PYTHON_CONFIGSHELL_FB=y +BR2_PACKAGE_PYTHON_DAEMONIZE=y +BR2_PACKAGE_PYTHON_FLASK_BABEL=y +BR2_PACKAGE_PYTHON_FLASK_CORS=y +BR2_PACKAGE_PYTHON_FLASK_JSONRPC=y +BR2_PACKAGE_PYTHON_FLASK_LOGIN=y +BR2_PACKAGE_PYTHON_FLASK_SQLALCHEMY=y +BR2_PACKAGE_PYTHON_HUMANIZE=y +BR2_PACKAGE_PYTHON_IPADDRESS=y +BR2_PACKAGE_PYTHON_JSON_SCHEMA_VALIDATOR=y +BR2_PACKAGE_PYTHON_JSONMODELS=y +BR2_PACKAGE_PYTHON_JSONSCHEMA=y +BR2_PACKAGE_PYTHON_NETADDR=y +BR2_PACKAGE_PYTHON_NETIFACES=y +BR2_PACKAGE_PYTHON_NETWORKMANAGER=y +BR2_PACKAGE_PYTHON_OAUTHLIB=y +BR2_PACKAGE_PYTHON_PACKAGING=y +BR2_PACKAGE_PYTHON_PAHO_MQTT=y +BR2_PACKAGE_PYTHON_PEXPECT=y +BR2_PACKAGE_PYTHON_PILLOW=y +BR2_PACKAGE_PYTHON_PIP=y +BR2_PACKAGE_PYTHON_PSUTIL=y +BR2_PACKAGE_PYTHON_PYCLI=y +BR2_PACKAGE_PYTHON_PYJWT=y +BR2_PACKAGE_PYTHON_PYQT5=y +BR2_PACKAGE_PYTHON_PYUDEV=y +BR2_PACKAGE_PYTHON_PYUSB=y +BR2_PACKAGE_PYTHON_RPI_GPIO=y +BR2_PACKAGE_PYTHON_SDNOTIFY=y +BR2_PACKAGE_PYTHON_SERIAL=y +BR2_PACKAGE_PYTHON_SMBUS_CFFI=y +BR2_PACKAGE_PYTHON_SMMAP2=y +BR2_PACKAGE_PYTHON_SOCKETIO=y +BR2_PACKAGE_PYTHON_SPIDEV=y +BR2_PACKAGE_PYTHON_SYSTEMD=y +BR2_PACKAGE_PYTHON_TEXTTABLE=y +BR2_PACKAGE_PYTHON_TORNADO=y +BR2_PACKAGE_PYTHON_TWISTED=y +BR2_PACKAGE_PYTHON_TWISTED_HTTP2=y +BR2_PACKAGE_PYTHON_TWISTED_TLS=y +BR2_PACKAGE_PYTHON_VALIDATORS=y +BR2_PACKAGE_PYTHON_WATCHDOG=y +BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT=y +BR2_PACKAGE_LIBAO=y +BR2_PACKAGE_OPUS_FIXED_POINT=y +BR2_PACKAGE_OPUSFILE=y +BR2_PACKAGE_PORTAUDIO=y +BR2_PACKAGE_PORTAUDIO_OSS=y +BR2_PACKAGE_LIBARCHIVE=y +BR2_PACKAGE_LIBARCHIVE_BSDTAR=y +BR2_PACKAGE_LIBARCHIVE_BSDCPIO=y +BR2_PACKAGE_LIBARCHIVE_BSDCAT=y +BR2_PACKAGE_LIBZIP=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_GNUTLS_OPENSSL=y +BR2_PACKAGE_GNUTLS_TOOLS=y +BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBOPENSSL_ENGINES=y +BR2_PACKAGE_LIBNFS=y +BR2_PACKAGE_CAIRO_SCRIPT=y +BR2_PACKAGE_CAIRO_SVG=y +BR2_PACKAGE_GDK_PIXBUF=y +BR2_PACKAGE_GIFLIB=y +BR2_PACKAGE_LIBEPOXY=y +BR2_PACKAGE_LIBVA=y +BR2_PACKAGE_TIFF=y +BR2_PACKAGE_WAFFLE=y +BR2_PACKAGE_LIBCEC=y +BR2_PACKAGE_LIBINPUT=y +BR2_PACKAGE_LIBV4L_UTILS=y +BR2_PACKAGE_LIBFASTJSON=y +BR2_PACKAGE_YAJL=y +BR2_PACKAGE_LIBMATROSKA=y +BR2_PACKAGE_LIBMMS=y +BR2_PACKAGE_LIBMPEG2_BINS=y +BR2_PACKAGE_LIBOPUSENC=y +BR2_PACKAGE_GLIB_NETWORKING=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBHTTPPARSER=y +BR2_PACKAGE_LIBIDN=y +BR2_PACKAGE_LIBMICROHTTPD=y +BR2_PACKAGE_LIBSHAIRPLAY=y +BR2_PACKAGE_BOOST_SYSTEM=y +BR2_PACKAGE_CMOCKA=y +BR2_PACKAGE_ELL=y +BR2_PACKAGE_LIBCAP_NG=y +BR2_PACKAGE_LINUX_PAM=y +BR2_PACKAGE_PROTOBUF=y +BR2_PACKAGE_LIBESTR=y +BR2_PACKAGE_LIBUNISTRING=y +BR2_PACKAGE_NCURSES_TARGET_PROGS=y +BR2_PACKAGE_PCRE_16=y +BR2_PACKAGE_PCRE_32=y +BR2_PACKAGE_PCRE2_32=y +BR2_PACKAGE_BLUEZ_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y +BR2_PACKAGE_CRDA=y +BR2_PACKAGE_DNSMASQ=y +BR2_PACKAGE_DNSMASQ_DNSSEC=y +BR2_PACKAGE_DNSMASQ_IDN=y +BR2_PACKAGE_DNSMASQ_CONNTRACK=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_TUI=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_NTP_NTPTIME=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_SHAIRPORT_SYNC=y +BR2_PACKAGE_SHAIRPORT_SYNC_CONVOLUTION=y +BR2_PACKAGE_SHAIRPORT_SYNC_DBUS=y +BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR=y +BR2_PACKAGE_WGET=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y +BR2_PACKAGE_WPA_SUPPLICANT_EAP=y +BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y +BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_FILE=y +BR2_PACKAGE_SCREEN=y +BR2_PACKAGE_SUDO=y +BR2_PACKAGE_TIME=y +BR2_PACKAGE_WHICH=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_SYSTEMD_ANALYZE=y +BR2_PACKAGE_SYSTEMD_BACKLIGHT=y +BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y +BR2_PACKAGE_SYSTEMD_HIBERNATE=y +BR2_PACKAGE_SYSTEMD_LOCALED=y +BR2_PACKAGE_SYSTEMD_LOGIND=y +# BR2_PACKAGE_SYSTEMD_NETWORKD is not set +BR2_PACKAGE_SYSTEMD_POLKIT=y +BR2_PACKAGE_SYSTEMD_RANDOMSEED=y +BR2_PACKAGE_SYSTEMD_REPART=y +# BR2_PACKAGE_SYSTEMD_RESOLVED is not set +# BR2_PACKAGE_SYSTEMD_VCONSOLE is not set +BR2_PACKAGE_SYSTEMD_BOOTCHART=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y +BR2_PACKAGE_UTIL_LINUX_KILL=y +BR2_PACKAGE_UTIL_LINUX_MORE=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y +BR2_PACKAGE_NANO=y +BR2_PACKAGE_VIM=y +# BR2_PACKAGE_VIM_RUNTIME is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs1" +BR2_TARGET_ROOTFS_EXT2_SIZE="4000M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O 64bit -U c0932a41-44cf-463b-8152-d43188553ed4" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_CMAKE=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MKPASSWD=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_PKGCONF=y +BR2_PACKAGE_HOST_PYTHON_CYTHON=y +BR2_PACKAGE_HOST_PYTHON_LXML=y +BR2_PACKAGE_HOST_PYTHON_SIX=y +BR2_PACKAGE_HOST_PYTHON_XLRD=y +BR2_PACKAGE_HOST_PYTHON3=y +BR2_PACKAGE_HOST_PYTHON3_SSL=y +BR2_PACKAGE_HOST_RUSTC=y +BR2_PACKAGE_ALSA_PLUGINS=y +BR2_PACKAGE_BARESIP=y +BR2_PACKAGE_BTSPEAKER=y +BR2_PACKAGE_FANN=y +BR2_PACKAGE_GROWDISK_SERVICE=y +BR2_PACKAGE_HOSTNAME_SERVICE=y +BR2_PACKAGE_KF5_BREEZE_ICONS=y +BR2_PACKAGE_KF5_KACTIVITIES=y +BR2_PACKAGE_KF5_KARCHIVE=y +BR2_PACKAGE_KF5_KAUTH=y +BR2_PACKAGE_KF5_KBOOKMARKS=y +BR2_PACKAGE_KF5_KCOMPLETION=y +BR2_PACKAGE_KF5_KDECLARATIVE=y +BR2_PACKAGE_KF5_KDED=y +BR2_PACKAGE_KF5_KIRIGAMI2=y +BR2_PACKAGE_KF5_KNOTIFICATIONS=y +BR2_PACKAGE_KF5_KPACKAGE=y +BR2_PACKAGE_KF5_KWAYLAND=y +BR2_PACKAGE_KF5_PHONON=y +BR2_PACKAGE_KF5_PLASMA_FRAMEWORK=y +BR2_PACKAGE_KF5_PLASMA_PA=y +BR2_PACKAGE_KF5_PLASMA_WAYLAND_PROTOCOLS=y +BR2_PACKAGE_KF5_QQC2_BREEZE_STYLE=y +BR2_PACKAGE_KF5_QQC2_DESKTOP_STYLE=y +BR2_PACKAGE_LIBCANBERRA=y +BR2_PACKAGE_LIBRE=y +BR2_PACKAGE_LIBREM=y +BR2_PACKAGE_LOTTIE_QML=y +BR2_PACKAGE_NCPAMIXER=y +BR2_PACKAGE_OVOS_DASHBOARD=y +BR2_PACKAGE_OVOS_SPLASH=y +BR2_PACKAGE_PICOTTS=y +BR2_PACKAGE_QT5CT=y +BR2_PACKAGE_RESPEAKER=y +BR2_PACKAGE_RPI_EEPROM=y +BR2_PACKAGE_SNAPCAST=y +BR2_PACKAGE_SNAPCAST_SERVER=y +BR2_PACKAGE_SPOTIFYD=y +BR2_PACKAGE_USERLAND_TOOLS=y +BR2_PACKAGE_VOCALFUSION=y +BR2_PACKAGE_WIFI_CONNECT=y +BR2_PACKAGE_WIRINGPI2=y +BR2_PACKAGE_PYTHON_ADAPT_PARSER=y +BR2_PACKAGE_PYTHON_ASTRAL=y +BR2_PACKAGE_PYTHON_AUDIO_METADATA=y +BR2_PACKAGE_PYTHON_CLICK_DEFAULT_GROUP=y +BR2_PACKAGE_PYTHON_COLOUR=y +BR2_PACKAGE_PYTHON_COMBO_LOCK=y +BR2_PACKAGE_PYTHON_COVERALLS=y +BR2_PACKAGE_PYTHON_DATACLASSES=y +BR2_PACKAGE_PYTHON_DBUS_NEXT=y +BR2_PACKAGE_PYTHON_DEPRECATED=y +BR2_PACKAGE_PYTHON_FEEDPARSER=y +BR2_PACKAGE_PYTHON_FLASK_FONTAWESOME=y +BR2_PACKAGE_PYTHON_FLASK_SIMPLELOGIN=y +BR2_PACKAGE_PYTHON_FLASK_SOCKETIO=y +BR2_PACKAGE_PYTHON_GOOGLE_API_PYTHON_CLIENT=y +BR2_PACKAGE_PYTHON_GOOGLE_TRANS_NEW=y +BR2_PACKAGE_PYTHON_GTTS=y +BR2_PACKAGE_PYTHON_HOLIDAYS=y +BR2_PACKAGE_PYTHON_HUMANHASH3=y +BR2_PACKAGE_PYTHON_KTHREAD=y +BR2_PACKAGE_PYTHON_LAZY=y +BR2_PACKAGE_PYTHON_LEVENSHTEIN=y +BR2_PACKAGE_PYTHON_LINGUA_FRANCA=y +BR2_PACKAGE_PYTHON_LINGUA_NOSTRA=y +BR2_PACKAGE_PYTHON_MEMORY_TEMPFILE=y +BR2_PACKAGE_PYTHON_MOCK_MSM=y +BR2_PACKAGE_PYTHON_MSK=y +BR2_PACKAGE_PYTHON_MULTI_KEY_DICT=y +BR2_PACKAGE_PYTHON_MYCROFT_MESSAGEBUS_CLIENT=y +BR2_PACKAGE_PYTHON_OAUTH2CLIENT=y +BR2_PACKAGE_PYTHON_OLEFILE=y +BR2_PACKAGE_PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE=y +BR2_PACKAGE_PYTHON_OVOS_LOCAL_BACKEND=y +BR2_PACKAGE_PYTHON_OVOS_OCP_AUDIO_PLUGIN=y +BR2_PACKAGE_PYTHON_OVOS_SKILL_INSTALLER=y +BR2_PACKAGE_PYTHON_OVOS_SKILL_MANAGER=y +BR2_PACKAGE_PYTHON_OVOS_UTILS=y +BR2_PACKAGE_PYTHON_OVOS_VLC_PLUGIN=y +BR2_PACKAGE_PYTHON_OVOS_WORKSHOP=y +BR2_PACKAGE_PYTHON_PADACIOSO=y +BR2_PACKAGE_PYTHON_PADATIOUS=y +BR2_PACKAGE_PYTHON_PAFY=y +BR2_PACKAGE_PYTHON_PAKO=y +BR2_PACKAGE_PYTHON_PEP8=y +BR2_PACKAGE_PYTHON_PETACT=y +BR2_PACKAGE_PYTHON_PHONEME_GUESSER=y +BR2_PACKAGE_PYTHON_POCKETSPHINX=y +BR2_PACKAGE_PYTHON_PRECISE_LITE_RUNNER=y +BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y +BR2_PACKAGE_PYTHON_PULSECTL=y +BR2_PACKAGE_PYTHON_PYCHROMECAST=y +BR2_PACKAGE_PYTHON_PYCPUINFO=y +BR2_PACKAGE_PYTHON_PYJOKES=y +BR2_PACKAGE_PYTHON_PYMPLAYER=y +BR2_PACKAGE_PYTHON_PYOWM=y +BR2_PACKAGE_PYTHON_PYTHRAN=y +BR2_PACKAGE_PYTHON_PYTZDATA=y +BR2_PACKAGE_PYTHON_QUANTULUM3=y +BR2_PACKAGE_PYTHON_RAKEKEYWORDS=y +BR2_PACKAGE_PYTHON_RAPIDFUZZ=y +BR2_PACKAGE_PYTHON_REQUESTS_FUTURES=y +BR2_PACKAGE_PYTHON_RUAMEL_YAML=y +BR2_PACKAGE_PYTHON_SGMLLIB3K=y +BR2_PACKAGE_PYTHON_SMBUS2=y +BR2_PACKAGE_PYTHON_SMMAP=y +BR2_PACKAGE_PYTHON_SONOPY=y +BR2_PACKAGE_PYTHON_SOURCE=y +BR2_PACKAGE_PYTHON_TAILHEAD=y +BR2_PACKAGE_PYTHON_TFLIT=y +BR2_PACKAGE_PYTHON_TUTUBO=y +BR2_PACKAGE_PYTHON_TZLOCAL=y +BR2_PACKAGE_PYTHON_URL_NORMALIZE=y +BR2_PACKAGE_PYTHON_VLC=y +BR2_PACKAGE_PYTHON_WHEEL=y +BR2_PACKAGE_PYTHON_WIKIPEDIA_FOR_HUMANS=y +BR2_PACKAGE_PYTHON_XMLRUNNER=y +BR2_PACKAGE_PYTHON_YAGMAIL=y +BR2_PACKAGE_PYTHON_YOUTUBE_DL=y +BR2_PACKAGE_PYTHON_YOUTUBE_SEARCHER=y +BR2_PACKAGE_PYTHON_YT_DLP=y +BR2_PACKAGE_MYCROFT_EMBEDDED_SHELL=y +BR2_PACKAGE_MYCROFT_GUI=y +BR2_PACKAGE_PYTHON_HOLMESV=y +BR2_PACKAGE_MYCROFT_SERVICE=y +BR2_PACKAGE_PYTHON_OVOS_STT_PLUGIN_CHROMIUM=y +BR2_PACKAGE_PYTHON_OVOS_STT_PLUGIN_POCKETSPHINX=y +BR2_PACKAGE_PYTHON_OVOS_STT_PLUGIN_VOSK=y +BR2_PACKAGE_PYTHON_OVOS_TTS_PLUGIN_MIMIC=y +BR2_PACKAGE_PYTHON_OVOS_TTS_PLUGIN_MIMIC2=y +BR2_PACKAGE_PYTHON_OVOS_TTS_PLUGIN_PICO=y +BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_POCKETSPHINX=y +BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_PRECISE=y +BR2_PACKAGE_PYTHON_OVOS_WW_PLUGIN_PRECISE_LITE=y +BR2_PACKAGE_MYCROFT_SKILLS_REPO=y +BR2_PACKAGE_MYCROFT_SKILL_ALARM=y +BR2_PACKAGE_MYCROFT_SKILL_AUDIO_RECORD=y +BR2_PACKAGE_MYCROFT_SKILL_BALENA_WIFI_SETUP=y +BR2_PACKAGE_MYCROFT_SKILL_BETTER_STOP=y +BR2_PACKAGE_MYCROFT_SKILL_CAMERA=y +BR2_PACKAGE_MYCROFT_SKILL_CONFIGURATION=y +BR2_PACKAGE_MYCROFT_SKILL_DATE_TIME=y +BR2_PACKAGE_MYCROFT_SKILL_DDG=y +BR2_PACKAGE_MYCROFT_SKILL_INSTALLER=y +BR2_PACKAGE_MYCROFT_SKILL_IP=y +BR2_PACKAGE_MYCROFT_SKILL_JOKE=y +BR2_PACKAGE_MYCROFT_SKILL_NAPTIME=y +BR2_PACKAGE_MYCROFT_SKILL_NEWS=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_COMMON_QUERY=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_ENCLOSURE=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_HOMESCREEN=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_INFO=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_MYCROFTGUI=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_SETUP=y +BR2_PACKAGE_MYCROFT_SKILL_OVOS_VOLUME=y +BR2_PACKAGE_MYCROFT_SKILL_PARROT=y +BR2_PACKAGE_MYCROFT_SKILL_PERSONAL=y +BR2_PACKAGE_MYCROFT_SKILL_REMINDER=y +BR2_PACKAGE_MYCROFT_SKILL_SIMPLE_YOUTUBE=y +BR2_PACKAGE_MYCROFT_SKILL_SINGING=y +BR2_PACKAGE_MYCROFT_SKILL_SPELLING=y +BR2_PACKAGE_MYCROFT_SKILL_TIMER=y +BR2_PACKAGE_MYCROFT_SKILL_UNKNOWN=y +BR2_PACKAGE_MYCROFT_SKILL_WEATHER=y +BR2_PACKAGE_MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS=y +BR2_PACKAGE_MYCROFT_SKILL_WOLFIE=y diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index ce995c59..2f5dc811 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -33,7 +33,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/board/raspberrypi4-64/post-image.s BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/refs/tags/1.20210831.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/oldstable_20211201.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -299,10 +299,12 @@ BR2_PACKAGE_QT5WAYLAND_COMPOSITOR=y BR2_PACKAGE_QT5WEBENGINE=y BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y BR2_PACKAGE_QT5WEBVIEW=y +BR2_PACKAGE_QT5X11EXTRAS=y BR2_PACKAGE_KF5=y BR2_PACKAGE_KF5_KCOREADDONS=y BR2_PACKAGE_KF5_NETWORKMANAGER_QT=y BR2_PACKAGE_XORG7=y +BR2_PACKAGE_XLIB_LIBXDAMAGE=y BR2_PACKAGE_XKEYBOARD_CONFIG=y BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_IBT=y @@ -366,6 +368,7 @@ BR2_PACKAGE_UX500_FIRMWARE=y BR2_PACKAGE_WILC1000_FIRMWARE=y BR2_PACKAGE_WILINK_BT_FIRMWARE=y BR2_PACKAGE_ZD1211_FIRMWARE=y +BR2_PACKAGE_AVRDUDE=y BR2_PACKAGE_DBUS_CPP=y BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_GDISK=y @@ -421,7 +424,6 @@ BR2_PACKAGE_PYTHON_PILLOW=y BR2_PACKAGE_PYTHON_PIP=y BR2_PACKAGE_PYTHON_PSUTIL=y BR2_PACKAGE_PYTHON_PYCLI=y -BR2_PACKAGE_PYTHON_PYCRYPTODOMEX=y BR2_PACKAGE_PYTHON_PYJWT=y BR2_PACKAGE_PYTHON_PYQT5=y BR2_PACKAGE_PYTHON_PYUDEV=y @@ -648,9 +650,9 @@ BR2_PACKAGE_PYTHON_MULTI_KEY_DICT=y BR2_PACKAGE_PYTHON_MYCROFT_MESSAGEBUS_CLIENT=y BR2_PACKAGE_PYTHON_OAUTH2CLIENT=y BR2_PACKAGE_PYTHON_OLEFILE=y +BR2_PACKAGE_PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE=y BR2_PACKAGE_PYTHON_OVOS_LOCAL_BACKEND=y BR2_PACKAGE_PYTHON_OVOS_OCP_AUDIO_PLUGIN=y -BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER=y BR2_PACKAGE_PYTHON_OVOS_SKILL_INSTALLER=y BR2_PACKAGE_PYTHON_OVOS_SKILL_MANAGER=y BR2_PACKAGE_PYTHON_OVOS_UTILS=y @@ -696,6 +698,7 @@ BR2_PACKAGE_PYTHON_XMLRUNNER=y BR2_PACKAGE_PYTHON_YAGMAIL=y BR2_PACKAGE_PYTHON_YOUTUBE_DL=y BR2_PACKAGE_PYTHON_YOUTUBE_SEARCHER=y +BR2_PACKAGE_PYTHON_YT_DLP=y BR2_PACKAGE_MYCROFT_EMBEDDED_SHELL=y BR2_PACKAGE_MYCROFT_GUI=y BR2_PACKAGE_PYTHON_HOLMESV=y diff --git a/buildroot-external/package/fann/fann.mk b/buildroot-external/package/fann/fann.mk index fa423ec6..2030500e 100644 --- a/buildroot-external/package/fann/fann.mk +++ b/buildroot-external/package/fann/fann.mk @@ -5,7 +5,8 @@ ################################################################################ FANN_VERSION = a3cd24e528d6a865915a4fed6e8fac164ff8bfdc -FANN_SITE = git://github.com/libfann/fann.git +FANN_SITE = https://github.com/libfann/fann.git +FANN_SITE_METHOD = git FANN_LICENSE = GNU Lesser General Public License v2.1 FANN_AUTORECONF = YES FANN_INSTALL_STAGING = YES diff --git a/buildroot-external/package/growdisk-service/growdisk b/buildroot-external/package/growdisk-service/growdisk index 4250a1c5..e2fc1839 100755 --- a/buildroot-external/package/growdisk-service/growdisk +++ b/buildroot-external/package/growdisk-service/growdisk @@ -1,24 +1,42 @@ #!/bin/bash # -# Get active block device +# Credits to hassos-expand original script +# https://github.com/home-assistant/operating-system/ + DEVICE_ROOTFS="$(findfs UUID=c0932a41-44cf-463b-8152-d43188553ed4)" +DEVICE_ROOTFS_NAME="$(basename "${DEVICE_ROOTFS}")" DEVICE="/dev/$(lsblk -no pkname "${DEVICE_ROOTFS}")" +PART_NUM="$(cat "/sys/class/block/${DEVICE_ROOTFS_NAME}/partition")" +PART_TABLE="$(sfdisk -lqJ "${DEVICE}")" -# Fix GPT header backup file -sgdisk -e "${DEVICE}" && -partprobe "${DEVICE}" && +if sfdisk --verify "${DEVICE}" 2>&1 | grep "The backup GPT table is not on the end of the device."; then + echo "[INFO] Moving GPT backup header to the end" + sfdisk --relocate gpt-bak-std "${DEVICE}" -# Resize needed? -UNUSED=$(sfdisk -Fq "${DEVICE}" | cut -d " " -f 3 | tail -1) -if [ -z "${UNUSED}" ] || [ "${UNUSED}" -le "16384" ]; then + # Reload partition label to get correct .partitiontable.lastlba + PART_TABLE="$(sfdisk -lqJ "${DEVICE}")" +fi +LAST_USABLE_LBA="$(echo "${PART_TABLE}" | jq -r '.partitiontable.lastlba')" + +echo "[INFO] Last usable logical block ${LAST_USABLE_LBA}" + +JQ_FILTER=".partitiontable.partitions[] | select ( .node == \"${DEVICE_ROOTFS}\" ) | .start + .size" +ROOTFS_PARTITION_END="$(echo "${PART_TABLE}" | jq "${JQ_FILTER}")" +echo "[INFO] Rootfs partition end block ${ROOTFS_PARTITION_END}" + +UNUSED_BLOCKS=$(( LAST_USABLE_LBA - DATA_PARTITION_END )) +if [ "${UNUSED_BLOCKS}" -le "16384" ]; then echo "[INFO] No resize of rootfs partition needed" exit 0 -else - echo "[INFO] Resizing the rootfs partition" - parted "${DEVICE}" unit % resizepart 2 100% && - partprobe "${DEVICE}" && - sync && - resize2fs "${DEVICE_ROOTFS}" && - echo "[OK]" fi +echo "[INFO] Update rootfs partition ${PART_NUM}" +echo ", +" | sfdisk --no-reread --no-tell-kernel -N "${PART_NUM}" "${DEVICE}" +sfdisk -V "${DEVICE}" +partx -u "${DEVICE}" +udevadm settle +partprobe "${DEVICE}" + +echo "[INFO] Resizing the rootfs partition" +resize2fs "${DEVICE_ROOTFS}" +echo "[OK]" diff --git a/buildroot-external/package/kf5-karchive/kf5-karchive.mk b/buildroot-external/package/kf5-karchive/kf5-karchive.mk index 58b422f4..66393210 100644 --- a/buildroot-external/package/kf5-karchive/kf5-karchive.mk +++ b/buildroot-external/package/kf5-karchive/kf5-karchive.mk @@ -16,8 +16,8 @@ KF5_KARCHIVE_SUPPORTS_IN_SOURCE_BUILD = NO $(eval $(cmake-package)) -HOST_KF5_KARCHIVE_DEPENDENCIES = host-kf5-extra-cmake-modules -HOST_KF5_KARCHIVE_CXXFLAGS = $(HOST_CXXFLAGS) -HOST_KF5_KARCHIVE_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KARCHIVE_CXXFLAGS)" +#HOST_KF5_KARCHIVE_DEPENDENCIES = host-kf5-extra-cmake-modules +#HOST_KF5_KARCHIVE_CXXFLAGS = $(HOST_CXXFLAGS) +#HOST_KF5_KARCHIVE_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KARCHIVE_CXXFLAGS)" -$(eval $(host-cmake-package)) +#$(eval $(host-cmake-package)) diff --git a/buildroot-external/package/kf5-kconfig/kf5-kconfig.mk b/buildroot-external/package/kf5-kconfig/kf5-kconfig.mk index 57e7ff25..9e68a70e 100644 --- a/buildroot-external/package/kf5-kconfig/kf5-kconfig.mk +++ b/buildroot-external/package/kf5-kconfig/kf5-kconfig.mk @@ -10,7 +10,7 @@ KF5_KCONFIG_SOURCE = kconfig-$(KF5_KCONFIG_VERSION).tar.xz KF5_KCONFIG_LICENSE = BSD-3-Clause KF5_KCONFIG_LICENSE_FILES = COPYING-CMAKE-SCRIPTS -KF5_KCONFIG_DEPENDENCIES = host-pkgconf host-kf5-kconfig +KF5_KCONFIG_DEPENDENCIES = host-pkgconf #host-kf5-kconfig KF5_KCONFIG_INSTALL_STAGING = YES KF5_KCONFIG_SUPPORTS_IN_SOURCE_BUILD = NO @@ -24,15 +24,15 @@ KF5_KCONFIG_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(KF5_KCONFIG_CXXFLAGS)" KF5_KCONFIG_POST_INSTALL_STAGING_HOOKS += KF5_KCONFIG_COPY_BINS -define KF5_KCONFIG_COPY_BINS - cp ${HOST_DIR}/lib/x86_64-linux-gnu/libexec/kf5/kconfig_compiler_kf5 \ - $(STAGING_DIR)/usr/lib/libexec/kf5/ -endef +#define KF5_KCONFIG_COPY_BINS +# cp ${HOST_DIR}/lib/x86_64-linux-gnu/libexec/kf5/kconfig_compiler_kf5 \ +# $(STAGING_DIR)/usr/lib/libexec/kf5/ +#endef $(eval $(cmake-package)) -HOST_KF5_KCONFIG_DEPENDENCIES = host-kf5-extra-cmake-modules -HOST_KF5_KCONFIG_CXXFLAGS = $(HOST_CXXFLAGS) -HOST_KF5_KCONFIG_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KCONFIG_CXXFLAGS)" +#HOST_KF5_KCONFIG_DEPENDENCIES = host-kf5-extra-cmake-modules +#HOST_KF5_KCONFIG_CXXFLAGS = $(HOST_CXXFLAGS) +#HOST_KF5_KCONFIG_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KCONFIG_CXXFLAGS)" -$(eval $(host-cmake-package)) +#$(eval $(host-cmake-package)) diff --git a/buildroot-external/package/kf5-kcrash/0001-No-X11-support.patch b/buildroot-external/package/kf5-kcrash/0001-No-X11-support.patch deleted file mode 100644 index c65bba2f..00000000 --- a/buildroot-external/package/kf5-kcrash/0001-No-X11-support.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 26e5c3f29d911f9bd9bb9b0dceabceb65f2bfedc Mon Sep 17 00:00:00 2001 -From: Peter Steenbergen -Date: Fri, 17 Sep 2021 22:32:57 +0200 -Subject: [PATCH 1/1] No X11 support - ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2c4560f..e71fbe1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -19,8 +19,8 @@ include(KDECMakeSettings) - include(KDEGitCommitHooks) - - if (UNIX AND NOT APPLE AND NOT ANDROID) -- find_package(X11) -- find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS X11Extras) -+ #find_package(X11) -+ #find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS X11Extras) - endif() - - set(HAVE_X11 ${X11_FOUND}) --- -2.33.0 - diff --git a/buildroot-external/package/kf5-kdeclarative/kf5-kdeclarative.mk b/buildroot-external/package/kf5-kdeclarative/kf5-kdeclarative.mk index 3d90b1aa..b8d03657 100644 --- a/buildroot-external/package/kf5-kdeclarative/kf5-kdeclarative.mk +++ b/buildroot-external/package/kf5-kdeclarative/kf5-kdeclarative.mk @@ -10,10 +10,10 @@ KF5_KDECLARATIVE_SOURCE = kdeclarative-$(KF5_KDECLARATIVE_VERSION).tar.xz KF5_KDECLARATIVE_LICENSE = BSD-3-Clause KF5_KDECLARATIVE_LICENSE_FILES = COPYING-CMAKE-SCRIPTS -KF5_KDECLARATIVE_DEPENDENCIES = host-pkgconf kf5-kio kf5-kpackage host-kf5-kpackage +KF5_KDECLARATIVE_DEPENDENCIES = host-pkgconf kf5-kio kf5-kpackage #host-kf5-kpackage KF5_KDECLARATIVE_INSTALL_STAGING = YES KF5_KDECLARATIVE_SUPPORTS_IN_SOURCE_BUILD = NO -KF5_KDECLARATIVE_CONF_OPTS += -DKF5_HOST_TOOLING=$(HOST_DIR)/lib/x86_64-linux-gnu/cmake +#KF5_KDECLARATIVE_CONF_OPTS += -DKF5_HOST_TOOLING=$(HOST_DIR)/lib/x86_64-linux-gnu/cmake $(eval $(cmake-package)) diff --git a/buildroot-external/package/kf5-kdelibs4support/kf5-kdelibs4support.mk b/buildroot-external/package/kf5-kdelibs4support/kf5-kdelibs4support.mk index 84420ed4..a716a271 100644 --- a/buildroot-external/package/kf5-kdelibs4support/kf5-kdelibs4support.mk +++ b/buildroot-external/package/kf5-kdelibs4support/kf5-kdelibs4support.mk @@ -22,7 +22,6 @@ KF5_KDELIBS4SUPPORT_DEPENDENCIES = host-pkgconf qt5base qt5svg \ kf5-kglobalaccel \ kf5-kiconthemes \ kf5-kio \ - host-kf5-kcoreaddons \ host-kf5-kconfig \ host-kf5-kauth \ kf5-knotifications \ diff --git a/buildroot-external/package/kf5-kio/kf5-kio.mk b/buildroot-external/package/kf5-kio/kf5-kio.mk index c206e351..fc0a6f36 100644 --- a/buildroot-external/package/kf5-kio/kf5-kio.mk +++ b/buildroot-external/package/kf5-kio/kf5-kio.mk @@ -12,13 +12,13 @@ KF5_KIO_LICENSE_FILES = COPYING-CMAKE-SCRIPTS KF5_KIO_DEPENDENCIES = host-pkgconf kf5-kservice kf5-solid \ kf5-kjobwidgets kf5-ktextwidgets \ - kf5-knotifications host-kf5-kconfig \ - host-kf5-kcoreaddons + kf5-knotifications kf5-kded #host-kf5-desktoptojson + #host-kf5-kcoreaddons KF5_KIO_INSTALL_STAGING = YES KF5_KIO_SUPPORTS_IN_SOURCE_BUILD = NO KF5_KIO_CONF_OPTS = -DBUILD_DESIGNERPLUGIN=OFF -KF5_KIO_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" +#KF5_KIO_CONF_OPTS += -DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson $(eval $(cmake-package)) diff --git a/buildroot-external/package/kf5-knotifyconfig/kf5-knotifyconfig.mk b/buildroot-external/package/kf5-knotifyconfig/kf5-knotifyconfig.mk index 083fdc18..bd9408cf 100644 --- a/buildroot-external/package/kf5-knotifyconfig/kf5-knotifyconfig.mk +++ b/buildroot-external/package/kf5-knotifyconfig/kf5-knotifyconfig.mk @@ -12,7 +12,7 @@ KF5_KNOTIFYCONFIG_LICENSE_FILES = COPYING-CMAKE-SCRIPTS KF5_KNOTIFYCONFIG_DEPENDENCIES = host-pkgconf qt5base kf5-phonon kf5-kcompletion \ kf5-kconfig host-kf5-kconfig kf5-kio \ - host-kf5-kcoreaddons host-kf5-kauth + host-kf5-kauth KF5_KNOTIFYCONFIG_INSTALL_STAGING = YES KF5_KNOTIFYCONFIG_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/buildroot-external/package/kf5-kpackage/kf5-kpackage.mk b/buildroot-external/package/kf5-kpackage/kf5-kpackage.mk index 43cbd5cb..788b9269 100644 --- a/buildroot-external/package/kf5-kpackage/kf5-kpackage.mk +++ b/buildroot-external/package/kf5-kpackage/kf5-kpackage.mk @@ -16,10 +16,10 @@ KF5_KPACKAGE_SUPPORTS_IN_SOURCE_BUILD = NO $(eval $(cmake-package)) -HOST_KF5_KPACKAGE_DEPENDENCIES = host-kf5-extra-cmake-modules host-kf5-karchive \ - host-kf5-ki18n host-kf5-kcoreaddons +#HOST_KF5_KPACKAGE_DEPENDENCIES = host-kf5-extra-cmake-modules host-kf5-karchive \ +# host-kf5-ki18n host-kf5-kcoreaddons -HOST_KF5_KPACKAGE_CXXFLAGS = $(HOST_CXXFLAGS) -HOST_KF5_KPACKAGE_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KPACKAGE_CXXFLAGS)" +#HOST_KF5_KPACKAGE_CXXFLAGS = $(HOST_CXXFLAGS) +#HOST_KF5_KPACKAGE_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KPACKAGE_CXXFLAGS)" -$(eval $(host-cmake-package)) +#$(eval $(host-cmake-package)) diff --git a/buildroot-external/package/kf5-plasma-framework/kf5-plasma-framework.mk b/buildroot-external/package/kf5-plasma-framework/kf5-plasma-framework.mk index 26f10f23..0ce15f58 100644 --- a/buildroot-external/package/kf5-plasma-framework/kf5-plasma-framework.mk +++ b/buildroot-external/package/kf5-plasma-framework/kf5-plasma-framework.mk @@ -13,10 +13,10 @@ KF5_PLASMA_FRAMEWORK_LICENSE_FILES = COPYING-CMAKE-SCRIPTS KF5_PLASMA_FRAMEWORK_DEPENDENCIES = host-pkgconf kf5-kirigami2 KF5_PLASMA_FRAMEWORK_INSTALL_STAGING = YES -KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" -KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DDISABLE_OPENGL=ON -KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DHAVE_EGL=1 -KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DEGL_INCLUDE_DIR="$(STAGING_DIR)/usr/include" -KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DEGL_LIBRARY="$(STAGING_DIR)/usr/lib/libEGL.so" +#KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" +#KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DDISABLE_OPENGL=ON +#KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DHAVE_EGL=1 +#KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DEGL_INCLUDE_DIR="$(STAGING_DIR)/usr/include" +#KF5_PLASMA_FRAMEWORK_CONF_OPTS += -DEGL_LIBRARY="$(STAGING_DIR)/usr/lib/libEGL.so" $(eval $(cmake-package)) diff --git a/buildroot-external/package/kf5-qqc2-breeze-style/kf5-qqc2-breeze-style.mk b/buildroot-external/package/kf5-qqc2-breeze-style/kf5-qqc2-breeze-style.mk index ac708896..610ac55b 100644 --- a/buildroot-external/package/kf5-qqc2-breeze-style/kf5-qqc2-breeze-style.mk +++ b/buildroot-external/package/kf5-qqc2-breeze-style/kf5-qqc2-breeze-style.mk @@ -14,6 +14,6 @@ KF5_QQC2_BREEZE_STYLE_DEPENDENCIES = host-pkgconf KF5_QQC2_BREEZE_STYLE_INSTALL_STAGING = YES KF5_QQC2_BREEZE_STYLE_SUPPORTS_IN_SOURCE_BUILD = NO -KF5_QQC2_BREEZE_STYLE_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" +#KF5_QQC2_BREEZE_STYLE_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" $(eval $(cmake-package)) diff --git a/buildroot-external/package/kf5-qqc2-desktop-style/kf5-qqc2-desktop-style.mk b/buildroot-external/package/kf5-qqc2-desktop-style/kf5-qqc2-desktop-style.mk index 4ec7c9d4..bcbf5e53 100644 --- a/buildroot-external/package/kf5-qqc2-desktop-style/kf5-qqc2-desktop-style.mk +++ b/buildroot-external/package/kf5-qqc2-desktop-style/kf5-qqc2-desktop-style.mk @@ -14,6 +14,6 @@ KF5_QQC2_DESKTOP_STYLE_DEPENDENCIES = host-pkgconf KF5_QQC2_DESKTOP_STYLE_INSTALL_STAGING = YES KF5_QQC2_DESKTOP_STYLE_SUPPORTS_IN_SOURCE_BUILD = NO -KF5_QQC2_DESKTOP_STYLE_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" +#KF5_QQC2_DESKTOP_STYLE_CONF_OPTS += -DKF5_HOST_TOOLING="$(HOST_DIR)/lib/x86_64-linux-gnu/cmake" $(eval $(cmake-package)) diff --git a/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.hash b/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.hash index 02615c28..cb5dc625 100644 --- a/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.hash +++ b/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 df4c8785e9053d63306f76a5c38574967de6a57dba407ba94521dd07f9998618 mycroft-embedded-shell-accde096d0e213b3701efe9e0ad7a904b6791633.tar.gz +sha256 ac1afe5abc1cea16579d99fc12ae01976c42e0f8939e2ce85994abd4f8b7f47b mycroft-embedded-shell-0e3fa2e79f3beb0c37f1d2cf1db2f8fb22189415.tar.gz diff --git a/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.mk b/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.mk index 121d740c..9537b6fe 100644 --- a/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.mk +++ b/buildroot-external/package/mycroft-embedded-shell/mycroft-embedded-shell.mk @@ -4,7 +4,7 @@ # ################################################################################ -MYCROFT_EMBEDDED_SHELL_VERSION = accde096d0e213b3701efe9e0ad7a904b6791633 +MYCROFT_EMBEDDED_SHELL_VERSION = 0e3fa2e79f3beb0c37f1d2cf1db2f8fb22189415 MYCROFT_EMBEDDED_SHELL_SITE = $(call github,OpenVoiceOS,mycroft-embedded-shell,$(MYCROFT_EMBEDDED_SHELL_VERSION)) MYCROFT_EMBEDDED_SHELL_LICENSE = Apache License 2.0 diff --git a/buildroot-external/package/mycroft-skill-alarm/mycroft-skill-alarm.mk b/buildroot-external/package/mycroft-skill-alarm/mycroft-skill-alarm.mk index 1d7dd6ad..7b167eba 100644 --- a/buildroot-external/package/mycroft-skill-alarm/mycroft-skill-alarm.mk +++ b/buildroot-external/package/mycroft-skill-alarm/mycroft-skill-alarm.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_ALARM_VERSION = 25ecc0261abee644257a81f20f020bb92f462970 -MYCROFT_SKILL_ALARM_SITE = git://github.com/MycroftAI/skill-alarm +MYCROFT_SKILL_ALARM_SITE = https://github.com/MycroftAI/skill-alarm MYCROFT_SKILL_ALARM_SITE_METHOD = git MYCROFT_SKILL_ALARM_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_ALARM_DIRNAME = skill-alarm.mycroftai diff --git a/buildroot-external/package/mycroft-skill-audio-record/mycroft-skill-audio-record.mk b/buildroot-external/package/mycroft-skill-audio-record/mycroft-skill-audio-record.mk index d0ada2ca..191a90a3 100644 --- a/buildroot-external/package/mycroft-skill-audio-record/mycroft-skill-audio-record.mk +++ b/buildroot-external/package/mycroft-skill-audio-record/mycroft-skill-audio-record.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_AUDIO_RECORD_VERSION = 501a960d7957c83f340c58de4d25301ddb85ea51 -MYCROFT_SKILL_AUDIO_RECORD_SITE = git://github.com/MycroftAI/skill-audio-record +MYCROFT_SKILL_AUDIO_RECORD_SITE = https://github.com/MycroftAI/skill-audio-record MYCROFT_SKILL_AUDIO_RECORD_SITE_METHOD = git MYCROFT_SKILL_AUDIO_RECORD_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_AUDIO_RECORD_DIRNAME = skill-audio-record.mycroftai diff --git a/buildroot-external/package/mycroft-skill-balena-wifi-setup/mycroft-skill-balena-wifi-setup.mk b/buildroot-external/package/mycroft-skill-balena-wifi-setup/mycroft-skill-balena-wifi-setup.mk index 610aaf83..246ee6db 100644 --- a/buildroot-external/package/mycroft-skill-balena-wifi-setup/mycroft-skill-balena-wifi-setup.mk +++ b/buildroot-external/package/mycroft-skill-balena-wifi-setup/mycroft-skill-balena-wifi-setup.mk @@ -4,8 +4,8 @@ # ################################################################################ -MYCROFT_SKILL_BALENA_WIFI_SETUP_VERSION = 97c9bf98c6b03948896e49749fbd52832c1c0c79 -MYCROFT_SKILL_BALENA_WIFI_SETUP_SITE = git://github.com/OpenVoiceOS/skill-balena-wifi-setup +MYCROFT_SKILL_BALENA_WIFI_SETUP_VERSION = 22fca33100c6f197f6f11c38795de723503eb44b +MYCROFT_SKILL_BALENA_WIFI_SETUP_SITE = https://github.com/OpenVoiceOS/skill-balena-wifi-setup MYCROFT_SKILL_BALENA_WIFI_SETUP_SITE_METHOD = git MYCROFT_SKILL_BALENA_WIFI_SETUP_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_BALENA_WIFI_SETUP_DIRNAME = skill-balena-wifi-setup.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-better-stop/mycroft-skill-better-stop.mk b/buildroot-external/package/mycroft-skill-better-stop/mycroft-skill-better-stop.mk index 1f2d6723..7dbcb752 100644 --- a/buildroot-external/package/mycroft-skill-better-stop/mycroft-skill-better-stop.mk +++ b/buildroot-external/package/mycroft-skill-better-stop/mycroft-skill-better-stop.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_BETTER_STOP_VERSION = b3e9983f341a94740db7d7cbbd9533230f032969 -MYCROFT_SKILL_BETTER_STOP_SITE = git://github.com/JarbasSkills/skill-better-stop +MYCROFT_SKILL_BETTER_STOP_SITE = https://github.com/JarbasSkills/skill-better-stop MYCROFT_SKILL_BETTER_STOP_SITE_METHOD = git MYCROFT_SKILL_BETTER_STOP_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_BETTER_STOP_DIRNAME = skill-better-stop.jarbasskills diff --git a/buildroot-external/package/mycroft-skill-camera/mycroft-skill-camera.mk b/buildroot-external/package/mycroft-skill-camera/mycroft-skill-camera.mk index ea830af4..81274d7a 100644 --- a/buildroot-external/package/mycroft-skill-camera/mycroft-skill-camera.mk +++ b/buildroot-external/package/mycroft-skill-camera/mycroft-skill-camera.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_CAMERA_VERSION = 1db78ad4c06013c3eee5f1e902910a36b1bd964f -MYCROFT_SKILL_CAMERA_SITE = git://github.com/OpenVoiceOS/skill-camera +MYCROFT_SKILL_CAMERA_SITE = https://github.com/OpenVoiceOS/skill-camera MYCROFT_SKILL_CAMERA_SITE_METHOD = git MYCROFT_SKILL_CAMERA_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_CAMERA_DIRNAME = skill-camera.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-configuration/mycroft-skill-configuration.mk b/buildroot-external/package/mycroft-skill-configuration/mycroft-skill-configuration.mk index 09929d03..5adaafd0 100644 --- a/buildroot-external/package/mycroft-skill-configuration/mycroft-skill-configuration.mk +++ b/buildroot-external/package/mycroft-skill-configuration/mycroft-skill-configuration.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_CONFIGURATION_VERSION = 9231778e959c65a4f8156923fb26d11483d72ea0 -MYCROFT_SKILL_CONFIGURATION_SITE = git://github.com/MycroftAI/skill-configuration +MYCROFT_SKILL_CONFIGURATION_SITE = https://github.com/MycroftAI/skill-configuration MYCROFT_SKILL_CONFIGURATION_SITE_METHOD = git MYCROFT_SKILL_CONFIGURATION_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_CONFIGURATION_DIRNAME = skill-configuration.mycroftai diff --git a/buildroot-external/package/mycroft-skill-date-time/mycroft-skill-date-time.mk b/buildroot-external/package/mycroft-skill-date-time/mycroft-skill-date-time.mk index 5e0a658a..eb747cae 100644 --- a/buildroot-external/package/mycroft-skill-date-time/mycroft-skill-date-time.mk +++ b/buildroot-external/package/mycroft-skill-date-time/mycroft-skill-date-time.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_DATE_TIME_VERSION = 62dcf10169a72af83cde9cf8daa0887c0a38c459 -MYCROFT_SKILL_DATE_TIME_SITE = git://github.com/MycroftAI/skill-date-time +MYCROFT_SKILL_DATE_TIME_SITE = https://github.com/MycroftAI/skill-date-time MYCROFT_SKILL_DATE_TIME_SITE_METHOD = git MYCROFT_SKILL_DATE_TIME_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_DATE_TIME_DIRNAME = skill-date-time.mycroftai diff --git a/buildroot-external/package/mycroft-skill-ddg/mycroft-skill-ddg.mk b/buildroot-external/package/mycroft-skill-ddg/mycroft-skill-ddg.mk index 21dbaf71..1f45d5af 100644 --- a/buildroot-external/package/mycroft-skill-ddg/mycroft-skill-ddg.mk +++ b/buildroot-external/package/mycroft-skill-ddg/mycroft-skill-ddg.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_DDG_VERSION = 42753538e8fc15b38aec84bf44ecf1645c8bde95 -MYCROFT_SKILL_DDG_SITE = git://github.com/JarbasSkills/skill-ddg +MYCROFT_SKILL_DDG_SITE = https://github.com/JarbasSkills/skill-ddg MYCROFT_SKILL_DDG_SITE_METHOD = git MYCROFT_SKILL_DDG_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_DDG_DIRNAME = skill-ddg.jarbasskills diff --git a/buildroot-external/package/mycroft-skill-installer/mycroft-skill-installer.mk b/buildroot-external/package/mycroft-skill-installer/mycroft-skill-installer.mk index 52396090..0d5c7252 100644 --- a/buildroot-external/package/mycroft-skill-installer/mycroft-skill-installer.mk +++ b/buildroot-external/package/mycroft-skill-installer/mycroft-skill-installer.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_INSTALLER_VERSION = cea3b98808aee400ece730dbdcd8957368d50983 -MYCROFT_SKILL_INSTALLER_SITE = git://github.com/MycroftAI/skill-installer +MYCROFT_SKILL_INSTALLER_SITE = https://github.com/MycroftAI/skill-installer MYCROFT_SKILL_INSTALLER_SITE_METHOD = git MYCROFT_SKILL_INSTALLER_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_INSTALLER_DIRNAME = skill-installer.mycroftai diff --git a/buildroot-external/package/mycroft-skill-ip/mycroft-skill-ip.mk b/buildroot-external/package/mycroft-skill-ip/mycroft-skill-ip.mk index 892357f9..51749f59 100644 --- a/buildroot-external/package/mycroft-skill-ip/mycroft-skill-ip.mk +++ b/buildroot-external/package/mycroft-skill-ip/mycroft-skill-ip.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_IP_VERSION = 0e836fb98d8113475c808c64bc10424e8436d5ef -MYCROFT_SKILL_IP_SITE = git://github.com/MycroftAI/skill-ip +MYCROFT_SKILL_IP_SITE = https://github.com/MycroftAI/skill-ip MYCROFT_SKILL_IP_SITE_METHOD = git MYCROFT_SKILL_IP_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_IP_DIRNAME = skill-ip.mycroftai diff --git a/buildroot-external/package/mycroft-skill-joke/mycroft-skill-joke.mk b/buildroot-external/package/mycroft-skill-joke/mycroft-skill-joke.mk index 98edd303..ca322d03 100644 --- a/buildroot-external/package/mycroft-skill-joke/mycroft-skill-joke.mk +++ b/buildroot-external/package/mycroft-skill-joke/mycroft-skill-joke.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_JOKE_VERSION = 3d361925654857989ccf0c7d9a34a113150aa180 -MYCROFT_SKILL_JOKE_SITE = git://github.com/MycroftAI/skill-joke +MYCROFT_SKILL_JOKE_SITE = https://github.com/MycroftAI/skill-joke MYCROFT_SKILL_JOKE_SITE_METHOD = git MYCROFT_SKILL_JOKE_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_JOKE_DIRNAME = skill-joke.mycroftai diff --git a/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk b/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk index 7b1e2569..cffbdf25 100644 --- a/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk +++ b/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_NAPTIME_VERSION = c202d5dbeda5714fe3cd0fb746a8f593034e70de -MYCROFT_SKILL_NAPTIME_SITE = git://github.com/OpenVoiceOS/skill-naptime +MYCROFT_SKILL_NAPTIME_SITE = https://github.com/OpenVoiceOS/skill-naptime MYCROFT_SKILL_NAPTIME_SITE_METHOD = git MYCROFT_SKILL_NAPTIME_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_NAPTIME_DIRNAME = skill-naptime.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-news/mycroft-skill-news.mk b/buildroot-external/package/mycroft-skill-news/mycroft-skill-news.mk index 1130cb00..df13c858 100644 --- a/buildroot-external/package/mycroft-skill-news/mycroft-skill-news.mk +++ b/buildroot-external/package/mycroft-skill-news/mycroft-skill-news.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_NEWS_VERSION = c5edbdc5479aa6aff5a6ba17bfdcf4808e846f57 -MYCROFT_SKILL_NEWS_SITE = git://github.com/JarbasSkills/skill-news +MYCROFT_SKILL_NEWS_SITE = https://github.com/JarbasSkills/skill-news MYCROFT_SKILL_NEWS_SITE_METHOD = git MYCROFT_SKILL_NEWS_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_NEWS_DIRNAME = skill-news.jarbasskills diff --git a/buildroot-external/package/mycroft-skill-osm/mycroft-skill-osm.mk b/buildroot-external/package/mycroft-skill-osm/mycroft-skill-osm.mk index 84e41942..e8c10443 100644 --- a/buildroot-external/package/mycroft-skill-osm/mycroft-skill-osm.mk +++ b/buildroot-external/package/mycroft-skill-osm/mycroft-skill-osm.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OSM_VERSION = eaf8356e48afd6299136fe5b6fdc43665043443a -MYCROFT_SKILL_OSM_SITE = git://github.com/OpenVoiceOS/skill-osm +MYCROFT_SKILL_OSM_SITE = https://github.com/OpenVoiceOS/skill-osm MYCROFT_SKILL_OSM_SITE_METHOD = git MYCROFT_SKILL_OSM_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OSM_DIRNAME = skill-osm.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-common-play/mycroft-skill-ovos-common-play.mk b/buildroot-external/package/mycroft-skill-ovos-common-play/mycroft-skill-ovos-common-play.mk index b502df18..f0104801 100644 --- a/buildroot-external/package/mycroft-skill-ovos-common-play/mycroft-skill-ovos-common-play.mk +++ b/buildroot-external/package/mycroft-skill-ovos-common-play/mycroft-skill-ovos-common-play.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_COMMON_PLAY_VERSION = 23e85e42ba133d8c49ae4f5eebda10886c87a1bb -MYCROFT_SKILL_OVOS_COMMON_PLAY_SITE = git://github.com/OpenVoiceOS/skill-ovos-common-play +MYCROFT_SKILL_OVOS_COMMON_PLAY_SITE = https://github.com/OpenVoiceOS/skill-ovos-common-play MYCROFT_SKILL_OVOS_COMMON_PLAY_SITE_METHOD = git MYCROFT_SKILL_OVOS_COMMON_PLAY_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_COMMON_PLAY_DIRNAME = skill-ovos-common-play.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-common-query/mycroft-skill-ovos-common-query.mk b/buildroot-external/package/mycroft-skill-ovos-common-query/mycroft-skill-ovos-common-query.mk index 1f3c00e7..89c3e073 100644 --- a/buildroot-external/package/mycroft-skill-ovos-common-query/mycroft-skill-ovos-common-query.mk +++ b/buildroot-external/package/mycroft-skill-ovos-common-query/mycroft-skill-ovos-common-query.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_COMMON_QUERY_VERSION = 2189e60b204b9f8b96d7a64429627736b714f399 -MYCROFT_SKILL_OVOS_COMMON_QUERY_SITE = git://github.com/OpenVoiceOS/skill-ovos-common-query +MYCROFT_SKILL_OVOS_COMMON_QUERY_SITE = https://github.com/OpenVoiceOS/skill-ovos-common-query MYCROFT_SKILL_OVOS_COMMON_QUERY_SITE_METHOD = git MYCROFT_SKILL_OVOS_COMMON_QUERY_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_COMMON_QUERY_DIRNAME = skill-ovos-common-query.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-enclosure/mycroft-skill-ovos-enclosure.mk b/buildroot-external/package/mycroft-skill-ovos-enclosure/mycroft-skill-ovos-enclosure.mk index e5ab1b4a..e79fada3 100644 --- a/buildroot-external/package/mycroft-skill-ovos-enclosure/mycroft-skill-ovos-enclosure.mk +++ b/buildroot-external/package/mycroft-skill-ovos-enclosure/mycroft-skill-ovos-enclosure.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_ENCLOSURE_VERSION = 96f6b24faf146fb8811f0fdf753748991d414dcd -MYCROFT_SKILL_OVOS_ENCLOSURE_SITE = git://github.com/OpenVoiceOS/skill-ovos-enclosure +MYCROFT_SKILL_OVOS_ENCLOSURE_SITE = https://github.com/OpenVoiceOS/skill-ovos-enclosure MYCROFT_SKILL_OVOS_ENCLOSURE_SITE_METHOD = git MYCROFT_SKILL_OVOS_ENCLOSURE_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_ENCLOSURE_DIRNAME = skill-ovos-enclosure.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-homescreen/mycroft-skill-ovos-homescreen.mk b/buildroot-external/package/mycroft-skill-ovos-homescreen/mycroft-skill-ovos-homescreen.mk index 0c42fab7..0486ae26 100644 --- a/buildroot-external/package/mycroft-skill-ovos-homescreen/mycroft-skill-ovos-homescreen.mk +++ b/buildroot-external/package/mycroft-skill-ovos-homescreen/mycroft-skill-ovos-homescreen.mk @@ -4,8 +4,8 @@ # ################################################################################ -MYCROFT_SKILL_OVOS_HOMESCREEN_VERSION = e22cfb44a09730b6c632d21901b0cc279f60715f -MYCROFT_SKILL_OVOS_HOMESCREEN_SITE = git://github.com/OpenVoiceOS/skill-ovos-homescreen +MYCROFT_SKILL_OVOS_HOMESCREEN_VERSION = 7a1697fc76ab80937e50d0ccadc8ec5fae425595 +MYCROFT_SKILL_OVOS_HOMESCREEN_SITE = https://github.com/OpenVoiceOS/skill-ovos-homescreen MYCROFT_SKILL_OVOS_HOMESCREEN_SITE_METHOD = git MYCROFT_SKILL_OVOS_HOMESCREEN_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_HOMESCREEN_DIRNAME = skill-ovos-homescreen.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-info/mycroft-skill-ovos-info.mk b/buildroot-external/package/mycroft-skill-ovos-info/mycroft-skill-ovos-info.mk index b84245a1..4ae564d7 100644 --- a/buildroot-external/package/mycroft-skill-ovos-info/mycroft-skill-ovos-info.mk +++ b/buildroot-external/package/mycroft-skill-ovos-info/mycroft-skill-ovos-info.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_INFO_VERSION = bd639f862c193788a178fd1f4523607920e5d0d9 -MYCROFT_SKILL_OVOS_INFO_SITE = git://github.com/OpenVoiceOS/ovos-skills-info +MYCROFT_SKILL_OVOS_INFO_SITE = https://github.com/OpenVoiceOS/ovos-skills-info MYCROFT_SKILL_OVOS_INFO_SITE_METHOD = git MYCROFT_SKILL_OVOS_INFO_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_INFO_DIRNAME = ovos-skills-info.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-mycroftgui/mycroft-skill-ovos-mycroftgui.mk b/buildroot-external/package/mycroft-skill-ovos-mycroftgui/mycroft-skill-ovos-mycroftgui.mk index c03238f7..66de357a 100644 --- a/buildroot-external/package/mycroft-skill-ovos-mycroftgui/mycroft-skill-ovos-mycroftgui.mk +++ b/buildroot-external/package/mycroft-skill-ovos-mycroftgui/mycroft-skill-ovos-mycroftgui.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_MYCROFTGUI_VERSION = 831b353494458a798d5c6bd23c72fb63ad142477 -MYCROFT_SKILL_OVOS_MYCROFTGUI_SITE = git://github.com/OpenVoiceOS/skill-ovos-mycroftgui +MYCROFT_SKILL_OVOS_MYCROFTGUI_SITE = https://github.com/OpenVoiceOS/skill-ovos-mycroftgui MYCROFT_SKILL_OVOS_MYCROFTGUI_SITE_METHOD = git MYCROFT_SKILL_OVOS_MYCROFTGUI_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_MYCROFTGUI_DIRNAME = skill-ovos-mycroftgui.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-setup/mycroft-skill-ovos-setup.mk b/buildroot-external/package/mycroft-skill-ovos-setup/mycroft-skill-ovos-setup.mk index c8eee6b9..f716d374 100644 --- a/buildroot-external/package/mycroft-skill-ovos-setup/mycroft-skill-ovos-setup.mk +++ b/buildroot-external/package/mycroft-skill-ovos-setup/mycroft-skill-ovos-setup.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_SETUP_VERSION = ccedbf5c46f72022151d910c994a63dc1fa64d90 -MYCROFT_SKILL_OVOS_SETUP_SITE = git://github.com/OpenVoiceOS/skill-ovos-setup +MYCROFT_SKILL_OVOS_SETUP_SITE = https://github.com/OpenVoiceOS/skill-ovos-setup MYCROFT_SKILL_OVOS_SETUP_SITE_METHOD = git MYCROFT_SKILL_OVOS_SETUP_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_SETUP_DIRNAME = skill-ovos-setup.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk b/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk index 8f96d5fe..86f24c9b 100644 --- a/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk +++ b/buildroot-external/package/mycroft-skill-ovos-volume/mycroft-skill-ovos-volume.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_OVOS_VOLUME_VERSION = 71118dc4d888fa7f7e56f41042faf152381e379a -MYCROFT_SKILL_OVOS_VOLUME_SITE = git://github.com/OpenVoiceOS/skill-ovos-volume +MYCROFT_SKILL_OVOS_VOLUME_SITE = https://github.com/OpenVoiceOS/skill-ovos-volume MYCROFT_SKILL_OVOS_VOLUME_SITE_METHOD = git MYCROFT_SKILL_OVOS_VOLUME_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_OVOS_VOLUME_DIRNAME = skill-ovos-volume.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-parrot/mycroft-skill-parrot.mk b/buildroot-external/package/mycroft-skill-parrot/mycroft-skill-parrot.mk index d2eb7729..625008d6 100644 --- a/buildroot-external/package/mycroft-skill-parrot/mycroft-skill-parrot.mk +++ b/buildroot-external/package/mycroft-skill-parrot/mycroft-skill-parrot.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_PARROT_VERSION = abef6ff959b622a32dfe6a2bcf8e47fe451a53e6 -MYCROFT_SKILL_PARROT_SITE = git://github.com/JarbasSkills/skill-parrot +MYCROFT_SKILL_PARROT_SITE = https://github.com/JarbasSkills/skill-parrot MYCROFT_SKILL_PARROT_SITE_METHOD = git MYCROFT_SKILL_PARROT_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_PARROT_DIRNAME = skill-parrot.jarbasskills diff --git a/buildroot-external/package/mycroft-skill-personal/mycroft-skill-personal.mk b/buildroot-external/package/mycroft-skill-personal/mycroft-skill-personal.mk index d4d1407f..803b7bb1 100644 --- a/buildroot-external/package/mycroft-skill-personal/mycroft-skill-personal.mk +++ b/buildroot-external/package/mycroft-skill-personal/mycroft-skill-personal.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_PERSONAL_VERSION = ed99a6a26f14383bd1a42beb29f137f1a53c4954 -MYCROFT_SKILL_PERSONAL_SITE = git://github.com/MycroftAI/skill-personal +MYCROFT_SKILL_PERSONAL_SITE = https://github.com/MycroftAI/skill-personal MYCROFT_SKILL_PERSONAL_SITE_METHOD = git MYCROFT_SKILL_PERSONAL_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_PERSONAL_DIRNAME = skill-personal.mycroftai diff --git a/buildroot-external/package/mycroft-skill-reminder/mycroft-skill-reminder.mk b/buildroot-external/package/mycroft-skill-reminder/mycroft-skill-reminder.mk index 49c97ef1..0142ccbd 100644 --- a/buildroot-external/package/mycroft-skill-reminder/mycroft-skill-reminder.mk +++ b/buildroot-external/package/mycroft-skill-reminder/mycroft-skill-reminder.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_REMINDER_VERSION = a2e615c09bfe5ebf6471f10167e2f9dff858c872 -MYCROFT_SKILL_REMINDER_SITE = git://github.com/MycroftAI/skill-reminder +MYCROFT_SKILL_REMINDER_SITE = https://github.com/MycroftAI/skill-reminder MYCROFT_SKILL_REMINDER_SITE_METHOD = git MYCROFT_SKILL_REMINDER_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_REMINDER_DIRNAME = skill-reminder.mycroftai diff --git a/buildroot-external/package/mycroft-skill-simple-youtube/mycroft-skill-simple-youtube.mk b/buildroot-external/package/mycroft-skill-simple-youtube/mycroft-skill-simple-youtube.mk index a23f87de..538d9c39 100644 --- a/buildroot-external/package/mycroft-skill-simple-youtube/mycroft-skill-simple-youtube.mk +++ b/buildroot-external/package/mycroft-skill-simple-youtube/mycroft-skill-simple-youtube.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_SIMPLE_YOUTUBE_VERSION = 9c01487e8094a3f575e9d9ee212c6ee55335d7dc -MYCROFT_SKILL_SIMPLE_YOUTUBE_SITE = git://github.com/JarbasSkills/skill-simple-youtube +MYCROFT_SKILL_SIMPLE_YOUTUBE_SITE = https://github.com/JarbasSkills/skill-simple-youtube MYCROFT_SKILL_SIMPLE_YOUTUBE_SITE_METHOD = git MYCROFT_SKILL_SIMPLE_YOUTUBE_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_SIMPLE_YOUTUBE_DIRNAME = skill-simple-youtube.jarbasskills diff --git a/buildroot-external/package/mycroft-skill-singing/mycroft-skill-singing.mk b/buildroot-external/package/mycroft-skill-singing/mycroft-skill-singing.mk index 9d1b0070..03c9ee02 100644 --- a/buildroot-external/package/mycroft-skill-singing/mycroft-skill-singing.mk +++ b/buildroot-external/package/mycroft-skill-singing/mycroft-skill-singing.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_SINGING_VERSION = 3cfd5007ac2b0c728bb5557ca68a99eea20e818f -MYCROFT_SKILL_SINGING_SITE = git://github.com/MycroftAI/skill-singing +MYCROFT_SKILL_SINGING_SITE = https://github.com/MycroftAI/skill-singing MYCROFT_SKILL_SINGING_SITE_METHOD = git MYCROFT_SKILL_SINGING_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_SINGING_DIRNAME = skill-singing.mycroftai diff --git a/buildroot-external/package/mycroft-skill-spelling/mycroft-skill-spelling.mk b/buildroot-external/package/mycroft-skill-spelling/mycroft-skill-spelling.mk index 6e7335b8..437e346b 100644 --- a/buildroot-external/package/mycroft-skill-spelling/mycroft-skill-spelling.mk +++ b/buildroot-external/package/mycroft-skill-spelling/mycroft-skill-spelling.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_SPELLING_VERSION = 89c154850cf79f3b2544337e42874adc9e0c7520 -MYCROFT_SKILL_SPELLING_SITE = git://github.com/MycroftAI/skill-spelling +MYCROFT_SKILL_SPELLING_SITE = https://github.com/MycroftAI/skill-spelling MYCROFT_SKILL_SPELLING_SITE_METHOD = git MYCROFT_SKILL_SPELLING_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_SPELLING_DIRNAME = skill-spelling.mycroftai diff --git a/buildroot-external/package/mycroft-skill-timer/mycroft-skill-timer.mk b/buildroot-external/package/mycroft-skill-timer/mycroft-skill-timer.mk index 8537ee1c..e41d4715 100644 --- a/buildroot-external/package/mycroft-skill-timer/mycroft-skill-timer.mk +++ b/buildroot-external/package/mycroft-skill-timer/mycroft-skill-timer.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_TIMER_VERSION = ccca4656760f7ae9bdfa4565eedca511d0c4bacc -MYCROFT_SKILL_TIMER_SITE = git://github.com/MycroftAI/mycroft-timer +MYCROFT_SKILL_TIMER_SITE = https://github.com/MycroftAI/mycroft-timer MYCROFT_SKILL_TIMER_SITE_METHOD = git MYCROFT_SKILL_TIMER_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_TIMER_DIRNAME = mycroft-timer.mycroftai diff --git a/buildroot-external/package/mycroft-skill-unknown/mycroft-skill-unknown.mk b/buildroot-external/package/mycroft-skill-unknown/mycroft-skill-unknown.mk index 1aecad50..82083c4d 100644 --- a/buildroot-external/package/mycroft-skill-unknown/mycroft-skill-unknown.mk +++ b/buildroot-external/package/mycroft-skill-unknown/mycroft-skill-unknown.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_UNKNOWN_VERSION = de219550beccaaccb9310b200943ed5a2b2dbaf2 -MYCROFT_SKILL_UNKNOWN_SITE = git://github.com/MycroftAI/fallback-unknown +MYCROFT_SKILL_UNKNOWN_SITE = https://github.com/MycroftAI/fallback-unknown MYCROFT_SKILL_UNKNOWN_SITE_METHOD = git MYCROFT_SKILL_UNKNOWN_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_UNKNOWN_DIRNAME = fallback-unknown.mycroftai diff --git a/buildroot-external/package/mycroft-skill-weather/mycroft-skill-weather.mk b/buildroot-external/package/mycroft-skill-weather/mycroft-skill-weather.mk index 301ad2ce..b0e642ad 100644 --- a/buildroot-external/package/mycroft-skill-weather/mycroft-skill-weather.mk +++ b/buildroot-external/package/mycroft-skill-weather/mycroft-skill-weather.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_WEATHER_VERSION = a7e8da15954cdda403d40d22a65a7a3cc2abe6d7 -MYCROFT_SKILL_WEATHER_SITE = git://github.com/OpenVoiceOS/skill-weather +MYCROFT_SKILL_WEATHER_SITE = https://github.com/OpenVoiceOS/skill-weather MYCROFT_SKILL_WEATHER_SITE_METHOD = git MYCROFT_SKILL_WEATHER_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_WEATHER_DIRNAME = skill-weather.openvoiceos diff --git a/buildroot-external/package/mycroft-skill-wikipedia-for-humans/mycroft-skill-wikipedia-for-humans.mk b/buildroot-external/package/mycroft-skill-wikipedia-for-humans/mycroft-skill-wikipedia-for-humans.mk index 7baaa151..18b25075 100644 --- a/buildroot-external/package/mycroft-skill-wikipedia-for-humans/mycroft-skill-wikipedia-for-humans.mk +++ b/buildroot-external/package/mycroft-skill-wikipedia-for-humans/mycroft-skill-wikipedia-for-humans.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS_VERSION = 66fd1e49b45e6db263fba5248131dffa765900fc -MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS_SITE = git://github.com/JarbasSkills/skill-wikipedia-for-humans +MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS_SITE = https://github.com/JarbasSkills/skill-wikipedia-for-humans MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS_SITE_METHOD = git MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_WIKIPEDIA_FOR_HUMANS_DIRNAME = skill-wikipedia-for-humans.jarbasskills diff --git a/buildroot-external/package/mycroft-skill-wolfie/mycroft-skill-wolfie.mk b/buildroot-external/package/mycroft-skill-wolfie/mycroft-skill-wolfie.mk index 18911944..d087f85c 100644 --- a/buildroot-external/package/mycroft-skill-wolfie/mycroft-skill-wolfie.mk +++ b/buildroot-external/package/mycroft-skill-wolfie/mycroft-skill-wolfie.mk @@ -5,7 +5,7 @@ ################################################################################ MYCROFT_SKILL_WOLFIE_VERSION = f81ae02ac0830662ba3a9425a1016de647db4c8a -MYCROFT_SKILL_WOLFIE_SITE = git://github.com/JarbasSkills/skill-wolfie +MYCROFT_SKILL_WOLFIE_SITE = https://github.com/JarbasSkills/skill-wolfie MYCROFT_SKILL_WOLFIE_SITE_METHOD = git MYCROFT_SKILL_WOLFIE_DIRLOCATION = home/mycroft/.local/share/mycroft/skills MYCROFT_SKILL_WOLFIE_DIRNAME = skill-wolfie.jarbasskills diff --git a/buildroot-external/package/mycroft-skills-repo/mycroft-skills-repo.mk b/buildroot-external/package/mycroft-skills-repo/mycroft-skills-repo.mk index f7e9c6f0..bab6d924 100644 --- a/buildroot-external/package/mycroft-skills-repo/mycroft-skills-repo.mk +++ b/buildroot-external/package/mycroft-skills-repo/mycroft-skills-repo.mk @@ -4,7 +4,7 @@ # ################################################################################ -MYCROFT_SKILLS_REPO_VERSION = 20.08 +MYCROFT_SKILLS_REPO_VERSION = 21.02 MYCROFT_SKILLS_REPO_SITE = git://github.com/MycroftAI/mycroft-skills MYCROFT_SKILLS_REPO_SITE_METHOD = git #MYCROFT_SKILLS_REPO_GIT_SUBMODULES = yes diff --git a/buildroot-external/package/ovos-dashboard/ovos-dashboard.mk b/buildroot-external/package/ovos-dashboard/ovos-dashboard.mk index 95bfe790..66c6e436 100644 --- a/buildroot-external/package/ovos-dashboard/ovos-dashboard.mk +++ b/buildroot-external/package/ovos-dashboard/ovos-dashboard.mk @@ -5,7 +5,7 @@ ################################################################################ OVOS_DASHBOARD_VERSION = 0e311a5ca9aeaa19bcc8a3aec83fb254dc30c152 -OVOS_DASHBOARD_SITE = git://github.com/OpenVoiceOS/OVOS-Dashboard +OVOS_DASHBOARD_SITE = https://github.com/OpenVoiceOS/OVOS-Dashboard OVOS_DASHBOARD_SITE_METHOD = git OVOS_DASHBOARD_LOCATION = usr/local/share/ovos-dashboard diff --git a/buildroot-external/package/python-ovos-audio-plugin-simple/Config.in b/buildroot-external/package/python-ovos-audio-plugin-simple/Config.in new file mode 100644 index 00000000..07a76d28 --- /dev/null +++ b/buildroot-external/package/python-ovos-audio-plugin-simple/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE + bool "python-ovos-audio-plugin-simple" + select BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER # runtime + help + simple audio plugin for ovos. + + https://github.com/OpenVoiceOS/ovos-audio-plugin-simple diff --git a/buildroot-external/package/python-ovos-audio-plugin-simple/python-ovos-audio-plugin-simple.hash b/buildroot-external/package/python-ovos-audio-plugin-simple/python-ovos-audio-plugin-simple.hash new file mode 100644 index 00000000..5c53738d --- /dev/null +++ b/buildroot-external/package/python-ovos-audio-plugin-simple/python-ovos-audio-plugin-simple.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/ovos-audio-plugin-simple/json +md5 2305e5b59bdc9b11be03c8f7f6aa6ea2 ovos_audio_plugin_simple-0.0.1a1.tar.gz +sha256 50f61d7cb4411bf80d2b726c7147dcb8e0a5cd5f1dc937a8d5d2c3163b6d9b65 ovos_audio_plugin_simple-0.0.1a1.tar.gz diff --git a/buildroot-external/package/python-ovos-audio-plugin-simple/python-ovos-audio-plugin-simple.mk b/buildroot-external/package/python-ovos-audio-plugin-simple/python-ovos-audio-plugin-simple.mk new file mode 100644 index 00000000..96fd44a5 --- /dev/null +++ b/buildroot-external/package/python-ovos-audio-plugin-simple/python-ovos-audio-plugin-simple.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-ovos-audio-plugin-simple +# +################################################################################ + +PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE_VERSION = 0.0.1a1 +PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE_SOURCE = ovos_audio_plugin_simple-$(PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE_VERSION).tar.gz +PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE_SITE = https://files.pythonhosted.org/packages/f6/19/58acf46fb4a3bb52a6eee12fc3e90461251c5ce0a7bfa1c0d568c618a607 +PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE_SETUP_TYPE = setuptools +PYTHON_OVOS_AUDIO_PLUGIN_SIMPLE_LICENSE = Apache-2.0 + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.hash b/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.hash index d844f920..1a98315d 100644 --- a/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.hash +++ b/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.hash @@ -1 +1 @@ -sha256 6d07ba8601d3126b4b3df10e5738fb15d262c69d4b7575d034792c83635cf35c python-ovos-ocp-audio-plugin-7a4ed0a7341205783a66d4850a97694f9523ed1b.tar.gz +sha256 f73ecd33964b020fe5a31ed8f9bf347fd0cc524fed6591f3dec7162cca7e3537 python-ovos-ocp-audio-plugin-a3c2dc7e3200d7a8cc32c21ad5f515cac4b899e0.tar.gz diff --git a/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.mk b/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.mk index 05a334b9..5163198f 100644 --- a/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.mk +++ b/buildroot-external/package/python-ovos-ocp-audio-plugin/python-ovos-ocp-audio-plugin.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_OVOS_OCP_AUDIO_PLUGIN_VERSION = 7a4ed0a7341205783a66d4850a97694f9523ed1b +PYTHON_OVOS_OCP_AUDIO_PLUGIN_VERSION = a3c2dc7e3200d7a8cc32c21ad5f515cac4b899e0 PYTHON_OVOS_OCP_AUDIO_PLUGIN_SITE = $(call github,OpenVoiceOS,ovos-ocp-audio-plugin,$(PYTHON_OVOS_OCP_AUDIO_PLUGIN_VERSION)) PYTHON_OVOS_OCP_AUDIO_PLUGIN_SETUP_TYPE = setuptools PYTHON_OVOS_OCP_AUDIO_PLUGIN_LICENSE_FILES = LICENSE diff --git a/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash b/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash index 69b79dac..9ae1bb50 100644 --- a/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash +++ b/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash @@ -1 +1 @@ -sha256 bea167dfdd2f22b903156243421e7dd706de1ec4647dfeb613982a1ee8121447 python-ovos-utils-de67098268b1994cc6ff712ad3160a5e5ae67be6.tar.gz +sha256 d01f487f04edb899ee9ddfdacf5beafd03202e0b19fde1a6b9af2d6a11fa97e1 python-ovos-utils-9cc22f6705b778530c65cf14a9082fde5720b806.tar.gz diff --git a/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk b/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk index ccc805bc..06288f77 100644 --- a/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk +++ b/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_OVOS_UTILS_VERSION = de67098268b1994cc6ff712ad3160a5e5ae67be6 +PYTHON_OVOS_UTILS_VERSION = 9cc22f6705b778530c65cf14a9082fde5720b806 PYTHON_OVOS_UTILS_SITE = $(call github,OpenVoiceOS,ovos_utils,$(PYTHON_OVOS_UTILS_VERSION)) PYTHON_OVOS_UTILS_SETUP_TYPE = setuptools PYTHON_OVOS_UTILS_LICENSE_FILES = LICENSE diff --git a/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.hash b/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.hash index 239830d1..eba5aacd 100644 --- a/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.hash +++ b/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.hash @@ -1 +1 @@ -sha256 ef895892075d20a9557017ec141de3639a22be72d35479775cefac989c4c8c2f python-ovos-workshop-f309a4ae30cebf5376e92af2b59f65e49187bf8e.tar.gz +sha256 73dcff3d10dbc59b3be8ca2a9375e13d437c397ece0306a48781b5cb77cfda81 python-ovos-workshop-339039bbe5fe69629ae42b2602ed3a8a0414a30b.tar.gz diff --git a/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.mk b/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.mk index 8b29ea8d..8cefdbd3 100644 --- a/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.mk +++ b/buildroot-external/package/python-ovos-workshop/python-ovos-workshop.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_OVOS_WORKSHOP_VERSION = f309a4ae30cebf5376e92af2b59f65e49187bf8e +PYTHON_OVOS_WORKSHOP_VERSION = 339039bbe5fe69629ae42b2602ed3a8a0414a30b PYTHON_OVOS_WORKSHOP_SITE = $(call github,OpenVoiceOS,OVOS-workshop,$(PYTHON_OVOS_WORKSHOP_VERSION)) PYTHON_OVOS_WORKSHOP_SETUP_TYPE = setuptools PYTHON_OVOS_WORKSHOP_LICENSE_FILES = LICENSE diff --git a/buildroot-external/package/python-pymplayer/python-pymplayer.mk b/buildroot-external/package/python-pymplayer/python-pymplayer.mk index 09324504..5ea10054 100644 --- a/buildroot-external/package/python-pymplayer/python-pymplayer.mk +++ b/buildroot-external/package/python-pymplayer/python-pymplayer.mk @@ -5,7 +5,8 @@ ################################################################################ PYTHON_PYMPLAYER_VERSION = eaa0a1dbfc60cb0f4f1b3e495d665714c089474a -PYTHON_PYMPLAYER_SITE = git://github.com/JarbasAl/py_mplayer.git +PYTHON_PYMPLAYER_SITE = https://github.com/JarbasAl/py_mplayer.git +PYTHON_PYMPLAYER_SITE_METHOD = git PYTHON_PYMPLAYER_SETUP_TYPE = distutils PYTHON_PYMPLAYER_LICENSE = MIT diff --git a/buildroot-external/package/python-yt-dlp/Config.in b/buildroot-external/package/python-yt-dlp/Config.in new file mode 100644 index 00000000..29fe9fbb --- /dev/null +++ b/buildroot-external/package/python-yt-dlp/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_YT_DLP + bool "python-yt-dlp" + select BR2_PACKAGE_PYTHON_MUTAGEN # runtime + select BR2_PACKAGE_PYTHON_PYCRYPTODOMEX # runtime + select BR2_PACKAGE_PYTHON_WEBSOCKETS # runtime + help + A youtube-dl fork with additional features and patches. + + https://github.com/yt-dlp/yt-dlp diff --git a/buildroot-external/package/python-yt-dlp/python-yt-dlp.hash b/buildroot-external/package/python-yt-dlp/python-yt-dlp.hash new file mode 100644 index 00000000..dccb8395 --- /dev/null +++ b/buildroot-external/package/python-yt-dlp/python-yt-dlp.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/yt-dlp/json +md5 c5732039a5d427d73fe91b9a8790b239 yt-dlp-2021.12.27.tar.gz +sha256 2244df3759751487e796b23b67216bee98e70832a3a43c2526b0b0e0bbfbcb5b yt-dlp-2021.12.27.tar.gz +# Locally computed sha256 checksums +sha256 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c LICENSE diff --git a/buildroot-external/package/python-yt-dlp/python-yt-dlp.mk b/buildroot-external/package/python-yt-dlp/python-yt-dlp.mk new file mode 100644 index 00000000..fd9fac58 --- /dev/null +++ b/buildroot-external/package/python-yt-dlp/python-yt-dlp.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-yt-dlp +# +################################################################################ + +PYTHON_YT_DLP_VERSION = 2021.12.27 +PYTHON_YT_DLP_SOURCE = yt-dlp-$(PYTHON_YT_DLP_VERSION).tar.gz +PYTHON_YT_DLP_SITE = https://files.pythonhosted.org/packages/e0/c5/1748e553776f00057fb4b0f648eb22b7e0d58a3c062d2d4a6b8aba72fb4e +PYTHON_YT_DLP_SETUP_TYPE = setuptools +PYTHON_YT_DLP_LICENSE = Public Domain +PYTHON_YT_DLP_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/rootfs-overlay/etc/avrdude-gpio.conf b/buildroot-external/rootfs-overlay/etc/avrdude-gpio.conf new file mode 100644 index 00000000..98039d60 --- /dev/null +++ b/buildroot-external/rootfs-overlay/etc/avrdude-gpio.conf @@ -0,0 +1,14556 @@ +# $Id: avrdude.conf.in 1294 2014-03-12 23:03:18Z joerg_wunsch $ -*- text -*- +# +# AVRDUDE Configuration File +# +# This file contains configuration data used by AVRDUDE which describes +# the programming hardware pinouts and also provides part definitions. +# AVRDUDE's "-C" command line option specifies the location of the +# configuration file. The "-c" option names the programmer configuration +# which must match one of the entry's "id" parameter. The "-p" option +# identifies which part AVRDUDE is going to be programming and must match +# one of the parts' "id" parameter. +# +# Possible entry formats are: +# +# programmer +# parent # optional parent +# id = [, [, ] ...] ; # are quoted strings +# desc = ; # quoted string +# type = ; # programmer type, quoted string +# # supported programmer types can be listed by "-c ?type" +# connection_type = parallel | serial | usb +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# buff = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# mosi = ; # pin number +# miso = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# usbvid = ; # USB VID (Vendor ID) +# usbpid = [, ...] # USB PID (Product ID) (1) +# usbdev = ; # USB interface or other device info +# usbvendor = ; # USB Vendor Name +# usbproduct = ; # USB Product Name +# usbsn = ; # USB Serial Number +# +# To invert a bit, use = ~ , the spaces are important. +# For a pin list all pins must be inverted. +# A single pin can be specified as usual = ~ , for lists +# specify it as follows = ~ ( [, ... ] ) . +# +# (1) Not all programmer types can process a list of PIDs. +# ; +# +# part +# id = ; # quoted string +# desc = ; # quoted string +# has_jtag = ; # part has JTAG i/f +# has_debugwire = ; # part has debugWire i/f +# has_pdi = ; # part has PDI i/f +# has_tpi = ; # part has TPI i/f +# devicecode = ; # deprecated, use stk500_devcode +# stk500_devcode = ; # numeric +# avr910_devcode = ; # numeric +# signature = ; # signature bytes +# usbpid = ; # DFU USB PID +# chip_erase_delay = ; # micro-seconds +# reset = dedicated | io; +# retry_pulse = reset | sck; +# pgm_enable = ; +# chip_erase = ; +# chip_erase_delay = ; # chip erase delay (us) +# # STK500 parameters (parallel programming IO lines) +# pagel = ; # pin name in hex, i.e., 0xD7 +# bs2 = ; # pin name in hex, i.e., 0xA0 +# serial = ; # can use serial downloading +# parallel = ; # can use par. programming +# # STK500v2 parameters, to be taken from Atmel's XML files +# timeout = ; +# stabdelay = ; +# cmdexedelay = ; +# synchloops = ; +# bytedelay = ; +# pollvalue = ; +# pollindex = ; +# predelay = ; +# postdelay = ; +# pollmethod = ; +# mode = ; +# delay = ; +# blocksize = ; +# readsize = ; +# hvspcmdexedelay = ; +# # STK500v2 HV programming parameters, from XML +# pp_controlstack = , , ...; # PP only +# hvsp_controlstack = , , ...; # HVSP only +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # JTAG ICE mkII parameters, also from XML files +# allowfullpagebitstream = ; +# enablepageprogramming = ; +# idr = ; # IO addr of IDR (OCD) reg. +# rampz = ; # IO addr of RAMPZ reg. +# spmcr = ; # mem addr of SPMC[S]R reg. +# eecr = ; # mem addr of EECR reg. +# # (only when != 0x3c) +# is_at90s1200 = ; # AT90S1200 part +# is_avr32 = ; # AVR32 part +# +# memory +# paged = ; # yes / no +# size = ; # bytes +# page_size = ; # bytes +# num_pages = ; # numeric +# min_write_delay = ; # micro-seconds +# max_write_delay = ; # micro-seconds +# readback_p1 = ; # byte value +# readback_p2 = ; # byte value +# pwroff_after_write = ; # yes / no +# read = ; +# write = ; +# read_lo = ; +# read_hi = ; +# write_lo = ; +# write_hi = ; +# loadpage_lo = ; +# loadpage_hi = ; +# writepage = ; +# ; +# ; +# +# If any of the above parameters are not specified, the default value +# of 0 is used for numerics or the empty string ("") for string +# values. If a required parameter is left empty, AVRDUDE will +# complain. +# +# Parts can also inherit parameters from previously defined parts +# using the following syntax. In this case specified integer and +# string values override parameter values from the parent part. New +# memory definitions are added to the definitions inherited from the +# parent. +# +# part parent # quoted string +# id = ; # quoted string +# +# ; +# +# NOTES: +# * 'devicecode' is the device code used by the STK500 (see codes +# listed below) +# * Not all memory types will implement all instructions. +# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Example memory types are: +# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high +# fuse), "signature", "calibration", "lock" +# * The memory type specified on the avrdude command line must match +# one of the memory types defined for the specified chip. +# * The pwroff_after_write flag causes avrdude to attempt to +# power the device off and back on after an unsuccessful write to +# the affected memory area if VCC programmer pins are defined. If +# VCC pins are not defined for the programmer, a message +# indicating that the device needs a power-cycle is printed out. +# This flag was added to work around a problem with the +# at90s4433/2333's; see the at90s4433 errata at: +# +# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf +# +# INSTRUCTION FORMATS +# +# Instruction formats are specified as a comma seperated list of +# string values containing information (bit specifiers) about each +# of the 32 bits of the instruction. Bit specifiers may be one of +# the following formats: +# +# '1' = the bit is always set on input as well as output +# +# '0' = the bit is always clear on input as well as output +# +# 'x' = the bit is ignored on input and output +# +# 'a' = the bit is an address bit, the bit-number matches this bit +# specifier's position within the current instruction byte +# +# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 +# is address bit 12 on input, a0 is address bit 0. +# +# 'i' = the bit is an input data bit +# +# 'o' = the bit is an output data bit +# +# Each instruction must be composed of 32 bit specifiers. The +# instruction specification closely follows the instruction data +# provided in Atmel's data sheets for their parts. +# +# See below for some examples. +# +# +# The following are STK500 part device codes to use for the +# "devicecode" field of the part. These came from Atmel's software +# section avr061.zip which accompanies the application note +# AVR061 available from: +# +# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf +# + +#define ATTINY10 0x10 /* the _old_ one that never existed! */ +#define ATTINY11 0x11 +#define ATTINY12 0x12 +#define ATTINY15 0x13 +#define ATTINY13 0x14 + +#define ATTINY22 0x20 +#define ATTINY26 0x21 +#define ATTINY28 0x22 +#define ATTINY2313 0x23 + +#define AT90S1200 0x33 + +#define AT90S2313 0x40 +#define AT90S2323 0x41 +#define AT90S2333 0x42 +#define AT90S2343 0x43 + +#define AT90S4414 0x50 +#define AT90S4433 0x51 +#define AT90S4434 0x52 +#define ATMEGA48 0x59 + +#define AT90S8515 0x60 +#define AT90S8535 0x61 +#define AT90C8534 0x62 +#define ATMEGA8515 0x63 +#define ATMEGA8535 0x64 + +#define ATMEGA8 0x70 +#define ATMEGA88 0x73 +#define ATMEGA168 0x86 + +#define ATMEGA161 0x80 +#define ATMEGA163 0x81 +#define ATMEGA16 0x82 +#define ATMEGA162 0x83 +#define ATMEGA169 0x84 + +#define ATMEGA323 0x90 +#define ATMEGA32 0x91 + +#define ATMEGA64 0xA0 + +#define ATMEGA103 0xB1 +#define ATMEGA128 0xB2 +#define AT90CAN128 0xB3 +#define AT90CAN64 0xB3 +#define AT90CAN32 0xB3 + +#define AT86RF401 0xD0 + +#define AT89START 0xE0 +#define AT89S51 0xE0 +#define AT89S52 0xE1 + +# The following table lists the devices in the original AVR910 +# appnote: +# |Device |Signature | Code | +# +-------+----------+------+ +# |tiny12 | 1E 90 05 | 0x55 | +# |tiny15 | 1E 90 06 | 0x56 | +# | | | | +# | S1200 | 1E 90 01 | 0x13 | +# | | | | +# | S2313 | 1E 91 01 | 0x20 | +# | S2323 | 1E 91 02 | 0x48 | +# | S2333 | 1E 91 05 | 0x34 | +# | S2343 | 1E 91 03 | 0x4C | +# | | | | +# | S4414 | 1E 92 01 | 0x28 | +# | S4433 | 1E 92 03 | 0x30 | +# | S4434 | 1E 92 02 | 0x6C | +# | | | | +# | S8515 | 1E 93 01 | 0x38 | +# | S8535 | 1E 93 03 | 0x68 | +# | | | | +# |mega32 | 1E 95 01 | 0x72 | +# |mega83 | 1E 93 05 | 0x65 | +# |mega103| 1E 97 01 | 0x41 | +# |mega161| 1E 94 01 | 0x60 | +# |mega163| 1E 94 02 | 0x64 | + +# Appnote AVR109 also has a table of AVR910 device codes, which +# lists: +# dev avr910 signature +# ATmega8 0x77 0x1E 0x93 0x07 +# ATmega8515 0x3B 0x1E 0x93 0x06 +# ATmega8535 0x6A 0x1E 0x93 0x08 +# ATmega16 0x75 0x1E 0x94 0x03 +# ATmega162 0x63 0x1E 0x94 0x04 +# ATmega163 0x66 0x1E 0x94 0x02 +# ATmega169 0x79 0x1E 0x94 0x05 +# ATmega32 0x7F 0x1E 0x95 0x02 +# ATmega323 0x73 0x1E 0x95 0x01 +# ATmega64 0x46 0x1E 0x96 0x02 +# ATmega128 0x44 0x1E 0x97 0x02 +# +# These codes refer to "BOOT" device codes which are apparently +# different than standard device codes, for whatever reasons +# (often one above the standard code). + +# There are several extended versions of AVR910 implementations around +# in the Internet. These add the following codes (only devices that +# actually exist are listed): + +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 + +# +# Overall avrdude defaults; suitable for ~/.avrduderc +# +default_parallel = "unknown"; +default_serial = "/dev/ttyS0"; +# default_bitclock = 2.5; + +# Turn off safemode by default +#default_safemode = no; + + +# +# PROGRAMMER DEFINITIONS +# + +# http://wiring.org.co/ +# Basically STK500v2 protocol, with some glue to trigger the +# bootloader. +programmer + id = "wiring"; + desc = "Wiring"; + type = "wiring"; + connection_type = serial; +; + +programmer + id = "arduino"; + desc = "Arduino"; + type = "arduino"; + connection_type = serial; +; +# this will interface with the chips on these programmers: +# +# http://real.kiev.ua/old/avreal/en/adapters +# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml +# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html +# http://www.ethernut.de/en/hardware/turtelizer/index.html +# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html +# http://dangerousprototypes.com/docs/FT2232_breakout_board +# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H +# http://flashrom.org/FT2232SPI_Programmer +# +# The drivers will look for a specific device and use the first one found. +# If you have mulitple devices, then look for unique information (like SN) +# And fill that in here. +# +# Note that the pin numbers for the main ISP signals (reset, sck, +# mosi, miso) are fixed and cannot be changed, since they must match +# the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of +# these FTDI ICs has been designed. + +programmer + id = "avrftdi"; + desc = "FT2232D based generic programmer"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbvendor = ""; + usbproduct = ""; + usbdev = "A"; + usbsn = ""; +#ISP-signals - lower ADBUS-Nibble (default) + reset = 3; + sck = 0; + mosi = 1; + miso = 2; +#LED SIGNALs - higher ADBUS-Nibble +# errled = 4; +# rdyled = 5; +# pgmled = 6; +# vfyled = 7; +#Buffer Signal - ACBUS - Nibble +# buff = 8; +; +# This is an implementation of the above with a buffer IC (74AC244) and +# 4 LEDs directly attached, all active low. +programmer + id = "2232HIO"; + desc = "FT2232H based generic programmer"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is reserved for generic H devices and +# should be programmed into the EEPROM +# usbpid = 0x8A48; + usbpid = 0x6010; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals + reset = 3; + sck = 0; + mosi = 1; + miso = 2; + buff = ~4; +#LED SIGNALs + errled = ~ 11; + rdyled = ~ 14; + pgmled = ~ 13; + vfyled = ~ 12; +; + +#The FT4232H can be treated as FT2232H, but it has a different USB +#device ID of 0x6011. +programmer parent "avrftdi" + id = "4232h"; + desc = "FT4232H based generic programmer"; + usbpid = 0x6011; +; + +programmer + id = "jtagkey"; + desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is used in all JTAGKey variants + usbpid = 0xCFF8; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals => 20 - Pin connector on JTAGKey + reset = 3; # TMS 7 violet + sck = 0; # TCK 9 white + mosi = 1; # TDI 5 green + miso = 2; # TDO 13 orange + buff = ~4; +# VTG VREF 1 brown with red tip +# GND GND 20 black +# The colors are on the 20 pin breakout cable +# from Amontec +; + +# UM232H module from FTDI and Glyn.com.au. +# See helix.air.net.au for detailed usage information. +# J1: Connect pin 2 and 3 for USB power. +# J2: Connect pin 2 and 3 for USB power. +# J2: Pin 7 is SCK +# : Pin 8 is MOSI +# : Pin 9 is MISO +# : Pin 11 is RST +# : Pin 6 is ground +# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get +# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. +programmer + id = "UM232H"; + desc = "FT232H based module from FTDI and Glyn.com.au"; + type = "avrftdi"; + usbvid = 0x0403; +# Note: This PID is reserved for generic 232H devices and +# should be programmed into the EEPROM + usbpid = 0x6014; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals + sck = 1; + mosi = 2; + miso = 3; + reset = 4; +; + +# C232HM module from FTDI and Glyn.com.au. +# : Orange is SCK +# : Yellow is MOSI +# : Green is MISO +# : Brown is RST +# : Black is ground +# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get +# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. +programmer + id = "C232HM"; + desc = "FT232H based module from FTDI and Glyn.com.au"; + type = "avrftdi"; + usbvid = 0x0403; +# Note: This PID is reserved for generic 232H devices and +# should be programmed into the EEPROM + usbpid = 0x6014; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals + sck = 1; + mosi = 2; + miso = 3; + reset = 4; +; + + +# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" +# You can find it as "OpenJTAG ARM JTAG USB" in the internet. +# (But there are also several projects called Open JTAG, eg. +# http://www.openjtag.org, which are completely different.) +# http://www.100ask.net/shop/english.html (website seems to be outdated) +# http://item.taobao.com/item.htm?id=1559277013 +# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) +# some other sources which call it O-Link +# http://www.andahammer.com/olink/ +# http://www.developmentboard.net/31-o-link-debugger.html +# http://armwerks.com/catalog/o-link-debugger-copy/ +# or just have a look at ebay ... +# It is basically the same entry as jtagkey with different usb ids. +programmer parent "jtagkey" + id = "o-link"; + desc = "O-Link, OpenJTAG from www.100ask.net"; + usbvid = 0x1457; + usbpid = 0x5118; + usbvendor = "www.100ask.net"; + usbproduct = "USB<=>JTAG&RS232"; +; + +# http://wiki.openmoko.org/wiki/Debug_Board_v3 +programmer + id = "openmoko"; + desc = "Openmoko debug board (v3)"; + type = "avrftdi"; + usbvid = 0x1457; + usbpid = 0x5118; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + mosi = 1; # TDI 5 + miso = 2; # TDO 13 +; + +# Only Rev. A boards. +# Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf +programmer + id = "lm3s811"; + desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbcd9; + usbvendor = "LMI"; + usbproduct = "LM3S811 Evaluation Board"; + usbdev = "A"; + usbsn = ""; +#ISP-signals - lower ACBUS-Nibble (default) + reset = 3; + sck = 0; + mosi = 1; + miso = 2; +# Enable correct buffers + buff = 7; +; + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = "stk500"; + connection_type = serial; +; + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP V2"; + type = "stk500v2"; + connection_type = serial; +; + +programmer + id = "avrispmkII"; + desc = "Atmel AVR ISP mkII"; + type = "stk500v2"; + connection_type = usb; +; + +programmer parent "avrispmkII" + id = "avrisp2"; +; + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = "buspirate"; + connection_type = serial; +; + +programmer + id = "buspirate_bb"; + desc = "The Bus Pirate (bitbang interface, supports TPI)"; + type = "buspirate_bb"; + connection_type = serial; + # pins are bits in bitbang byte (numbers are 87654321) + # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS + reset = 1; + sck = 3; + mosi = 4; + miso = 2; + #vcc = 7; This is internally set independent of this setting. +; + +# This is supposed to be the "default" STK500 entry. +# Attempts to select the correct firmware version +# by probing for it. Better use one of the entries +# below instead. +programmer + id = "stk500"; + desc = "Atmel STK500"; + type = "stk500generic"; + connection_type = serial; +; + +programmer + id = "stk500v1"; + desc = "Atmel STK500 Version 1.x firmware"; + type = "stk500"; + connection_type = serial; +; + +programmer + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = "stk500"; + connection_type = serial; +; + +programmer + id = "stk500v2"; + desc = "Atmel STK500 Version 2.x firmware"; + type = "stk500v2"; + connection_type = serial; +; + +programmer + id = "stk500pp"; + desc = "Atmel STK500 V2 in parallel programming mode"; + type = "stk500pp"; + connection_type = serial; +; + +programmer + id = "stk500hvsp"; + desc = "Atmel STK500 V2 in high-voltage serial programming mode"; + type = "stk500hvsp"; + connection_type = serial; +; + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = "stk600"; + connection_type = usb; +; + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = "stk600pp"; + connection_type = usb; +; + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = "stk600hvsp"; + connection_type = usb; +; + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = "avr910"; + connection_type = serial; +; + +programmer + id = "ft245r"; + desc = "FT245R Synchronous BitBang"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 1; # D1 + sck = 0; # D0 + mosi = 2; # D2 + reset = 4; # D4 +; + +programmer + id = "ft232r"; + desc = "FT232R Synchronous BitBang"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 1; # RxD + sck = 0; # TxD + mosi = 2; # RTS + reset = 4; # DTR +; + +# see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega +programmer + id = "bwmega"; + desc = "BitWizard ftdi_atmega builtin programmer"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 5; # DSR + sck = 6; # DCD + mosi = 3; # CTS + reset = 7; # RI +; + +# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html +# Note: pins are numbered from 1! +programmer + id = "arduino-ft232r"; + desc = "Arduino: FT232R connected to ISP"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 3; # CTS X3(1) + sck = 5; # DSR X3(2) + mosi = 6; # DCD X3(3) + reset = 7; # RI X3(4) +; + +# website mentioned above uses this id +programmer parent "arduino-ft232r" + id = "diecimila"; + desc = "alias for arduino-ft232r"; +; + +programmer + id = "usbasp"; + desc = "USBasp, http://www.fischl.de/usbasp/"; + type = "usbasp"; + connection_type = usb; + usbvid = 0x16C0; # VOTI + usbpid = 0x05DC; # Obdev's free shared PID + usbvendor = "www.fischl.de"; + usbproduct = "USBasp"; + + # following variants are autodetected for id "usbasp" + + # original usbasp from fischl.de + # see above "usbasp" + + # old usbasp from fischl.de + #usbvid = 0x03EB; # ATMEL + #usbpid = 0xC7B4; # (unoffical) USBasp + #usbvendor = "www.fischl.de"; + #usbproduct = "USBasp"; + + # NIBObee (only if -P nibobee is given on command line) + # see below "nibobee" +; + +programmer + id = "nibobee"; + desc = "NIBObee"; + type = "usbasp"; + connection_type = usb; + usbvid = 0x16C0; # VOTI + usbpid = 0x092F; # NIBObee PID + usbvendor = "www.nicai-systems.com"; + usbproduct = "NIBObee"; +; + +programmer + id = "usbasp-clone"; + desc = "Any usbasp clone with correct VID/PID"; + type = "usbasp"; + connection_type = usb; + usbvid = 0x16C0; # VOTI + usbpid = 0x05DC; # Obdev's free shared PID + #usbvendor = ""; + #usbproduct = ""; +; + +programmer + id = "usbtiny"; + desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + type = "usbtiny"; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; +; + +programmer + id = "butterfly"; + desc = "Atmel Butterfly Development Board"; + type = "butterfly"; + connection_type = serial; +; + +programmer + id = "avr109"; + desc = "Atmel AppNote AVR109 Boot Loader"; + type = "butterfly"; + connection_type = serial; +; + +programmer + id = "avr911"; + desc = "Atmel AppNote AVR911 AVROSP"; + type = "butterfly"; + connection_type = serial; +; + +# suggested in http://forum.mikrokopter.de/topic-post48317.html +programmer + id = "mkbutterfly"; + desc = "Mikrokopter.de Butterfly"; + type = "butterfly_mk"; + connection_type = serial; +; + +programmer parent "mkbutterfly" + id = "butterfly_mk"; +; + +programmer + id = "jtagmkI"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = "jtagmki"; + connection_type = serial; +; + +# easier to type +programmer parent "jtagmkI" + id = "jtag1"; +; + +# easier to type +programmer parent "jtag1" + id = "jtag1slow"; + baudrate = 19200; +; + +# The JTAG ICE mkII has both, serial and USB connectivity. As it is +# mostly used through USB these days (AVR Studio 5 only supporting it +# that way), we make connection_type = usb the default. Users are +# still free to use a serial port with the -P option. + +programmer + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = "jtagmkii"; + connection_type = usb; +; + +# easier to type +programmer parent "jtagmkII" + id = "jtag2slow"; +; + +# JTAG ICE mkII @ 115200 Bd +programmer parent "jtag2slow" + id = "jtag2fast"; + baudrate = 115200; +; + +# make the fast one the default, people will love that +programmer parent "jtag2fast" + id = "jtag2"; +; + +# JTAG ICE mkII in ISP mode +programmer + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + baudrate = 115200; + type = "jtagmkii_isp"; + connection_type = usb; +; + +# JTAG ICE mkII in debugWire mode +programmer + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + baudrate = 115200; + type = "jtagmkii_dw"; + connection_type = usb; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtagmkII_avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = "jtagmkii_avr32"; + connection_type = usb; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtag2avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = "jtagmkii_avr32"; + connection_type = usb; +; + +# JTAG ICE mkII in PDI mode +programmer + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII PDI mode"; + baudrate = 115200; + type = "jtagmkii_pdi"; + connection_type = usb; +; + +# AVR Dragon in JTAG mode +programmer + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + baudrate = 115200; + type = "dragon_jtag"; + connection_type = usb; +; + +# AVR Dragon in ISP mode +programmer + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + baudrate = 115200; + type = "dragon_isp"; + connection_type = usb; +; + +# AVR Dragon in PP mode +programmer + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + baudrate = 115200; + type = "dragon_pp"; + connection_type = usb; +; + +# AVR Dragon in HVSP mode +programmer + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + baudrate = 115200; + type = "dragon_hvsp"; + connection_type = usb; +; + +# AVR Dragon in debugWire mode +programmer + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + baudrate = 115200; + type = "dragon_dw"; + connection_type = usb; +; + +# AVR Dragon in PDI mode +programmer + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + baudrate = 115200; + type = "dragon_pdi"; + connection_type = usb; +; + +programmer + id = "jtag3"; + desc = "Atmel AVR JTAGICE3 in JTAG mode"; + type = "jtagice3"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "jtag3pdi"; + desc = "Atmel AVR JTAGICE3 in PDI mode"; + type = "jtagice3_pdi"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "jtag3dw"; + desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; + type = "jtagice3_dw"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "jtag3isp"; + desc = "Atmel AVR JTAGICE3 in ISP mode"; + type = "jtagice3_isp"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "xplainedpro"; + desc = "Atmel AVR XplainedPro in JTAG mode"; + type = "jtagice3"; + connection_type = usb; + usbpid = 0x2111; +; + +programmer + id = "atmelice"; + desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + connection_type = usb; + usbpid = 0x2141; +; + +programmer + id = "atmelice_pdi"; + desc = "Atmel-ICE (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + connection_type = usb; + usbpid = 0x2141; +; + +programmer + id = "atmelice_dw"; + desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; + type = "jtagice3_dw"; + connection_type = usb; + usbpid = 0x2141; +; + +programmer + id = "atmelice_isp"; + desc = "Atmel-ICE (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + connection_type = usb; + usbpid = 0x2141; +; + + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = "avr910"; + connection_type = serial; +; + +programmer + id = "pickit2"; + desc = "MicroChip's PICkit2 Programmer"; + type = "pickit2"; + connection_type = usb; +; + +programmer + id = "flip1"; + desc = "FLIP USB DFU protocol version 1 (doc7618)"; + type = "flip1"; + connection_type = usb; +; + +programmer + id = "flip2"; + desc = "FLIP USB DFU protocol version 2 (AVR4023)"; + type = "flip2"; + connection_type = usb; +; + + +#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface +# +#To enable it set the configuration below to match the GPIO lines connected to the +#relevant ISP header pins and uncomment the entry definition. In case you don't +#have the required permissions to edit this system wide config file put the +#entry in a separate .conf file and use it with -C+.conf +#on the command line. +# +#To check if your avrdude build has support for the linuxgpio programmer compiled in, +#use -c?type on the command line and look for linuxgpio in the list. If it's not available +#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. +# +programmer + id = "linuxgpio"; + desc = "Use the Linux sysfs interface to bitbang GPIO lines"; + type = "linuxgpio"; + reset = 22; + sck = 27; + mosi = 24; + miso = 17; +; + +# some ultra cheap programmers use bitbanging on the +# serialport. +# +# PC - DB9 - Pins for RS232: +# +# GND 5 -- |O +# | O| <- 9 RI +# DTR 4 <- |O | +# | O| <- 8 CTS +# TXD 3 <- |O | +# | O| -> 7 RTS +# RXD 2 -> |O | +# | O| <- 6 DSR +# DCD 1 -> |O +# +# Using RXD is currently not supported. +# Using RI is not supported under Win32 but is supported under Posix. + +# serial ponyprog design (dasa2 in uisp) +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; + type = "serbb"; + connection_type = serial; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# Same as above, different name +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer parent "ponyser" + id = "siprog"; + desc = "Lancos SI-Prog "; +; + +# unknown (dasa in uisp) +# reset=rts sck=dtr mosi=txd miso=cts + +programmer + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; + type = "serbb"; + connection_type = serial; + reset = 7; + sck = 4; + mosi = 3; + miso = 8; +; + +# unknown (dasa3 in uisp) +# reset=!dtr sck=rts mosi=txd miso=cts + +programmer + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; + type = "serbb"; + connection_type = serial; + reset = ~4; + sck = 7; + mosi = 3; + miso = 8; +; + +# C2N232i (jumper configuration "auto") +# reset=dtr sck=!rts mosi=!txd miso=!cts + +programmer + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; + type = "serbb"; + connection_type = serial; + reset = 4; + sck = ~7; + mosi = ~3; + miso = ~8; +; + +# +# PART DEFINITIONS +# + +#------------------------------------------------------------ +# ATtiny11 +#------------------------------------------------------------ + +# This is an HVSP-only device. + +part + id = "t11"; + desc = "ATtiny11"; + stk500_devcode = 0x11; + signature = 0x1e 0x90 0x04; + chip_erase_delay = 20000; + + timeout = 200; + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + blocksize = 64; + readsize = 256; + delay = 5; + ; + + memory "flash" + size = 1024; + blocksize = 128; + readsize = 256; + delay = 3; + ; + + memory "signature" + size = 3; + ; + + memory "lock" + size = 1; + ; + + memory "calibration" + size = 1; + ; + + memory "fuse" + size = 1; + ; +; + +#------------------------------------------------------------ +# ATtiny12 +#------------------------------------------------------------ + +part + id = "t12"; + desc = "ATtiny12"; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + signature = 0x1e 0x90 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 8; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATtiny13 +#------------------------------------------------------------ + +part + id = "t13"; + desc = "ATtiny13"; + has_debugwire = yes; + flash_instr = 0xB4, 0x0E, 0x1E; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; + signature = 0x1e 0x90 0x07; + chip_erase_delay = 4000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 90; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 0; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny15 +#------------------------------------------------------------ + +part + id = "t15"; + desc = "ATtiny15"; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + signature = 0x1e 0x90 0x06; + chip_erase_delay = 8200; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 5; + synchcycles = 6; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o x x o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i 1 1 i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# AT90s1200 +#------------------------------------------------------------ + +part + id = "1200"; + desc = "AT90S1200"; + is_at90s1200 = yes; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + signature = 0x1e 0x90 0x01; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + bytedelay = 0; + pollindex = 0; + pollvalue = 0xFF; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + ; + memory "flash" + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4414 +#------------------------------------------------------------ + +part + id = "4414"; + desc = "AT90S4414"; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + signature = 0x1e 0x92 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2313 +#------------------------------------------------------------ + +part + id = "2313"; + desc = "AT90S2313"; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2333 +#------------------------------------------------------------ + +part + id = "2333"; +##### WARNING: No XML file for device 'AT90S2333'! ##### + desc = "AT90S2333"; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + signature = 0x1e 0x91 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s2343 (also AT90s2323 and ATtiny22) +#------------------------------------------------------------ + +part + id = "2343"; + desc = "AT90S2343"; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + signature = 0x1e 0x91 0x03; + chip_erase_delay = 18000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 0; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s4433 +#------------------------------------------------------------ + +part + id = "4433"; + desc = "AT90S4433"; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4434 +#------------------------------------------------------------ + +part + id = "4434"; +##### WARNING: No XML file for device 'AT90S4434'! ##### + desc = "AT90S4434"; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s8515 +#------------------------------------------------------------ + +part + id = "8515"; + desc = "AT90S8515"; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + signature = 0x1e 0x93 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s8535 +#------------------------------------------------------------ + +part + id = "8535"; + desc = "AT90S8535"; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + signature = 0x1e 0x93 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x x o"; + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o x x x x x x"; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# ATmega103 +#------------------------------------------------------------ + +part + id = "m103"; + desc = "ATmega103"; + stk500_devcode = 0xB1; + avr910_devcode = 0x41; + signature = 0x1e 0x97 0x01; + chip_erase_delay = 112000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, + 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, + 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, + 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 10; + + memory "eeprom" + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o x o 1 o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega64 +#------------------------------------------------------------ + +part + id = "m64"; + desc = "ATmega64"; + has_jtag = yes; + stk500_devcode = 0xA0; + avr910_devcode = 0x45; + signature = 0x1e 0x96 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + allowfullpagebitstream = yes; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega128 +#------------------------------------------------------------ + +part + id = "m128"; + desc = "ATmega128"; + has_jtag = yes; + stk500_devcode = 0xB2; + avr910_devcode = 0x43; + signature = 0x1e 0x97 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + rampz = 0x3b; + allowfullpagebitstream = yes; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN128 +#------------------------------------------------------------ + +part + id = "c128"; + desc = "AT90CAN128"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN64 +#------------------------------------------------------------ + +part + id = "c64"; + desc = "AT90CAN64"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN32 +#------------------------------------------------------------ + +part + id = "c32"; + desc = "AT90CAN32"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega16 +#------------------------------------------------------------ + +part + id = "m16"; + desc = "ATmega16"; + has_jtag = yes; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x03; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 100; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "calibration" + size = 4; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ + +# close to ATmega16 + +part parent "m16" + id = "m164p"; + desc = "ATmega164P"; + signature = 0x1e 0x94 0x0a; + + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + allowfullpagebitstream = no; + chip_erase_delay = 55000; + + ocdrev = 3; + ; + + +#------------------------------------------------------------ +# ATmega324P +#------------------------------------------------------------ + +# similar to ATmega164P + +part + id = "m324p"; + desc = "ATmega324P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x95 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega324PA +#------------------------------------------------------------ + +# similar to ATmega324P + +part parent "m324p" + id = "m324pa"; + desc = "ATmega324PA"; + signature = 0x1e 0x95 0x11; + + ocdrev = 3; + ; + + +#------------------------------------------------------------ +# ATmega644 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m644"; + desc = "ATmega644"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x09; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega644P +#------------------------------------------------------------ + +# similar to ATmega164p + +part parent "m644" + id = "m644p"; + desc = "ATmega644P"; + signature = 0x1e 0x96 0x0a; + + ocdrev = 3; + ; + + + +#------------------------------------------------------------ +# ATmega1284 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m1284"; + desc = "ATmega1284"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x06; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega1284P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m1284p"; + desc = "ATmega1284P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x05; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega162 +#------------------------------------------------------------ + +part + id = "m162"; + desc = "ATmega162"; + has_jtag = yes; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + signature = 0x1e 0x94 0x04; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + + idr = 0x04; + spmcr = 0x57; + allowfullpagebitstream = yes; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + ocdrev = 2; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + + ; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; +; + + + +#------------------------------------------------------------ +# ATmega163 +#------------------------------------------------------------ + +part + id = "m163"; + desc = "ATmega163"; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + signature = 0x1e 0x94 0x02; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o x x o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i 1 1 i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x 1 o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x 0 x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega169 +#------------------------------------------------------------ + +part + id = "m169"; + desc = "ATmega169"; + has_jtag = yes; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + signature = 0x1e 0x94 0x05; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329 +#------------------------------------------------------------ + +part + id = "m329"; + desc = "ATmega329"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329P +#------------------------------------------------------------ +# Identical to ATmega329 except of the signature + +part parent "m329" + id = "m329p"; + desc = "ATmega329P"; + signature = 0x1e 0x95 0x0b; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega3290 +#------------------------------------------------------------ + +# identical to ATmega329 + +part parent "m329" + id = "m3290"; + desc = "ATmega3290"; + signature = 0x1e 0x95 0x04; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega3290P +#------------------------------------------------------------ + +# identical to ATmega3290 except of the signature + +part parent "m3290" + id = "m3290p"; + desc = "ATmega3290P"; + signature = 0x1e 0x95 0x0c; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega649 +#------------------------------------------------------------ + +part + id = "m649"; + desc = "ATmega649"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6490 +#------------------------------------------------------------ + +# identical to ATmega649 + +part parent "m649" + id = "m6490"; + desc = "ATmega6490"; + signature = 0x1e 0x96 0x04; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega32 +#------------------------------------------------------------ + +part + id = "m32"; + desc = "ATmega32"; + has_jtag = yes; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + signature = 0x1e 0x95 0x02; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega161 +#------------------------------------------------------------ + +part + id = "m161"; + desc = "ATmega161"; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + signature = 0x1e 0x94 0x01; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + ; + + memory "fuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x o x o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x 1 i 1 i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega8 +#------------------------------------------------------------ + +part + id = "m8"; + desc = "ATmega8"; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + signature = 0x1e 0x93 0x07; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 10000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega8515 +#------------------------------------------------------------ + +part + id = "m8515"; + desc = "ATmega8515"; + stk500_devcode = 0x63; + avr910_devcode = 0x3A; + signature = 0x1e 0x93 0x06; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega8535 +#------------------------------------------------------------ + +part + id = "m8535"; + desc = "ATmega8535"; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + signature = 0x1e 0x93 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATtiny26 +#------------------------------------------------------------ + +part + id = "t26"; + desc = "ATtiny26"; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x09; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 16; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x x x x i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny261 +#------------------------------------------------------------ +# Close to ATtiny26 + +part + id = "t261"; + desc = "ATtiny261"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny461 +#------------------------------------------------------------ +# Close to ATtiny261 + +part + id = "t461"; + desc = "ATtiny461"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny861 +#------------------------------------------------------------ +# Close to ATtiny461 + +part + id = "t861"; + desc = "ATtiny861"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + size = 512; + num_pages = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATmega48 +#------------------------------------------------------------ + +part + id = "m48"; + desc = "ATmega48"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x59; +# avr910_devcode = 0x; + signature = 0x1e 0x92 0x05; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 45000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega48P +#------------------------------------------------------------ + +part parent "m48" + id = "m48p"; + desc = "ATmega48P"; + signature = 0x1e 0x92 0x0a; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# ATmega88 +#------------------------------------------------------------ + +part + id = "m88"; + desc = "ATmega88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x0a; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega88P +#------------------------------------------------------------ + +part parent "m88" + id = "m88p"; + desc = "ATmega88P"; + signature = 0x1e 0x93 0x0f; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# ATmega168 +#------------------------------------------------------------ + +part + id = "m168"; + desc = "ATmega168"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x06; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATmega168P +#------------------------------------------------------------ + +part parent "m168" + id = "m168p"; + desc = "ATmega168P"; + signature = 0x1e 0x94 0x0b; + + ocdrev = 1; +; + +#------------------------------------------------------------ +# ATtiny88 +#------------------------------------------------------------ + +part + id = "t88"; + desc = "ATtiny88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x11; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 64; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 64; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega328 +#------------------------------------------------------------ + +part + id = "m328"; + desc = "ATmega328"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x95 0x14; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 1024; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x x o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +part parent "m328" + id = "m328p"; + desc = "ATmega328P"; + signature = 0x1e 0x95 0x0F; + + ocdrev = 1; +; + +#------------------------------------------------------------ +# ATtiny2313 +#------------------------------------------------------------ + +part + id = "t2313"; + desc = "ATtiny2313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0a; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 0; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +# The Tiny2313 has calibration data for both 4 MHz and 8 MHz. +# The information in the data sheet of April/2004 is wrong, this works: + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny4313 +#------------------------------------------------------------ + +part + id = "t4313"; + desc = "ATtiny4313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x0d; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 0; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2 +#------------------------------------------------------------ + +part + id = "pwm2"; + desc = "AT90PWM2"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3 +#------------------------------------------------------------ + +# Completely identical to AT90PWM2 (including the signature!) + +part parent "pwm2" + id = "pwm3"; + desc = "AT90PWM3"; + ; + +#------------------------------------------------------------ +# AT90PWM2B +#------------------------------------------------------------ +# Same as AT90PWM2 but different signature. + +part parent "pwm2" + id = "pwm2b"; + desc = "AT90PWM2B"; + signature = 0x1e 0x93 0x83; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# AT90PWM3B +#------------------------------------------------------------ + +# Completely identical to AT90PWM2B (including the signature!) + +part parent "pwm2b" + id = "pwm3b"; + desc = "AT90PWM3B"; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# AT90PWM316 +#------------------------------------------------------------ + +# Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. + +part parent "pwm3b" + id = "pwm316"; + desc = "AT90PWM316"; + signature = 0x1e 0x94 0x83; + + ocdrev = 1; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + ; + +#------------------------------------------------------------ +# ATtiny25 +#------------------------------------------------------------ + +part + id = "t25"; + desc = "ATtiny25"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x08; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny45 +#------------------------------------------------------------ + +part + id = "t45"; + desc = "ATtiny45"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x06; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny85 +#------------------------------------------------------------ + +part + id = "t85"; + desc = "ATtiny85"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega640 +#------------------------------------------------------------ +# Almost same as ATmega1280, except for different memory sizes + +part + id = "m640"; + desc = "ATmega640"; + signature = 0x1e 0x96 0x08; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1280 +#------------------------------------------------------------ + +part + id = "m1280"; + desc = "ATmega1280"; + signature = 0x1e 0x97 0x03; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1281 +#------------------------------------------------------------ +# Identical to ATmega1280 + +part parent "m1280" + id = "m1281"; + desc = "ATmega1281"; + signature = 0x1e 0x97 0x04; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega2560 +#------------------------------------------------------------ + +part + id = "m2560"; + desc = "ATmega2560"; + signature = 0x1e 0x98 0x01; + has_jtag = yes; + stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 4; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2561 +#------------------------------------------------------------ + +part parent "m2560" + id = "m2561"; + desc = "ATmega2561"; + signature = 0x1e 0x98 0x02; + + ocdrev = 4; + ; + +#------------------------------------------------------------ +# ATmega128RFA1 +#------------------------------------------------------------ +# Identical to ATmega2561 but half the ROM + +part parent "m2561" + id = "m128rfa1"; + desc = "ATmega128RFA1"; + signature = 0x1e 0xa7 0x01; + chip_erase_delay = 55000; + bs2 = 0xE2; + + ocdrev = 3; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 50000; + max_write_delay = 50000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 256; + readsize = 256; + ; + ; + +#------------------------------------------------------------ +# ATmega256RFR2 +#------------------------------------------------------------ + +part parent "m2561" + id = "m256rfr2"; + desc = "ATmega256RFR2"; + signature = 0x1e 0xa8 0x02; + chip_erase_delay = 18500; + bs2 = 0xE2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 8192; + min_write_delay = 13000; + max_write_delay = 13000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + + ocdrev = 4; + ; + +#------------------------------------------------------------ +# ATmega128RFR2 +#------------------------------------------------------------ + +part parent "m128rfa1" + id = "m128rfr2"; + desc = "ATmega128RFR2"; + signature = 0x1e 0xa7 0x02; + + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega64RFR2 +#------------------------------------------------------------ + +part parent "m128rfa1" + id = "m64rfr2"; + desc = "ATmega64RFR2"; + signature = 0x1e 0xa6 0x02; + + + ocdrev = 3; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 50000; + max_write_delay = 50000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 256; + readsize = 256; + ; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 13000; + max_write_delay = 13000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + + ; + +#------------------------------------------------------------ +# ATmega2564RFR2 +#------------------------------------------------------------ + +part parent "m256rfr2" + id = "m2564rfr2"; + desc = "ATmega2564RFR2"; + signature = 0x1e 0xa8 0x03; + ; + +#------------------------------------------------------------ +# ATmega1284RFR2 +#------------------------------------------------------------ + +part parent "m128rfr2" + id = "m1284rfr2"; + desc = "ATmega1284RFR2"; + signature = 0x1e 0xa7 0x03; + ; + +#------------------------------------------------------------ +# ATmega644RFR2 +#------------------------------------------------------------ + +part parent "m64rfr2" + id = "m644rfr2"; + desc = "ATmega644RFR2"; + signature = 0x1e 0xa6 0x03; + ; + +#------------------------------------------------------------ +# ATtiny24 +#------------------------------------------------------------ + +part + id = "t24"; + desc = "ATtiny24"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny44 +#------------------------------------------------------------ + +part + id = "t44"; + desc = "ATtiny44"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x07; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny84 +#------------------------------------------------------------ + +part + id = "t84"; + desc = "ATtiny84"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0c; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny43U +#------------------------------------------------------------ + +part + id = "t43u"; + desc = "ATtiny43u"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x0C; + reset = io; + chip_erase_delay = 1000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, + 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, + 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + memory "eeprom" + size = 64; + paged = yes; + page_size = 4; + num_pages = 16; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " 0 0 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATmega32u4 +#------------------------------------------------------------ + +part + id = "m32u4"; + desc = "ATmega32U4"; + signature = 0x1e 0x95 0x87; + usbpid = 0x2ff4; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB646 +#------------------------------------------------------------ + +part + id = "usb646"; + desc = "AT90USB646"; + signature = 0x1e 0x96 0x82; + usbpid = 0x2ff9; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB647 +#------------------------------------------------------------ +# identical to AT90USB646 + +part parent "usb646" + id = "usb647"; + desc = "AT90USB647"; + signature = 0x1e 0x96 0x82; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# AT90USB1286 +#------------------------------------------------------------ + +part + id = "usb1286"; + desc = "AT90USB1286"; + signature = 0x1e 0x97 0x82; + usbpid = 0x2ffb; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1287 +#------------------------------------------------------------ +# identical to AT90USB1286 + +part parent "usb1286" + id = "usb1287"; + desc = "AT90USB1287"; + signature = 0x1e 0x97 0x82; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# AT90USB162 +#------------------------------------------------------------ + +part + id = "usb162"; + desc = "AT90USB162"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x82; + usbpid = 0x2ffa; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB82 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 8192; +# num_pages = 64; + +part + id = "usb82"; + desc = "AT90USB82"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x82; + usbpid = 0x2ff7; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32U2 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 32768; +# num_pages = 256; +# memory "eeprom" +# size = 1024; +# num_pages = 256; +part + id = "m32u2"; + desc = "ATmega32U2"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x95 0x8a; + usbpid = 0x2ff0; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + num_pages = 256; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; +#------------------------------------------------------------ +# ATmega16U2 +#------------------------------------------------------------ +# Changes against ATmega32U2 (beside IDs) +# memory "flash" +# size = 16384; +# num_pages = 128; +# memory "eeprom" +# size = 512; +# num_pages = 128; +part + id = "m16u2"; + desc = "ATmega16U2"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x89; + usbpid = 0x2fef; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega8U2 +#------------------------------------------------------------ +# Changes against ATmega16U2 (beside IDs) +# memory "flash" +# size = 8192; +# page_size = 64; +# blocksize = 64; + +part + id = "m8u2"; + desc = "ATmega8U2"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x89; + usbpid = 0x2fee; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; +#------------------------------------------------------------ +# ATmega325 +#------------------------------------------------------------ + +part + id = "m325"; + desc = "ATmega325"; + signature = 0x1e 0x95 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega645 +#------------------------------------------------------------ + +part + id = "m645"; + desc = "ATmega645"; + signature = 0x1E 0x96 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3250 +#------------------------------------------------------------ + +part parent "m325" + id = "m3250"; + desc = "ATmega3250"; + signature = 0x1E 0x95 0x06; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega6450 +#------------------------------------------------------------ + +part parent "m645" + id = "m6450"; + desc = "ATmega6450"; + signature = 0x1E 0x96 0x06; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# AVR XMEGA family common values +#------------------------------------------------------------ + +part + id = ".xmega"; + desc = "AVR XMEGA family common values"; + has_pdi = yes; + nvm_base = 0x01c0; + mcu_base = 0x0090; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "prodsig" + size = 0x32; + offset = 0x8e0200; + page_size = 0x32; + readsize = 0x32; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# ATxmega16A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x16a4u"; + desc = "ATxmega16A4U"; + signature = 0x1e 0x94 0x41; + usbpid = 0x2fe3; + + memory "eeprom" + size = 0x400; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x4000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x803000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x804000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x5000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega16C4 +#------------------------------------------------------------ + +part parent "x16a4u" + id = "x16c4"; + desc = "ATxmega16C4"; + signature = 0x1e 0x95 0x44; +; + +#------------------------------------------------------------ +# ATxmega16D4 +#------------------------------------------------------------ + +part parent "x16a4u" + id = "x16d4"; + desc = "ATxmega16D4"; + signature = 0x1e 0x94 0x42; +; + +#------------------------------------------------------------ +# ATxmega16A4 +#------------------------------------------------------------ + +part parent "x16a4u" + id = "x16a4"; + desc = "ATxmega16A4"; + signature = 0x1e 0x94 0x41; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega32A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x32a4u"; + desc = "ATxmega32A4U"; + signature = 0x1e 0x95 0x41; + usbpid = 0x2fe4; + + memory "eeprom" + size = 0x400; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x8000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x807000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x808000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x9000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega32C4 +#------------------------------------------------------------ + +part parent "x32a4u" + id = "x32c4"; + desc = "ATxmega32C4"; + signature = 0x1e 0x94 0x43; +; + +#------------------------------------------------------------ +# ATxmega32D4 +#------------------------------------------------------------ + +part parent "x32a4u" + id = "x32d4"; + desc = "ATxmega32D4"; + signature = 0x1e 0x95 0x42; +; + +#------------------------------------------------------------ +# ATxmega32A4 +#------------------------------------------------------------ + +part parent "x32a4u" + id = "x32a4"; + desc = "ATxmega32A4"; + signature = 0x1e 0x95 0x41; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega64A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x64a4u"; + desc = "ATxmega64A4U"; + signature = 0x1e 0x96 0x46; + usbpid = 0x2fe5; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x10000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x80f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x11000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega64C3 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64c3"; + desc = "ATxmega64C3"; + signature = 0x1e 0x96 0x49; + usbpid = 0x2fd6; +; + +#------------------------------------------------------------ +# ATxmega64D3 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64d3"; + desc = "ATxmega64D3"; + signature = 0x1e 0x96 0x4a; +; + +#------------------------------------------------------------ +# ATxmega64D4 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64d4"; + desc = "ATxmega64D4"; + signature = 0x1e 0x96 0x47; +; + +#------------------------------------------------------------ +# ATxmega64A1 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64a1"; + desc = "ATxmega64A1"; + signature = 0x1e 0x96 0x4e; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega64A1U +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a1u"; + desc = "ATxmega64A1U"; + signature = 0x1e 0x96 0x4e; + usbpid = 0x2fe8; +; + +#------------------------------------------------------------ +# ATxmega64A3 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a3"; + desc = "ATxmega64A3"; + signature = 0x1e 0x96 0x42; +; + +#------------------------------------------------------------ +# ATxmega64A3U +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a3u"; + desc = "ATxmega64A3U"; + signature = 0x1e 0x96 0x42; + usbpid = 0x2fe5; +; + +#------------------------------------------------------------ +# ATxmega64A4 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a4"; + desc = "ATxmega64A4"; + signature = 0x1e 0x96 0x46; +; + +#------------------------------------------------------------ +# ATxmega64B1 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64b1"; + desc = "ATxmega64B1"; + signature = 0x1e 0x96 0x52; + usbpid = 0x2fe1; +; + +#------------------------------------------------------------ +# ATxmega64B3 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64b3"; + desc = "ATxmega64B3"; + signature = 0x1e 0x96 0x51; + usbpid = 0x2fdf; +; + +#------------------------------------------------------------ +# ATxmega128C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128c3"; + desc = "ATxmega128C3"; + signature = 0x1e 0x97 0x52; + usbpid = 0x2fd7; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x81e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega128D3 +#------------------------------------------------------------ + +part parent "x128c3" + id = "x128d3"; + desc = "ATxmega128D3"; + signature = 0x1e 0x97 0x48; +; + +#------------------------------------------------------------ +# ATxmega128D4 +#------------------------------------------------------------ + +part parent "x128c3" + id = "x128d4"; + desc = "ATxmega128D4"; + signature = 0x1e 0x97 0x47; +; + +#------------------------------------------------------------ +# ATxmega128A1 +#------------------------------------------------------------ + +part parent "x128c3" + id = "x128a1"; + desc = "ATxmega128A1"; + signature = 0x1e 0x97 0x4c; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega128A1 revision D +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a1d"; + desc = "ATxmega128A1revD"; + signature = 0x1e 0x97 0x41; +; + +#------------------------------------------------------------ +# ATxmega128A1U +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a1u"; + desc = "ATxmega128A1U"; + signature = 0x1e 0x97 0x4c; + usbpid = 0x2fed; +; + +#------------------------------------------------------------ +# ATxmega128A3 +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a3"; + desc = "ATxmega128A3"; + signature = 0x1e 0x97 0x42; +; + +#------------------------------------------------------------ +# ATxmega128A3U +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a3u"; + desc = "ATxmega128A3U"; + signature = 0x1e 0x97 0x42; + usbpid = 0x2fe6; +; + +#------------------------------------------------------------ +# ATxmega128A4 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128a4"; + desc = "ATxmega128A4"; + signature = 0x1e 0x97 0x46; + has_jtag = yes; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x81f000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega128A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128a4u"; + desc = "ATxmega128A4U"; + signature = 0x1e 0x97 0x46; + usbpid = 0x2fde; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x81f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega128B1 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128b1"; + desc = "ATxmega128B1"; + signature = 0x1e 0x97 0x4d; + usbpid = 0x2fea; + has_jtag = yes; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x81e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega128B3 +#------------------------------------------------------------ + +part parent "x128b1" + id = "x128b3"; + desc = "ATxmega128B3"; + signature = 0x1e 0x97 0x4b; + usbpid = 0x2fe0; +; + +#------------------------------------------------------------ +# ATxmega192C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x192c3"; + desc = "ATxmega192C3"; + signature = 0x1e 0x97 0x51; + # usbpid = 0x2f??; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x30000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x82e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x830000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x32000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega192D3 +#------------------------------------------------------------ + +part parent "x192c3" + id = "x192d3"; + desc = "ATxmega192D3"; + signature = 0x1e 0x97 0x49; +; + +#------------------------------------------------------------ +# ATxmega192A1 +#------------------------------------------------------------ + +part parent "x192c3" + id = "x192a1"; + desc = "ATxmega192A1"; + signature = 0x1e 0x97 0x4e; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega192A3 +#------------------------------------------------------------ + +part parent "x192a1" + id = "x192a3"; + desc = "ATxmega192A3"; + signature = 0x1e 0x97 0x44; +; + +#------------------------------------------------------------ +# ATxmega192A3U +#------------------------------------------------------------ + +part parent "x192a1" + id = "x192a3u"; + desc = "ATxmega192A3U"; + signature = 0x1e 0x97 0x44; + usbpid = 0x2fe7; +; + +#------------------------------------------------------------ +# ATxmega256C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x256c3"; + desc = "ATxmega256C3"; + signature = 0x1e 0x98 0x46; + usbpid = 0x2fda; + + memory "eeprom" + size = 0x1000; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x40000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x83e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x840000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x42000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega256D3 +#------------------------------------------------------------ + +part parent "x256c3" + id = "x256d3"; + desc = "ATxmega256D3"; + signature = 0x1e 0x98 0x44; +; + +#------------------------------------------------------------ +# ATxmega256A1 +#------------------------------------------------------------ + +part parent "x256c3" + id = "x256a1"; + desc = "ATxmega256A1"; + signature = 0x1e 0x98 0x46; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega256A3 +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3"; + desc = "ATxmega256A3"; + signature = 0x1e 0x98 0x42; +; + +#------------------------------------------------------------ +# ATxmega256A3U +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3u"; + desc = "ATxmega256A3U"; + signature = 0x1e 0x98 0x42; + usbpid = 0x2fec; +; + +#------------------------------------------------------------ +# ATxmega256A3B +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3b"; + desc = "ATxmega256A3B"; + signature = 0x1e 0x98 0x43; +; + +#------------------------------------------------------------ +# ATxmega256A3BU +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3bu"; + desc = "ATxmega256A3BU"; + signature = 0x1e 0x98 0x43; + usbpid = 0x2fe2; +; + +#------------------------------------------------------------ +# ATxmega384C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x384c3"; + desc = "ATxmega384C3"; + signature = 0x1e 0x98 0x45; + usbpid = 0x2fdb; + + memory "eeprom" + size = 0x1000; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x60000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x85e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x860000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x62000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega384D3 +#------------------------------------------------------------ + +part parent "x384c3" + id = "x384d3"; + desc = "ATxmega384D3"; + signature = 0x1e 0x98 0x47; +; + +#------------------------------------------------------------ +# ATxmega8E5 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x8e5"; + desc = "ATxmega8E5"; + signature = 0x1e 0x93 0x41; + + memory "eeprom" + size = 0x0200; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x2000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "apptable" + size = 0x800; + offset = 0x00801800; + page_size = 0x80; + readsize = 0x100; + ; + + memory "boot" + size = 0x800; + offset = 0x00802000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "flash" + size = 0x2800; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "usersig" + size = 0x80; + offset = 0x8e0400; + page_size = 0x80; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega16E5 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x16e5"; + desc = "ATxmega16E5"; + signature = 0x1e 0x94 0x45; + + memory "eeprom" + size = 0x0200; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x4000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x00803000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x00804000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "flash" + size = 0x5000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "usersig" + size = 0x80; + offset = 0x8e0400; + page_size = 0x80; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega32E5 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x32e5"; + desc = "ATxmega32E5"; + signature = 0x1e 0x95 0x4c; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x8000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x00807000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x00808000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "flash" + size = 0x9000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "usersig" + size = 0x80; + offset = 0x8e0400; + page_size = 0x80; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# AVR32UC3A0512 +#------------------------------------------------------------ + +part + id = "uc3a0512"; + desc = "AT32UC3A0512"; + signature = 0xED 0xC0 0x3F; + has_jtag = yes; + is_avr32 = yes; + + memory "flash" + paged = yes; + page_size = 512; # bytes + readsize = 512; # bytes + num_pages = 1024; # could be set dynamicly + size = 0x00080000; # could be set dynamicly + offset = 0x80000000; + ; +; + +part parent "uc3a0512" + id = "ucr2"; + desc = "deprecated, use 'uc3a0512'"; +; + +#------------------------------------------------------------ +# ATtiny1634. +#------------------------------------------------------------ + +part + id = "t1634"; + desc = "ATtiny1634"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x12; + pagel = 0xB3; + bs2 = 0xB1; + reset = io; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 32; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 1 1 1 1 i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# Common values for reduced core tinys (4/5/9/10/20/40) +#------------------------------------------------------------ + +part + id = ".reduced_core_tiny"; + desc = "Common values for reduced core tinys"; + has_tpi = yes; + + memory "signature" + size = 3; + offset = 0x3fc0; + page_size = 16; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + page_size = 16; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + page_size = 16; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + page_size = 16; + ; +; + +#------------------------------------------------------------ +# ATtiny4 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t4"; + desc = "ATtiny4"; + signature = 0x1e 0x8f 0x0a; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATtiny5 +#------------------------------------------------------------ + +part parent "t4" + id = "t5"; + desc = "ATtiny5"; + signature = 0x1e 0x8f 0x09; +; + +#------------------------------------------------------------ +# ATtiny9 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t9"; + desc = "ATtiny9"; + signature = 0x1e 0x90 0x08; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATtiny10 +#------------------------------------------------------------ + +part parent "t9" + id = "t10"; + desc = "ATtiny10"; + signature = 0x1e 0x90 0x03; +; + +#------------------------------------------------------------ +# ATtiny20 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t20"; + desc = "ATtiny20"; + signature = 0x1e 0x91 0x0F; + + memory "flash" + size = 2048; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATtiny40 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t40"; + desc = "ATtiny40"; + signature = 0x1e 0x92 0x0E; + + memory "flash" + size = 4096; + offset = 0x4000; + page_size = 64; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATmega406 +#------------------------------------------------------------ + +part + id = "m406"; + desc = "ATMEGA406"; + has_jtag = yes; + signature = 0x1e 0x95 0x07; + + # STK500 parameters (parallel programming IO lines) + pagel = 0xa7; + bs2 = 0xa0; + serial = no; + parallel = yes; + + # STK500v2 HV programming parameters, from XML + pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + + # JTAG ICE mkII parameters, also from XML files + allowfullpagebitstream = no; + enablepageprogramming = yes; + idr = 0x51; + rampz = 0x00; + spmcr = 0x57; + eecr = 0x3f; + + memory "eeprom" + paged = no; + size = 512; + page_size = 4; + blocksize = 4; + readsize = 4; + num_pages = 128; + ; + + memory "flash" + paged = yes; + size = 40960; + page_size = 128; + blocksize = 128; + readsize = 128; + num_pages = 320; + ; + + memory "hfuse" + size = 1; + ; + + memory "lfuse" + size = 1; + ; + + memory "lockbits" + size = 1; + ; + + memory "signature" + size = 3; + ; +; + + diff --git a/buildroot-external/rootfs-overlay/etc/sysctl.conf b/buildroot-external/rootfs-overlay/etc/sysctl.conf index ce5a44e5..35222130 100644 --- a/buildroot-external/rootfs-overlay/etc/sysctl.conf +++ b/buildroot-external/rootfs-overlay/etc/sysctl.conf @@ -1,3 +1,4 @@ vm.swappiness = 30 kernel.panic = 20 fs.inotify.max_user_watches = 524288 +kernel.printk = 3 4 1 3 diff --git a/buildroot-external/rootfs-overlay/etc/systemd/journald.conf b/buildroot-external/rootfs-overlay/etc/systemd/journald.conf deleted file mode 100644 index 76991c0c..00000000 --- a/buildroot-external/rootfs-overlay/etc/systemd/journald.conf +++ /dev/null @@ -1,5 +0,0 @@ -[Journal] -Storage=auto -Compress=yes -SystemMaxUse=12M -RuntimeMaxUse=10M diff --git a/buildroot-external/rootfs-overlay/home/mycroft/.config/systemd/user/sockets.target.wants/dbus.socket b/buildroot-external/rootfs-overlay/home/mycroft/.config/systemd/user/sockets.target.wants/dbus.socket new file mode 120000 index 00000000..93fc8f4b --- /dev/null +++ b/buildroot-external/rootfs-overlay/home/mycroft/.config/systemd/user/sockets.target.wants/dbus.socket @@ -0,0 +1 @@ +../../../../../../usr/lib/systemd/user/dbus.socket \ No newline at end of file diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system-preset/10-ovos.preset b/buildroot-external/rootfs-overlay/usr/lib/systemd/system-preset/10-ovos.preset index 3e45cea0..ded7f2ef 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system-preset/10-ovos.preset +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system-preset/10-ovos.preset @@ -6,7 +6,7 @@ enable bluetooth.service enable pulseaudio.service enable avahi-daemon.service enable NetworkManager.service - +enable getty@tty1.service enable ovos-splash-start.service enable ovos-splash-40.service enable ovos-splash-60.service @@ -20,7 +20,6 @@ enable mycroft-gui.service enable ovos-splash-quit.service enable local-backend.service -disable getty@.service disable mosquitto.service disable motion.service disable mpd.service diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/getty@tty1.service.d/override.conf b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/getty@tty1.service.d/override.conf new file mode 100644 index 00000000..ee6667ca --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/getty@tty1.service.d/override.conf @@ -0,0 +1,4 @@ +[Service] +Type=simple +ExecStart= +ExecStart=-/usr/sbin/agetty --autologin mycroft --noclear %I $TERM diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/user-preset/91-dbus.preset b/buildroot-external/rootfs-overlay/usr/lib/systemd/user-preset/91-dbus.preset new file mode 100644 index 00000000..4f5368e4 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/user-preset/91-dbus.preset @@ -0,0 +1 @@ +enable dbus.socket diff --git a/buildroot-external/rootfs-overlay/var/lib/systemd/linger/mycroft b/buildroot-external/rootfs-overlay/var/lib/systemd/linger/mycroft new file mode 100644 index 00000000..e69de29b diff --git a/buildroot-patches/0106-Bump-RPI-Firmware-version.patch b/buildroot-patches/0106-Bump-RPI-Firmware-version.patch index 83fe2f58..d8375b02 100644 --- a/buildroot-patches/0106-Bump-RPI-Firmware-version.patch +++ b/buildroot-patches/0106-Bump-RPI-Firmware-version.patch @@ -15,7 +15,7 @@ index 8730ec959b..d10a8b1db9 100644 @@ -1,3 +1,3 @@ # Locally computed -sha256 ae4e317681995e0f7becd7900ae667cba394e3a0b7ca93a267f3303df7284697 rpi-firmware-d016a6eb01c8c7326a89cb42809fed2a21525de5.tar.gz -+sha256 8847b9a62cec9f4e709b2634964a2b6d04d74f410426774785c46d685cd6d39d rpi-firmware-46f356dcecc5204ca9a8cef7e6894e083b231bc7.tar.gz ++sha256 480eeaf07e2945c326f92172a9aa8189f9166efb293237c66d57ac364ca63f75 rpi-firmware-4877a7d918be6fab22ce5d345feefd9c43200a90.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 8b2b2c7154..6099e1f170 100644 @@ -26,7 +26,7 @@ index 8b2b2c7154..6099e1f170 100644 ################################################################################ -RPI_FIRMWARE_VERSION = d016a6eb01c8c7326a89cb42809fed2a21525de5 -+RPI_FIRMWARE_VERSION = 46f356dcecc5204ca9a8cef7e6894e083b231bc7 ++RPI_FIRMWARE_VERSION = 4877a7d918be6fab22ce5d345feefd9c43200a90 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/buildroot-patches/0110-Bump-and-patch-KF5.patch b/buildroot-patches/0110-Bump-and-patch-KF5.patch index c914f057..8d6cc91e 100644 --- a/buildroot-patches/0110-Bump-and-patch-KF5.patch +++ b/buildroot-patches/0110-Bump-and-patch-KF5.patch @@ -39,35 +39,6 @@ index 0cd8dcfc15..1a476915c4 100644 -sha256 40ff04757e4ac19bc8448940fe18886c894a2069865966cc865fc55ff67b0b46 kcoreaddons-5.47.0.tar.xz +sha256 12077aac579065ca5ca877aee3bbdce65c52b6d0e9ef8b1fc0e127dd2e7f6843 kcoreaddons-5.82.0.tar.xz sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB -diff --git a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk -index 76be8876cc..dbde5d3285 100644 ---- a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk -+++ b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk -@@ -10,7 +10,7 @@ KF5_KCOREADDONS_SOURCE = kcoreaddons-$(KF5_KCOREADDONS_VERSION).tar.xz - KF5_KCOREADDONS_LICENSE = LGPL-2.1 - KF5_KCOREADDONS_LICENSE_FILES = COPYING.LIB - --KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools -+KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools host-kf5-kcoreaddons - KF5_KCOREADDONS_INSTALL_STAGING = YES - - KF5_KCOREADDONS_CXXFLAGS = $(TARGET_CXXFLAGS) -@@ -26,4 +26,15 @@ ifeq ($(BR2_microblaze),y) - KF5_KCOREADDONS_CONF_OPTS += -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--no-fatal-warnings" - endif - -+KF5_KCOREADDONS_POST_INSTALL_STAGING_HOOKS += KF5_KCOREADDONS_COPY_BINS -+ -+define KF5_KCOREADDONS_COPY_BINS -+ cp ${HOST_DIR}/bin/desktoptojson $(STAGING_DIR)/usr/bin -+endef -+ - $(eval $(cmake-package)) -+HOST_KF5_KCOREADDONS_DEPENDENCIES = host-kf5-extra-cmake-modules -+HOST_KF5_KCOREADDONS_CXXFLAGS = $(HOST_CXXFLAGS) -+HOST_KF5_KCOREADDONS_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KCOREADDONS_CXXFLAGS)" -+ -+$(eval $(host-cmake-package)) diff --git a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash index 8ccada455e..72b67dff96 100644 --- a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash