diff --git a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_0.hex b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_0.hex new file mode 100644 index 0000000000000000000000000000000000000000..d40e229f8788ad11a894a457b216589bd1d6f964 --- /dev/null +++ b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_0.hex @@ -0,0 +1,257 @@ +:02000000007589 +:02000100027487 +:020002004804B0 +:020003004802B1 +:020004000404F2 +:020005000404F1 +:020006001AF8E6 +:020007001AF8E5 +:02000800EE0206 +:02000900EE0205 +:02000A001011D3 +:02000B001011D2 +:02000C000004EE +:02000D000004ED +:02000E00120DD1 +:02000F00120CD1 +:0200100000FBF3 +:0200110000FBF2 +:020012000612D4 +:020013000612D3 +:020014000E00DC +:020015000E00DB +:020016000507DC +:020017000507DB +:020018001200D4 +:020019001200D3 +:02001A0002F6EC +:02001B0001F6EC +:02001C00010AD7 +:02001D00010AD6 +:02001E000EFBD7 +:02001F000EFBD6 +:020020000101DC +:020021000101DB +:0200220010E8E4 +:020023000FE8E4 +:02002400CDF914 +:02002500CDFA12 +:02002600123096 +:02002700132F95 +:0200280004DCF6 +:0200290003DCF6 +:02002A00DE1FD7 +:02002B00DE20D5 +:02002C000E14B0 +:02002D000E13B0 +:02002E00021DB1 +:02002F00021DB0 +:020030001F07A8 +:020031002006A7 +:02003200050CBB +:02003300050CBA +:0200340025FEA7 +:0200350025FEA6 +:02003600FBF4D9 +:02003700FBF5D7 +:020038001201B3 +:020039001200B3 +:02003A00E7F1EC +:02003B00E6F2EB +:02003C00FB3592 +:02003D00FC3590 +:02003E00281583 +:02003F00291482 +:02004000260791 +:02004100260691 +:0200420026E9AD +:0200430026E9AC +:0200440004E8CE +:0200450004E8CD +:0200460003FBBA +:0200470003FBB9 +:0200480007FAB5 +:0200490007FAB4 +:02004A00080AA2 +:02004B000809A2 +:02004C0034F48A +:02004D0034F38A +:02004E00F9BEF9 +:02004F00F8BEF9 +:02005000DC08CA +:02005100DC09C8 +:020052000A049E +:020053000A049D +:0200540004FEA8 +:0200550004FDA8 +:0200560001F0B7 +:0200570001F0B6 +:02005800F407AB +:02005900F407AA +:02005A000A009A +:02005B000A0099 +:02005C00030D92 +:02005D00030D91 +:02005E002AEC8A +:02005F0029EB8B +:02006000E2DCE0 +:02006100E1DCE0 +:02006200FB138E +:02006300FC138C +:02006400FEF4A8 +:02006500FEF4A7 +:02006600FB0E8F +:02006700FB0E8E +:02006800030291 +:02006900030290 +:02006A0006117D +:02006B0007117B +:02006C00110180 +:02006D00110080 +:02006E00100A76 +:02006F00100A75 +:0200700024FD6D +:0200710024FC6D +:0200720024E286 +:0200730023E187 +:02007400F6C8CC +:02007500F5C8CC +:02007600E00A9E +:02007700E00A9D +:0200780017016E +:0200790017016D +:02007A0001F291 +:02007B0001F290 +:02007C0010F77B +:02007D0010F77A +:02007E0006E595 +:02007F0006E594 +:02008000FAE59F +:02008100F9E69E +:02008200F0F795 +:02008300F0F893 +:02008400FFF289 +:02008500FFF288 +:02008600E9018E +:02008700E9028C +:02008800200A4C +:0200890020094C +:02008A000AC8A2 +:02008B0009C8A2 +:02008C00DCE2B4 +:02008D00DBE2B4 +:02008E00DCFD97 +:02008F00DCFD96 +:02009000F00A74 +:02009100F00B72 +:02009200EF017C +:02009300EF017B +:02009400FA115F +:02009500FA115E +:02009600FD0269 +:02009700FD0268 +:02009800050E53 +:02009900060E51 +:02009A0002F46E +:02009B0002F46D +:02009C0005134A +:02009D00051349 +:02009E001EDC66 +:02009F001DDB67 +:0200A000D6EC9C +:0200A100D6EC9B +:0200A200FD0D52 +:0200A300FD0D51 +:0200A400F60064 +:0200A500F60063 +:0200A6000C0745 +:0200A7000D0743 +:0200A800FFF067 +:0200A900FEF067 +:0200AA00FCFE5A +:0200AB00FCFE59 +:0200AC00F60458 +:0200AD00F60556 +:0200AE00240824 +:0200AF00240724 +:0200B00007BE89 +:0200B10006BE89 +:0200B200CCF48C +:0200B300CCF58A +:0200B400F80A48 +:0200B500F90A46 +:0200B600F9FA55 +:0200B700F9FA54 +:0200B800FDFB4E +:0200B900FCFC4D +:0200BA00FCE860 +:0200BB00FBE860 +:0200BC00DAE97F +:0200BD00D9EA7E +:0200BE00DA075F +:0200BF00DA085D +:0200C000D81551 +:0200C100D81550 +:0200C200053502 +:0200C300063500 +:0200C40019F130 +:0200C50019F12F +:0200C600EE0149 +:0200C700EE0148 +:0200C80005F43D +:0200C90005F43C +:0200CA00DBFE5B +:0200CB00DBFF59 +:0200CC00FB0C2B +:0200CD00FC0C29 +:0200CE00E10748 +:0200CF00E10747 +:0200D000FE1D13 +:0200D100FF1D11 +:0200D200F21426 +:0200D300F31424 +:0200D400221FE9 +:0200D500231FE7 +:0200D600FCDC50 +:0200D700FBDC50 +:0200D800EE3008 +:0200D900EF3006 +:0200DA0033F9F8 +:0200DB0033F8F8 +:0200DC00F0E84A +:0200DD00F0E849 +:0200DE00FF0120 +:0200DF00FF011F +:0200E000F2FB31 +:0200E100F2FB30 +:0200E200FF0A13 +:0200E300FF0A12 +:0200E400FEF626 +:0200E500FEF625 +:0200E600EE002A +:0200E700EE0128 +:0200E800FB0714 +:0200E900FB0713 +:0200EA00F20022 +:0200EB00F20021 +:0200EC00FA1206 +:0200ED00FA1205 +:0200EE0000FB15 +:0200EF0000FB14 +:0200F000EE0D13 +:0200F100EE0D12 +:0200F200000408 +:0200F300000407 +:0200F400F01109 +:0200F500F01108 +:0200F6001202F4 +:0200F7001202F3 +:0200F800E6F828 +:0200F900E6F926 +:0200FA00FC0404 +:0200FB00FD0402 +:0200FC00B80446 +:0200FD00B80544 +:0200FE0000758B +:0200FF00027489 +:00000001FF diff --git a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_1.hex b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_1.hex new file mode 100644 index 0000000000000000000000000000000000000000..25052b771ae8b3b98569f99db06ff7fe388980be --- /dev/null +++ b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_1.hex @@ -0,0 +1,257 @@ +:02000000047486 +:02000100067483 +:020002004801B3 +:020003004800B3 +:020004000404F2 +:020005000404F1 +:020006001AF7E7 +:020007001AF7E6 +:02000800EE0305 +:02000900EE0304 +:02000A001111D2 +:02000B001110D2 +:02000C000004EE +:02000D000004ED +:02000E00130CD1 +:02000F00130CD0 +:0200100000FBF3 +:0200110000FBF2 +:020012000712D3 +:020013000712D2 +:020014000EFFDD +:020015000EFFDC +:020016000507DC +:020017000507DB +:020018001200D4 +:020019001200D3 +:02001A0001F6ED +:02001B0001F6EC +:02001C00010AD7 +:02001D000209D6 +:02001E000EFAD8 +:02001F000EFAD7 +:020020000101DC +:020021000101DB +:020022000FE8E5 +:020023000EE7E6 +:02002400CDFB12 +:02002500CDFC10 +:02002600142F95 +:02002700152F93 +:0200280003DCF7 +:0200290002DCF7 +:02002A00DF21D4 +:02002B00DF21D3 +:02002C000E13B1 +:02002D000F13AF +:02002E00031DB0 +:02002F00031DAF +:020030002006A8 +:020031002005A8 +:02003200050BBC +:02003300050BBB +:0200340025FDA8 +:0200350025FCA8 +:02003600FBF5D8 +:02003700FAF5D8 +:020038001200B4 +:020039001200B3 +:02003A00E6F2EC +:02003B00E6F2EB +:02003C00FD3590 +:02003D00FE358E +:02003E00291384 +:02003F002A1283 +:02004000260692 +:02004100260592 +:0200420026E8AE +:0200430025E7AF +:0200440003E8CF +:0200450003E8CE +:0200460003FBBA +:0200470003FBB9 +:0200480007FAB5 +:0200490007F9B5 +:02004A000809A3 +:02004B000809A2 +:02004C0033F28D +:02004D0033F18D +:02004E00F7BEFB +:02004F00F6BEFB +:02005000DC09C9 +:02005100DC0AC7 +:020052000A049E +:020053000A049D +:0200540004FDA9 +:0200550004FDA8 +:0200560001F0B7 +:0200570001F0B6 +:02005800F407AB +:02005900F408A9 +:02005A000A009A +:02005B000A0099 +:02005C00040D91 +:02005D00040D90 +:02005E0029EA8D +:02005F0028E98E +:02006000E1DDE0 +:02006100E0DDE0 +:02006200FC138D +:02006300FC138C +:02006400FDF4A9 +:02006500FDF4A8 +:02006600FB0E8F +:02006700FB0E8E +:02006800030291 +:02006900030290 +:02006A0007117C +:02006B0007117B +:02006C00110081 +:02006D00110080 +:02006E00100A76 +:02006F00100976 +:0200700024FB6F +:0200710024FB6E +:0200720023E089 +:0200730022E089 +:02007400F4C8CE +:02007500F3C9CD +:02007600E10B9C +:02007700E10B9B +:0200780017006F +:0200790017006E +:02007A0000F292 +:02007B0000F291 +:02007C000FF77C +:02007D000FF77B +:02007E0005E596 +:02007F0005E595 +:02008000F9E69F +:02008100F9E69E +:02008200F0F894 +:02008300F0F893 +:02008400FFF289 +:02008500FFF387 +:02008600E9028D +:02008700EA028B +:0200880020094D +:0200890020084D +:02008A0008C8A4 +:02008B0007C7A5 +:02008C00DBE3B4 +:02008D00DAE4B3 +:02008E00DCFE96 +:02008F00DCFF94 +:02009000F10B72 +:02009100F10B71 +:02009200EF017C +:02009300EF027A +:02009400FA115F +:02009500FB115D +:02009600FD0269 +:02009700FD0268 +:02009800060E52 +:02009900060E51 +:02009A0002F46E +:02009B0002F46D +:02009C0005134A +:02009D00061348 +:02009E001DDB68 +:02009F001CDA69 +:0200A000D6ED9B +:0200A100D5EE9A +:0200A200FD0D52 +:0200A300FD0D51 +:0200A400F60163 +:0200A500F60162 +:0200A6000D0645 +:0200A7000D0644 +:0200A800FEF068 +:0200A900FEF067 +:0200AA00FCFE5A +:0200AB00FCFE59 +:0200AC00F60557 +:0200AD00F60556 +:0200AE00250724 +:0200AF00250624 +:0200B00005BD8C +:0200B10003BD8D +:0200B200CCF68A +:0200B300CBF789 +:0200B400F90A47 +:0200B500F90A46 +:0200B600F8FA56 +:0200B700F8FA55 +:0200B800FCFC4E +:0200B900FCFC4D +:0200BA00FBE861 +:0200BB00FBE860 +:0200BC00D9EB7E +:0200BD00D8EB7E +:0200BE00DA085E +:0200BF00DA095C +:0200C000D81650 +:0200C100D9174D +:0200C200073500 +:0200C3000835FE +:0200C40019F031 +:0200C50019F030 +:0200C600EE0149 +:0200C700EE0247 +:0200C80005F43D +:0200C90004F43D +:0200CA00DB0059 +:0200CB00DB0058 +:0200CC00FC0C2A +:0200CD00FC0C29 +:0200CE00E10847 +:0200CF00E10846 +:0200D000FF1D12 +:0200D100001D10 +:0200D200F31425 +:0200D300F41423 +:0200D400231EE9 +:0200D500241EE7 +:0200D600FBDC51 +:0200D700FADD50 +:0200D800F03006 +:0200D900F03005 +:0200DA0033F8F9 +:0200DB0032F7FA +:0200DC00EFE94A +:0200DD00EFE949 +:0200DE00FF0120 +:0200DF00FF011F +:0200E000F2FB31 +:0200E100F2FC2F +:0200E200FF0A13 +:0200E300000A11 +:0200E400FEF626 +:0200E500FEF625 +:0200E600EE0129 +:0200E700EE0128 +:0200E800FC0713 +:0200E900FC0712 +:0200EA00F20022 +:0200EB00F20021 +:0200EC00FB1205 +:0200ED00FB1204 +:0200EE0000FB15 +:0200EF0000FB14 +:0200F000EE0D13 +:0200F100EE0E11 +:0200F200000408 +:0200F300010406 +:0200F400F11207 +:0200F500F11206 +:0200F6001201F5 +:0200F7001201F4 +:0200F800E6F927 +:0200F900E6FA25 +:0200FA00FD0403 +:0200FB00FD0402 +:0200FC00B80644 +:0200FD00B80742 +:0200FE00047488 +:0200FF00067485 +:00000001FF diff --git a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_2.hex b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_2.hex new file mode 100644 index 0000000000000000000000000000000000000000..42a50332579457409ec388845b9396d67453b50f --- /dev/null +++ b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_2.hex @@ -0,0 +1,257 @@ +:02000000087482 +:020001000A747F +:020002004800B4 +:0200030048FEB5 +:020004000404F2 +:020005000404F1 +:0200060019F6E9 +:0200070019F6E8 +:02000800EE0305 +:02000900EE0403 +:02000A001110D3 +:02000B001110D2 +:02000C000004EE +:02000D000004ED +:02000E00130BD2 +:02000F00130BD1 +:0200100000FBF3 +:0200110000FBF2 +:020012000711D4 +:020013000811D2 +:020014000EFFDD +:020015000EFFDC +:020016000507DC +:020017000506DC +:020018001200D4 +:020019001200D3 +:02001A0001F6ED +:02001B0001F6EC +:02001C000209D7 +:02001D000209D6 +:02001E000EFAD8 +:02001F000EFAD7 +:020020000100DD +:020021000100DC +:020022000EE7E7 +:020023000EE7E6 +:02002400CDFD10 +:02002500CDFE0E +:02002600152E95 +:02002700162E93 +:0200280001DCF9 +:0200290001DCF8 +:02002A00E022D2 +:02002B00E122D0 +:02002C000F13B0 +:02002D000F12B0 +:02002E00041DAF +:02002F00041DAE +:020030002004AA +:020031002004A9 +:02003200060BBB +:02003300060BBA +:0200340024FCAA +:0200350024FBAA +:02003600FAF5D9 +:02003700FAF5D8 +:020038001200B4 +:020039001200B3 +:02003A00E6F3EB +:02003B00E5F3EB +:02003C00FF358E +:02003D0000358C +:02003E002A1284 +:02003F002A1184 +:02004000270493 +:02004100270393 +:0200420025E7B0 +:0200430024E6B1 +:0200440002E8D0 +:0200450002E8CF +:0200460003FBBA +:0200470003FBB9 +:0200480007F9B6 +:0200490007F9B5 +:02004A000809A3 +:02004B000809A2 +:02004C0033F08F +:02004D0033EF8F +:02004E00F4BEFE +:02004F00F3BFFD +:02005000DC0AC8 +:02005100DD0BC5 +:020052000A049E +:020053000A039E +:0200540004FDA9 +:0200550004FDA8 +:0200560000F0B8 +:0200570000F0B7 +:02005800F408AA +:02005900F408A9 +:02005A000A009A +:02005B000A0099 +:02005C00040D91 +:02005D00040D90 +:02005E0028E98F +:02005F0028E88F +:02006000E0DEE0 +:02006100DFDFDF +:02006200FD138C +:02006300FD138B +:02006400FDF4A9 +:02006500FDF5A7 +:02006600FC0E8E +:02006700FC0E8D +:02006800030291 +:02006900030191 +:02006A0008107C +:02006B0008107B +:02006C00110081 +:02006D00110080 +:02006E00110976 +:02006F00110975 +:0200700024FA70 +:0200710024F970 +:0200720022DF8B +:0200730021DF8B +:02007400F2C9CF +:02007500F1C9CF +:02007600E10C9B +:02007700E10C9A +:0200780017006F +:0200790017006E +:02007A0000F292 +:02007B0000F291 +:02007C000FF67D +:02007D000FF67C +:02007E0004E597 +:02007F0004E596 +:02008000F8E6A0 +:02008100F8E69F +:02008200F0F993 +:02008300F0F992 +:02008400FEF389 +:02008500FEF388 +:02008600EA038B +:02008700EA038A +:0200880020074F +:0200890020074E +:02008A0006C7A7 +:02008B0005C7A7 +:02008C00DAE4B4 +:02008D00D9E5B3 +:02008E00DCFF95 +:02008F00DC0093 +:02009000F10B72 +:02009100F10C70 +:02009200EF027B +:02009300EF027A +:02009400FB115E +:02009500FB115D +:02009600FD0269 +:02009700FD0268 +:02009800060E52 +:02009900070D51 +:02009A0001F46F +:02009B0001F46E +:02009C0006124A +:02009D00061249 +:02009E001BDA6B +:02009F001BD96B +:0200A000D5EF9A +:0200A100D5EF99 +:0200A200FE0D51 +:0200A300FE0D50 +:0200A400F60163 +:0200A500F60162 +:0200A6000D0645 +:0200A7000D0644 +:0200A800FDF069 +:0200A900FDF068 +:0200AA00FCFE5A +:0200AB00FCFE59 +:0200AC00F60557 +:0200AD00F60556 +:0200AE00250526 +:0200AF00250525 +:0200B00002BD8F +:0200B10001BD8F +:0200B200CBF889 +:0200B300CBF987 +:0200B400F90A47 +:0200B500F90A46 +:0200B600F8FA56 +:0200B700F8FB54 +:0200B800FCFC4E +:0200B900FCFC4D +:0200BA00FAE961 +:0200BB00FAE960 +:0200BC00D8EC7E +:0200BD00D8ED7C +:0200BE00DA0A5C +:0200BF00DB0A5A +:0200C000D9174E +:0200C100DA184B +:0200C2000934FF +:0200C3000A34FD +:0200C40018EF33 +:0200C50018EF32 +:0200C600EE0248 +:0200C700EE0247 +:0200C80004F43E +:0200C90004F43D +:0200CA00DB0059 +:0200CB00DB0157 +:0200CC00FC0C2A +:0200CD00FC0C29 +:0200CE00E10946 +:0200CF00E10945 +:0200D000001D11 +:0200D100001D10 +:0200D200F41424 +:0200D300F41522 +:0200D400251DE8 +:0200D500251CE8 +:0200D600F9DD52 +:0200D700F9DD51 +:0200D800F13104 +:0200D900F23102 +:0200DA0032F6FC +:0200DB0032F5FC +:0200DC00EFE94A +:0200DD00EEEA49 +:0200DE00FF0120 +:0200DF00FF011F +:0200E000F1FC31 +:0200E100F1FC30 +:0200E200000A12 +:0200E300000A11 +:0200E400FEF725 +:0200E500FEF724 +:0200E600EE0228 +:0200E700EE0227 +:0200E800FC0713 +:0200E900FC0712 +:0200EA00F20022 +:0200EB00F20021 +:0200EC00FB1205 +:0200ED00FC1203 +:0200EE0000FB15 +:0200EF0000FB14 +:0200F000EF0E11 +:0200F100EF0E10 +:0200F200010407 +:0200F300010406 +:0200F400F11207 +:0200F500F21205 +:0200F6001201F5 +:0200F7001200F5 +:0200F800E5FA27 +:0200F900E5FB25 +:0200FA00FD0403 +:0200FB00FD0402 +:0200FC00B90940 +:0200FD00B90A3E +:0200FE00087484 +:0200FF000A7481 +:00000001FF diff --git a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_3.hex b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_3.hex new file mode 100644 index 0000000000000000000000000000000000000000..c63bbbd47b47093eb7c89bc04acd67a21f30e27f --- /dev/null +++ b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex/bg_data_3.hex @@ -0,0 +1,257 @@ +:020000000C747E +:020001000E747B +:0200020048FDB7 +:0200030048FCB7 +:020004000403F3 +:020005000403F2 +:0200060019F5EA +:0200070019F5E9 +:02000800EE0404 +:02000900EE0403 +:02000A00120FD3 +:02000B00120FD2 +:02000C000004EE +:02000D000004ED +:02000E00140BD1 +:02000F00140AD1 +:0200100000FBF3 +:0200110000FBF2 +:020012000811D3 +:020013000811D2 +:020014000EFEDE +:020015000DFEDE +:020016000506DD +:020017000606DB +:020018001200D4 +:0200190012FFD4 +:02001A0001F6ED +:02001B0000F6ED +:02001C000209D7 +:02001D000209D6 +:02001E000EF9D9 +:02001F000DF9D9 +:020020000100DD +:020021000100DC +:020022000DE7E8 +:020023000DE6E8 +:02002400CDFF0E +:02002500CD000C +:02002600172D94 +:02002700182D92 +:0200280000DCFA +:0200290000DCF9 +:02002A00E123D0 +:02002B00E223CE +:02002C001012B0 +:02002D001012AF +:02002E00051DAE +:02002F00051DAD +:020030002003AB +:020031002003AA +:02003200060BBB +:02003300060BBA +:0200340024FBAB +:0200350024FAAB +:02003600FAF5D9 +:02003700FAF5D8 +:020038001200B4 +:0200390012FFB4 +:02003A00E5F4EB +:02003B00E5F4EA +:02003C0000358D +:02003D0001358B +:02003E002A1086 +:02003F002B1084 +:02004000270394 +:02004100270294 +:0200420024E5B3 +:0200430023E5B3 +:0200440002E8D0 +:0200450001E8D0 +:0200460003FBBA +:0200470003FBB9 +:0200480007F9B6 +:0200490007F9B5 +:02004A000909A2 +:02004B000909A1 +:02004C0032EF91 +:02004D0032EE91 +:02004E00F2BFFF +:02004F00F1BFFF +:02005000DD0CC5 +:02005100DD0CC4 +:020052000A039F +:020053000B039D +:0200540004FDA9 +:0200550004FDA8 +:0200560000F0B8 +:0200570000F0B7 +:02005800F408AA +:02005900F508A8 +:02005A000A009A +:02005B000A0099 +:02005C00050D90 +:02005D00050D8F +:02005E0027E792 +:02005F0027E791 +:02006000DEDFE1 +:02006100DEE0DF +:02006200FE138B +:02006300FE138A +:02006400FDF5A8 +:02006500FCF5A8 +:02006600FC0F8D +:02006700FC0F8C +:02006800030192 +:02006900030191 +:02006A0008107C +:02006B0008107B +:02006C00110081 +:02006D00110080 +:02006E00110976 +:02006F00110876 +:0200700023F972 +:0200710023F872 +:0200720021DE8D +:0200730020DD8E +:02007400F0C9D1 +:02007500EFCAD0 +:02007600E20D99 +:02007700E20D98 +:0200780017006F +:0200790017FF6F +:02007A0000F292 +:02007B0000F291 +:02007C000FF67D +:02007D000EF57E +:02007E0003E598 +:02007F0003E597 +:02008000F7E6A1 +:02008100F7E6A0 +:02008200EFF994 +:02008300EFF993 +:02008400FEF389 +:02008500FEF388 +:02008600EA048A +:02008700EA0489 +:0200880021064F +:0200890021064E +:02008A0004C7A9 +:02008B0003C7A9 +:02008C00D9E6B3 +:02008D00D9E6B2 +:02008E00DC0094 +:02008F00DC0093 +:02009000F10C71 +:02009100F20C6F +:02009200EF037A +:02009300EF0379 +:02009400FC125C +:02009500FC125B +:02009600FD0269 +:02009700FE0267 +:02009800070D52 +:02009900070D51 +:02009A0001F46F +:02009B0001F46E +:02009C00071249 +:02009D00071248 +:02009E001AD96D +:02009F0019D86E +:0200A000D4F09A +:0200A100D4F198 +:0200A200FE0D51 +:0200A300FE0D50 +:0200A400F60163 +:0200A500F60261 +:0200A6000D0546 +:0200A7000D0545 +:0200A800FDF069 +:0200A900FDF068 +:0200AA00FCFE5A +:0200AB00FCFE59 +:0200AC00F70556 +:0200AD00F70654 +:0200AE00250427 +:0200AF00250327 +:0200B00000BD91 +:0200B10000BD90 +:0200B200CBFA87 +:0200B300CBFA86 +:0200B400FA0A46 +:0200B500FA0A45 +:0200B600F8FB55 +:0200B700F8FB54 +:0200B800FCFC4E +:0200B900FCFC4D +:0200BA00F9E962 +:0200BB00F9E961 +:0200BC00D7EE7D +:0200BD00D7EE7C +:0200BE00DB0B5A +:0200BF00DB0C58 +:0200C000DA194B +:0200C100DA194A +:0200C2000B34FD +:0200C3000B34FC +:0200C40018EE34 +:0200C50017EE34 +:0200C600EE0347 +:0200C700EE0346 +:0200C80004F43E +:0200C90004F43D +:0200CA00DB0158 +:0200CB00DB0256 +:0200CC00FD0C29 +:0200CD00FD0C28 +:0200CE00E20A44 +:0200CF00E20B42 +:0200D000001D11 +:0200D100011D0F +:0200D200F51522 +:0200D300F51521 +:0200D400261CE8 +:0200D500261BE8 +:0200D600F8DD53 +:0200D700F8DD52 +:0200D800F33102 +:0200D900F43100 +:0200DA0032F4FE +:0200DB0032F3FE +:0200DC00EEEA4A +:0200DD00EDEA4A +:0200DE00FF0120 +:0200DF00FF011F +:0200E000F1FC31 +:0200E100F1FD2F +:0200E200000A12 +:0200E300000A11 +:0200E400FDF726 +:0200E500FDF725 +:0200E600EF0227 +:0200E700EF0325 +:0200E800FC0713 +:0200E900FC0811 +:0200EA00F20022 +:0200EB00F20120 +:0200EC00FC1303 +:0200ED00FC1302 +:0200EE0000FB15 +:0200EF00FFFB15 +:0200F000EF0F10 +:0200F100EF0F0F +:0200F200010407 +:0200F300010406 +:0200F400F21305 +:0200F500F21304 +:0200F6001200F6 +:0200F7001200F5 +:0200F800E5FB26 +:0200F900E5FB25 +:0200FA00FD0403 +:0200FB00FD0402 +:0200FC00B90B3E +:0200FD00B90C3C +:0200FE000C7480 +:0200FF000E747D +:00000001FF diff --git a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/python/gen_hex_files_block_gen.py b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/python/gen_hex_files_block_gen.py new file mode 100644 index 0000000000000000000000000000000000000000..c0f7bc14d34322ad9422ab6d454468fea6ba90a6 --- /dev/null +++ b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/python/gen_hex_files_block_gen.py @@ -0,0 +1,145 @@ +############################################################################### +# +# Copyright (C) 2015 +# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################### + +# Purpose: +# . Generate HEX files for the 4 block generators, emulating BF output. +# Description: +# . The BG output block size is 256 words, without any gaps; +# . The BGs emulate transposed BF output (b=beamlet, t=time); +# . The 256-word blocks are 2 interleaved streams of 128 words: +# . stream 0) b0t0,b1t0, .. b0t127,b1t127 (repeated) +# . stream 1) b2t0,b3t0, .. b2t127,b3t127 (repeated) +# . stream 2) b4t0,b5t0, .. b4t127,b5t127 (repeated) +# . stream 3) b6t0,b7t0, .. b6t127,b7t127 (repeated) +# . Each beamlet signal repeats after 128 samples and consists of an integer +# number of sine wave periods. +# . A full integration period spans 800000 timesamples: +# . 6250 * 128 timesamples +# . 3125 * 256-word BG output blocks. + +from common import * +from mem_init_file import list_to_hex +import matplotlib +matplotlib.use('TkAgg') +from common_dsp import * +import matplotlib.pyplot as plt +import numpy as np +from scipy.fftpack import fft,ifft, fftfreq, fftshift + +NOF_INPUTS = 4 # 4 transposed BF output streams +NOF_INPUT_SIGNALS = 8 # 4 streams * 2 interleaved signals +COMPLEX_WIDTH = 8 +NOF_WORDS_PER_BLOCK = 128 + +PATH = os.environ['RADIOHDL']+'/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/hex' +FILENAME = "bg_data" + +############################################################################### +# Create composite waves +############################################################################### +N = NOF_WORDS_PER_BLOCK +t=range(N) + +# sample spacing +T = 1.0 / N + +x = np.linspace(0.0, N*T, N) + +AMPL_MAX = 127 +CHANNELS = [1,5,12,17,21,25,28,34,41,47,54,55,60] +NOF_CHANNELS = len(CHANNELS) + +input_signals = [] +for input_signal_nr in range(NOF_INPUT_SIGNALS): + phase_shift_deg = input_signal_nr + channel_signals = [] + for bin_nr in CHANNELS: + phase_shift_rad = math.radians(phase_shift_deg) + ampl=AMPL_MAX/NOF_CHANNELS + signal = ampl * np.exp( (bin_nr) * 1.j * (2.0*np.pi*x+(phase_shift_rad/bin_nr)) ) + + channel_signals.append( signal ) + composite_signal=numpy.sum(channel_signals, axis=0) + input_signals.append(composite_signal) + +s=input_signals[1] + +############################################################################### +# Convert the float values to n-bits +############################################################################### +s_bits = [] +for fword in s: + re_signed = to_signed(fword.real, COMPLEX_WIDTH) + im_signed = to_signed(fword.imag, COMPLEX_WIDTH) + + s_bits.append( complex(re_signed, im_signed) ) + +s = numpy.array(s_bits) +print s + +############################################################################### +# Plot the signal +############################################################################### +plt.plot(t, s.real, 'b-', t, s.imag, 'r--') +plt.legend(('real', 'imaginary')) +plt.show() + +############################################################################### +# Plot FFT +############################################################################### +yf = fft(s) + +xf = fftfreq(N, T) +xf = range(NOF_WORDS_PER_BLOCK) +xf = fftshift(xf) +yplot = fftshift(yf) +plt.bar(xf, 1.0/N * np.abs(yplot)) +plt.grid() +plt.show() + +############################################################################### +# Convert complex floats to concatenated integers +############################################################################### +input_signals_concat = [] +for input_signal in input_signals: + input_signals_concat.append( concat_complex(input_signal, COMPLEX_WIDTH) ) + +############################################################################### +# Interleave 2 lists into one +############################################################################### +input_signals_concat_inter = [] +for i in range(NOF_INPUTS): + input_signals_concat_inter.append( interleave([input_signals_concat[2*i],input_signals_concat[2*i+1]]) ) + +############################################################################### +# Use this list for each block generator +############################################################################### +bg_lists = input_signals_concat_inter + +############################################################################### +# Write the HEX files +############################################################################### +MEM_WIDTH = COMPLEX_WIDTH*2 +MEM_DEPTH = 2*NOF_WORDS_PER_BLOCK # We're interleaving, hence twice the depth + +for input_nr in range(NOF_INPUTS): + list_to_hex( bg_lists[input_nr], PATH+"/"+FILENAME+'_'+str(input_nr)+".hex", MEM_WIDTH, MEM_DEPTH) +