diff --git a/drivers/dv_display/dv_display.cpp b/drivers/dv_display/dv_display.cpp index 61be84f3..4601989e 100644 --- a/drivers/dv_display/dv_display.cpp +++ b/drivers/dv_display/dv_display.cpp @@ -52,6 +52,14 @@ namespace pimoroni { gpio_put(RAM_SEL, bank); } + uint8_t DVDisplay::get_driver_gpio() { + return i2c.reg_read_uint8(I2C_ADDR, I2C_REG_GPIO); + } + + uint8_t DVDisplay::get_driver_gpio_hi() { + return i2c.reg_read_uint8(I2C_ADDR, I2C_REG_GPIO_HI); + } + void DVDisplay::write(uint32_t address, size_t len, const uint16_t colour) { uint32_t val = colour | ((uint32_t)colour << 16); diff --git a/drivers/dv_display/dv_display.hpp b/drivers/dv_display/dv_display.hpp index afd2a9c1..343d4c85 100644 --- a/drivers/dv_display/dv_display.hpp +++ b/drivers/dv_display/dv_display.hpp @@ -37,6 +37,8 @@ namespace pimoroni { // I2C static constexpr uint I2C_ADDR = 0x0D; static constexpr uint I2C_REG_START = 0xF9; + static constexpr uint I2C_REG_GPIO = 0xC0; + static constexpr uint I2C_REG_GPIO_HI = 0xC8; static constexpr uint32_t base_address = 0x10000; uint16_t width = 0; @@ -91,6 +93,12 @@ namespace pimoroni { void init(); void flip(); + uint8_t get_driver_gpio(); + uint8_t get_driver_gpio_hi(); + + bool is_button_b_pressed() { return (get_driver_gpio() & 0x1) != 0x1; } + bool is_button_c_pressed() { return (get_driver_gpio() & 0x2) != 0x2; } + private: static constexpr int PIXEL_BUFFER_LEN_IN_WORDS = 16; uint32_t pixel_buffer[PIXEL_BUFFER_LEN_IN_WORDS]; diff --git a/drivers/dv_display/pico-stick.h b/drivers/dv_display/pico-stick.h index 01c789f9..b5c84405 100644 --- a/drivers/dv_display/pico-stick.h +++ b/drivers/dv_display/pico-stick.h @@ -13,9 +13,9 @@ const uint elf_data0[] = { 0x47884915, 0x47884915, 0xe7fdbe00, -0x20008460, -0x20008460, -0x20008d8c, +0x20008480, +0x20008480, +0x20008dac, 0x20040000, 0x20040000, 0x20040978, @@ -24,26 +24,26 @@ const uint elf_data0[] = { 0x15000978, 0x00000000, 0x480a4770, -0xffcef004, +0xffdcf004, 0x00004700, 0x20000100, 0xe000ed08, 0xd0000000, -0x20008d90, -0x2003db60, -0x2000371d, +0x20008db0, +0x2003db80, +0x20003739, 0x20000c01, -0x20003829, +0x20003845, 0x00005657, 0x50520006, 0x5360b3ab, -0x200082f0, +0x20008308, 0x50520006, 0x9da22254, -0x20008308, +0x20008320, 0x7188ebf2, -0x20008444, 0x2000845c, +0x20008474, 0x20000034, 0xe71aa390, 0x00000000, @@ -241,11 +241,11 @@ const uint elf_data0[] = { 0x4802b510, 0xffaef7ff, 0x46c0bd10, -0x2003d804, +0x2003d824, 0x4802b510, 0xf7ff300c, 0xbd10ffa5, -0x2003d804, +0x2003d824, 0x0001b5f8, 0x465746de, 0x4645464e, @@ -513,7 +513,7 @@ const uint elf_data0[] = { 0x22008f5f, 0xf385601a, 0x483e8810, -0xf812f003, +0xf820f003, 0x009222a0, 0xf3bf58a2, 0x60138f5f, @@ -575,7 +575,7 @@ const uint elf_data0[] = { 0x0000028e, 0xff1ffffd, 0x001f8539, -0x20008370, +0x20008388, 0x21a04b06, 0x23016858, 0xb5106882, @@ -583,7 +583,7 @@ const uint elf_data0[] = { 0x508b05c9, 0xfd60f7ff, 0x46c0bd10, -0x2003d7f0, +0x2003d810, 0x0000041c, 0x21a04b06, 0x23016818, @@ -592,7 +592,7 @@ const uint elf_data0[] = { 0x508b05c9, 0xfd4ef7ff, 0x46c0bd10, -0x2003d7f0, +0x2003d810, 0x0000040c, 0x7a0a680b, 0x600b3301, @@ -657,14 +657,14 @@ const uint elf_data0[] = { 0x430ab22d, 0xb2714650, 0xf0009500, -0x0033fe95, +0x0033fea3, 0x34073601, 0x429fb2f6, 0xb002d1e0, 0x4690bc1c, 0x46a24699, 0x46c0bdf0, -0x20008f4c, +0x20008f6c, 0x000cb570, 0x28d30015, 0x29d2d82b, @@ -672,7 +672,7 @@ const uint elf_data0[] = { 0x4b264a25, 0x2cd350d1, 0x4823d902, -0xfe8ef000, +0xfe9cf000, 0xd9122cf2, 0x22322333, 0x5caa5ceb, @@ -697,23 +697,23 @@ const uint elf_data0[] = { 0x2b015d2b, 0x2b02d00b, 0x480ed1f0, -0xfa96f005, +0xfaa4f005, 0xf004480d, -0x2100fa89, +0x2100fa97, 0x00080003, 0x480b4798, -0xfa8cf005, +0xfa9af005, 0x490a2200, 0xf003480a, -0x5d2bf83f, +0x5d2bf84d, 0x46c0e7e9, -0x20008f4c, +0x20008f6c, 0x0003488c, 0x00000994, 0x000348a0, -0x20007ddc, +0x20007df4, 0x00004255, -0x20007dd0, +0x20007de8, 0x15004000, 0x20000001, 0x061222d0, @@ -723,12 +723,12 @@ const uint elf_data0[] = { 0x20c87203, 0x000c698b, 0x6ac94358, -0xfaaef004, +0xfabcf004, 0x68627428, 0x46942064, 0x6a616823, 0x43584463, -0xfaa4f004, +0xfab2f004, 0x68e27468, 0x429368a3, 0x0013d200, @@ -743,7 +743,7 @@ const uint elf_data0[] = { 0x0013d200, 0xbd70762b, 0x0004b510, -0xfc64f001, +0xfc72f001, 0xf7ff0021, 0xbd10ffc5, 0x4d10b570, @@ -754,7 +754,7 @@ const uint elf_data0[] = { 0x4465469c, 0x210a59ab, 0xf0046a98, -0x7720fa71, +0x7720fa7f, 0x77600a00, 0x6a9a59ab, 0x429a4b08, @@ -763,14 +763,21 @@ const uint elf_data0[] = { 0x3319425b, 0xbd7077a3, 0xe7fb2318, -0x2003d7bc, +0x2003d7dc, 0xfffcb790, 0x000006c4, 0x000493df, 0x0005cc5f, 0xb085b5f0, -0xfa7ef005, -0xfc22f001, +0xfa8cf005, +0xf0012017, +0x2018fd73, +0xfd70f001, +0x21012200, +0xf0012017, +0x2200fd41, +0x20182101, +0xfd3cf001, 0x00204c33, 0xfcb8f000, 0x48334b32, @@ -779,7 +786,7 @@ const uint elf_data0[] = { 0x00314d32, 0xf0010028, 0x0007fbd1, -0xffbcf7ff, +0xffaef7ff, 0x5cfb2339, 0xd1042b00, 0xbf203339, @@ -823,27 +830,27 @@ const uint elf_data0[] = { 0x49102200, 0xf0024810, 0xe7feff55, -0x20008f4c, +0x20008f6c, 0x20000b99, -0x20007df4, +0x20007e0c, 0x20000a65, 0x200009ed, -0x20007e14, +0x20007e2c, 0x40064000, 0x40065000, 0x000006c4, +0x20007e90, +0x20009014, +0x20007e40, +0x20007e5c, 0x20007e78, -0x20008ff4, -0x20007e28, -0x20007e44, -0x20007e60, 0x15004000, 0x20000001, 0x4902b510, 0xf0004802, 0xbd10fba3, 0x50300000, -0x20008f4c, +0x20008f6c, 0x46d6b5f0, 0x4646464f, 0xb086b5c0, @@ -996,7 +1003,7 @@ const uint elf_data0[] = { 0xf0062001, 0x61a8f84b, 0xbdf80028, -0x20007ec4, +0x20007edc, 0x2401b530, 0x00210005, 0x688089aa, @@ -1024,7 +1031,7 @@ const uint elf_data0[] = { 0x23f5d1fc, 0x6103061b, 0xbd30b005, -0x20007ecc, +0x20007ee4, 0x2501b570, 0x00290004, 0x688089a2, @@ -1070,10 +1077,10 @@ const uint elf_data0[] = { 0xf7ff9400, 0xe7cffeab, 0x11a49a00, -0x20007eb4, +0x20007ecc, 0x07bfa47f, -0x20007ebc, -0x20007eac, +0x20007ed4, +0x20007ec4, 0x2401b570, 0x00210005, 0x688089aa, @@ -1109,7 +1116,7 @@ const uint elf_data0[] = { 0xf7ff0028, 0xb002ff5b, 0x46c0bd70, -0x20007ec4, +0x20007edc, 0x46ceb5f0, 0xb5804647, 0x6943001f, @@ -1497,9 +1504,9 @@ const uint elf_data0[] = { 0x0003489c, 0x00034894, 0x00034898, -0x20007f6c, -0x20007f8c, -0x20007fbc, +0x20007f84, +0x20007fa4, +0x20007fd4, 0x000cb570, 0x2600a904, 0xa9055f8e, @@ -1528,7 +1535,7 @@ const uint elf_data0[] = { 0x68231904, 0xd02b2b00, 0x00310020, -0xfae6f006, +0xfae4f006, 0x37014653, 0x34086023, 0xd1f22f0a, @@ -1569,7 +1576,7 @@ const uint elf_data0[] = { 0x68231904, 0xd02b2b00, 0x00310020, -0xfbbcf03e, +0xfbaef03e, 0x37014653, 0x34086023, 0xd1f22f0a, @@ -1606,7 +1613,7 @@ const uint elf_data0[] = { 0x4b114699, 0x469844b1, 0xf7fe4648, -0x4640fc5d, +0x4640fc4f, 0xfb7af004, 0xf0040038, 0xf004fed9, @@ -1621,7 +1628,7 @@ const uint elf_data0[] = { 0xe7ecfc5d, 0x000006c4, 0x00000984, -0x20007fe0, +0x20007ff8, 0xf004b510, 0xf7fffc5d, 0x46c0ffc9, @@ -1887,7 +1894,7 @@ const uint elf_data0[] = { 0xf950f004, 0x250a4b57, 0xf7fe18e0, -0x2301fa4d, +0x2301fa3f, 0x4b554699, 0x469a1d27, 0x00db23e0, @@ -1971,10 +1978,10 @@ const uint elf_data0[] = { 0x23e6d3f5, 0x00db79a2, 0xe77450e2, -0x20001959, -0x20007fec, +0x20001975, +0x20008004, 0x00000984, -0x20007ffc, +0x20008014, 0x00000998, 0x0000098c, 0x0003487c, @@ -2008,7 +2015,7 @@ const uint elf_data0[] = { 0xff3ef003, 0xe7f02001, 0x4f434950, -0x20008018, +0x20008030, 0x8a03b510, 0x43596984, 0x311c0020, @@ -2289,8 +2296,8 @@ const uint elf_data0[] = { 0xb29b3b01, 0xe7a752a3, 0x50100900, -0x20008ec8, -0x20008ec4, +0x20008ee8, +0x20008ee4, 0xb5704b1a, 0x4c1a6019, 0x22e04b1a, @@ -2318,18 +2325,18 @@ const uint elf_data0[] = { 0xf0034a07, 0x0020ff67, 0x46c0bd70, -0x20008ec4, +0x20008ee4, 0x50100900, -0x20008ec8, -0x2000851c, +0x20008ee8, +0x2000853c, 0x00061a80, -0x2000226d, +0x20002289, 0x4c04b510, 0xf0030020, 0x0020ff81, 0xffaef003, 0x46c0bd10, -0x2000851c, +0x2000853c, 0x47704800, 0x501009e0, 0xb083b5f0, @@ -2585,7 +2592,7 @@ const uint elf_data0[] = { 0xd9002b17, 0x70132310, 0x46c04770, -0x20008460, +0x20008480, 0x40832301, 0xd0042900, 0x60134a03, @@ -2724,15 +2731,15 @@ const uint elf_data0[] = { 0xd0000124, 0xe000ed00, 0x200001cd, -0x20008464, +0x20008484, 0xe000e100, 0xe000e180, 0xe000e280, -0x2003d854, +0x2003d874, 0xffffbd01, 0x0000aaaa, 0x0000bd01, -0x2000849e, +0x200084be, 0xfffff000, 0xfffff800, 0xf3efb5f0, @@ -2774,10 +2781,10 @@ const uint elf_data0[] = { 0x2402e7f4, 0x46c0e7f2, 0xd0000124, -0x20008464, +0x20008484, 0x0000aaaa, 0xe000ed00, -0x2003d854, +0x2003d874, 0x200001cd, 0xffffbd01, 0x4a064b05, @@ -2829,9 +2836,9 @@ const uint elf_data0[] = { 0x00a40080, 0x50e56068, 0x46c0bd70, -0x20002d79, +0x20002d95, 0x34000040, -0x2003d824, +0x2003d844, 0x68194b0a, 0x8010f3ef, 0x680ab672, @@ -2843,7 +2850,7 @@ const uint elf_data0[] = { 0xbf408810, 0x21002000, 0x46c04770, -0x2003d838, +0x2003d858, 0x4657b5f8, 0x464e4645, 0xb5e046de, @@ -3014,7 +3021,7 @@ const uint elf_data0[] = { 0xdae92b00, 0x4b032201, 0xe7e54252, -0x2003d824, +0x2003d844, 0x0fffffff, 0x7fffffff, 0x4c0ab510, @@ -3028,9 +3035,9 @@ const uint elf_data0[] = { 0x00202103, 0xfe56f7ff, 0x46c0e7ef, -0x200084ac, -0x2003d838, -0x20002bc5, +0x200084cc, +0x2003d858, +0x20002be1, 0x4645b5f0, 0x465746de, 0xb5e0464e, @@ -3136,9 +3143,9 @@ const uint elf_data0[] = { 0xbf208810, 0x2a00e7e5, 0xe7d1d0be, -0x20002c41, -0x200084ac, -0x2003d838, +0x20002c5d, +0x200084cc, +0x2003d858, 0x40054000, 0x0004b570, 0xf000000d, @@ -3196,16 +3203,16 @@ const uint elf_data0[] = { 0xe7ed8810, 0xd0000128, 0x40054000, -0x2003d855, -0x2003d83c, -0x20008ed4, +0x2003d875, +0x2003d85c, +0x20008ef4, 0x40053fd0, 0x0001b510, 0x48034a02, 0xfa9af7ff, 0x46c0bd10, -0x20008044, -0x2003d852, +0x2000805c, +0x2003d872, 0x6a594b03, 0x6a98000a, 0x428a6a59, @@ -3250,10 +3257,10 @@ const uint elf_data0[] = { 0xf7ff0020, 0xe7e5fad3, 0xd0000128, -0x20003149, +0x20003165, 0x40056038, -0x20008ed4, -0x2003d855, +0x20008ef4, +0x2003d875, 0x464fb5f0, 0x464646d6, 0x0007b5c0, @@ -3308,8 +3315,8 @@ const uint elf_data0[] = { 0x46c0e7ec, 0x40054000, 0xd0000128, -0x2003d855, -0x2003d83c, +0x2003d875, +0x2003d85c, 0xe000e280, 0xf3efb510, 0xb6728410, @@ -3326,7 +3333,7 @@ const uint elf_data0[] = { 0x46c0bd10, 0xd0000128, 0x40054000, -0x2003d855, +0x2003d875, 0x0005b570, 0x0014000e, 0xd0242900, @@ -3525,7 +3532,7 @@ const uint elf_data0[] = { 0x4000c000, 0x4000e000, 0x4000f000, -0x2003d858, +0x2003d878, 0x00000301, 0x4a294b28, 0x601ab570, @@ -3573,14 +3580,14 @@ const uint elf_data0[] = { 0x003c7ffe, 0x4000f000, 0x4000c000, -0x20008d78, -0x20008d88, +0x20008d98, +0x20008da8, 0x01ffffff, 0x4001f000, -0x20008d68, -0x20008d78, 0x20008d88, -0x20008d8c, +0x20008d98, +0x20008da8, +0x20008dac, 0x00034a09, 0x28006810, 0x4908d005, @@ -3591,9 +3598,9 @@ const uint elf_data0[] = { 0x428b6010, 0x2001d9f7, 0xe7f54240, -0x2003d800, +0x2003d820, 0x20040000, -0x2003db60, +0x2003db80, 0xe7fdbe00, 0xb500b40f, 0xb0834808, @@ -3605,11 +3612,11 @@ const uint elf_data0[] = { 0xf0024803, 0xbe00fbe3, 0x46c0e7fd, -0x20008068, -0x20008078, +0x20008080, +0x20008090, 0x4801b510, 0xffe4f7ff, -0x2000807c, +0x20008094, 0x46deb5f0, 0x4657464e, 0xb5e04645, @@ -3676,7 +3683,7 @@ const uint elf_data0[] = { 0xd0fc421a, 0x46c0e7bb, 0x40008000, -0x20008ee4, +0x20008f04, 0xb082b510, 0x429c9c04, 0x9400d804, @@ -3734,7 +3741,7 @@ const uint elf_data0[] = { 0x95002100, 0xf7ff2006, 0xe7afff09, -0x20008ee4, +0x20008f04, 0x02dc6c00, 0x0000b71b, 0x40008000, @@ -3748,7 +3755,7 @@ const uint elf_data0[] = { 0x07735940, 0x00804b01, 0x477058c0, -0x20008ee4, +0x20008f04, 0x0004b5f8, 0x0017200c, 0x000e001d, @@ -3802,7 +3809,7 @@ const uint elf_data0[] = { 0x4b046058, 0x4770601a, 0x00ffffff, -0x2003d820, +0x2003d840, 0x40058000, 0x4005a000, 0x4a022380, @@ -4615,11 +4622,11 @@ const uint elf_data0[] = { 0x7fefffff, 0x41cdcd65, 0xc1cdcd65, -0x20008280, +0x20008298, 0x3fe00000, -0x20008088, -0x2000808c, -0x20008098, +0x200080a0, +0x200080a4, +0x200080b0, 0xd40007db, 0xe793e6d8, 0x2b009b23, @@ -4642,7 +4649,7 @@ const uint elf_data0[] = { 0x9b23e6db, 0x2b002420, 0xe6d6d1dc, -0x20008094, +0x200080ac, 0x46deb5f0, 0x464e4657, 0xb5e04645, @@ -4853,11 +4860,11 @@ const uint elf_data0[] = { 0xd0002b00, 0x46d1e118, 0xe67f1c74, -0x2000488d, -0x2003d81c, -0x200080a0, -0x200080e4, -0x20008130, +0x200048a9, +0x2003d83c, +0x200080b8, +0x200080fc, +0x20008148, 0x431a2321, 0x93043b19, 0x93023308, @@ -5092,7 +5099,7 @@ const uint elf_data0[] = { 0xe72f002c, 0x4692220a, 0x46c0e6c5, -0x20003c1d, +0x20003c39, 0xb085b500, 0x21019103, 0x93009002, @@ -5100,7 +5107,7 @@ const uint elf_data0[] = { 0xa902424a, 0xfc70f7ff, 0xbd00b005, -0x20004061, +0x2000407d, 0x4a09b510, 0x68140003, 0x2c00b084, @@ -5111,15 +5118,15 @@ const uint elf_data0[] = { 0xbd10b004, 0xf81ef001, 0xe7f92000, -0x2003d81c, -0x20004051, +0x2003d83c, +0x2000406d, 0x21044801, 0x47184b01, -0x200084e0, -0x20005021, +0x20008500, +0x2000503d, 0x689b4b01, 0x00004718, -0x200084e0, +0x20008500, 0xb5102314, 0x88180001, 0x881b3304, @@ -5452,11 +5459,11 @@ const uint elf_data0[] = { 0x685b4b1b, 0x930146fc, 0xdf04bd08, -0x20005787, +0x200057a3, 0x4b17b418, 0x46fc681b, 0xbd089301, -0x5791df00, +0x57addf00, 0x46942000, 0x6f924a13, 0xd2090892, @@ -5464,7 +5471,7 @@ const uint elf_data0[] = { 0x68db4b0f, 0x930146fc, 0xdf0cbd08, -0x20005a49, +0x20005a65, 0xb5f04a0c, 0x6e556e14, 0x6f166f57, @@ -5476,8 +5483,8 @@ const uint elf_data0[] = { 0x689b4b03, 0x930146fc, 0xdf08bd08, -0x200058ed, -0x2003d85c, +0x20005909, +0x2003d87c, 0xd0000000, 0x4050b5ff, 0x40504042, @@ -5539,7 +5546,7 @@ const uint elf_data0[] = { 0x1b094903, 0x43190509, 0xbd104311, -0x2003d834, +0x2003d854, 0x0000041f, 0x004cb510, 0x23800d62, @@ -5562,9 +5569,9 @@ const uint elf_data0[] = { 0x4b04b418, 0x46fc6a5b, 0xbd089301, -0x5bf9df24, +0x5c15df24, 0x00002000, -0x2003d85c, +0x2003d87c, 0xb5702313, 0x2c01781c, 0xdd10d015, @@ -5585,10 +5592,10 @@ const uint elf_data0[] = { 0x64aad1fc, 0x46c0e7eb, 0x00004453, -0x2003d85c, +0x2003d87c, 0x0000334c, -0x2003d834, -0x20005755, +0x2003d854, +0x20005771, 0x4660b507, 0x0a0a8801, 0x2adf3002, @@ -5599,7 +5606,7 @@ const uint elf_data0[] = { 0x6800e000, 0x50504a01, 0xbd079003, -0x2003d85c, +0x2003d87c, 0xbc03b40f, 0xb5f0bc0c, 0x07e42401, @@ -5917,7 +5924,7 @@ const uint elf_data0[] = { 0x41103220, 0x0018bd10, 0xbd100019, -0x20005c2b, +0x20005c47, 0x0fcc0d0a, 0x051b1e53, 0x05521ac9, @@ -5967,10 +5974,10 @@ const uint elf_data0[] = { 0x622367e3, 0xe7e561e3, 0x00004653, -0x2003d95c, +0x2003d97c, 0x0000334c, -0x2003d834, -0x20005d4d, +0x2003d854, +0x20005d69, 0x4660b507, 0x0a0a8801, 0x2adf3002, @@ -5981,33 +5988,33 @@ const uint elf_data0[] = { 0x6800e000, 0x50504a01, 0xbd079003, -0x2003d95c, +0x2003d97c, 0x0005b570, 0x4e0b000c, 0xf7fa0030, -0x0028fa6f, +0x0028fa61, 0xf0010021, 0x0005fb7f, 0xf7fa0030, -0x2d00faaf, +0x2d00faa1, 0x4b05d005, 0x429c192c, 0x0028d801, 0x4803bd70, 0xfd40f7fd, -0x20008d68, +0x20008d88, 0x20040000, -0x200082d0, +0x200082e8, 0x21044801, 0x47184b01, -0x200084f0, -0x20005021, +0x20008510, +0x2000503d, 0x681b4b01, 0x00004718, -0x200084f0, +0x20008510, 0x685b4b01, 0x00004718, -0x200084f0, +0x20008510, 0xb5100003, 0x681b0008, 0x47980011, @@ -6048,7 +6055,7 @@ const uint elf_data0[] = { 0x00116803, 0x47980028, 0x46c0e7e5, -0x2000832c, +0x20008344, 0x4b0fb5f8, 0x681c0005, 0xd0152c00, @@ -6065,8 +6072,8 @@ const uint elf_data0[] = { 0xd1ef2c00, 0x602b2300, 0x46c0bdf8, -0x2003d7f8, -0x2003d7fc, +0x2003d818, +0x2003d81c, 0x000cb570, 0x00056809, 0xd0042980, @@ -6079,14 +6086,14 @@ const uint elf_data0[] = { 0xb0834d09, 0x0028061b, 0x681ca901, -0xf9d6f7fa, +0xf9c8f7fa, 0xd1072800, 0xb2649b01, 0xd003429c, 0xf7fa0028, -0x2001f9a9, +0x2001f99b, 0xbd30b003, -0x20008d70, +0x20008d90, 0x464eb5f0, 0x465746de, 0xb5e04645, @@ -6136,12 +6143,12 @@ const uint elf_data0[] = { 0x703b0020, 0xe7e847c0, 0xf7fa4805, -0xe7d0f989, -0x20005df1, -0x2003d7f8, -0x2003d7fc, -0x20005de1, -0x20008d70, +0xe7d0f97b, +0x20005e0d, +0x2003d818, +0x2003d81c, +0x20005dfd, +0x20008d90, 0xb082b510, 0x0004466b, 0x1dd82200, @@ -6163,7 +6170,7 @@ const uint elf_data0[] = { 0xbd700028, 0x2c0068e4, 0xe7f9d1f3, -0x2003d7f8, +0x2003d818, 0x68134a0a, 0xd1052b00, 0x001ae00c, @@ -6175,7 +6182,7 @@ const uint elf_data0[] = { 0x477060c1, 0xd0fc2900, 0xe7fa6010, -0x2003d7f8, +0x2003d818, 0xb0a2b570, 0x0004000d, 0xff30f7ff, @@ -6198,11 +6205,11 @@ const uint elf_data0[] = { 0x2c0068e4, 0x2e00d1f0, 0x4804d0f7, -0xf90cf7fa, +0xf8fef7fa, 0x46c0e7f3, -0x20005ecd, -0x2003d7f8, -0x20008d70, +0x20005ee9, +0x2003d818, +0x20008d90, 0xb500b40f, 0xa904b083, 0x9101c901, @@ -6228,9 +6235,9 @@ const uint elf_data0[] = { 0x42196993, 0x6017d1fc, 0x46c0e7f2, -0x2003d84c, +0x2003d86c, 0xbffc8000, -0x2003d858, +0x2003d878, 0x0005b530, 0xdd122900, 0x24102000, @@ -6244,7 +6251,7 @@ const uint elf_data0[] = { 0x2800bd30, 0x2003d1fc, 0xe7f94240, -0x2003d84c, +0x2003d86c, 0x001cb570, 0x00154b0a, 0xf7fd6018, @@ -6257,8 +6264,8 @@ const uint elf_data0[] = { 0x2101fa4d, 0xf7ff4802, 0xbd70ff47, -0x2003d84c, -0x20008500, +0x2003d86c, +0x20008520, 0xb51021e1, 0x22004b05, 0x4b05781b, @@ -6266,8 +6273,8 @@ const uint elf_data0[] = { 0x23010249, 0xffd8f7ff, 0x46c0bd10, -0x20008454, -0x20008458, +0x2000846c, +0x20008470, 0x40034000, 0x46c0bd03, 0x0004b510, @@ -6333,9 +6340,9 @@ const uint elf_data0[] = { 0x46c0bd10, 0x20041e00, 0x20040978, -0x200061f9, +0x20006215, 0xe000ed00, -0x200061f5, +0x20006211, 0x4e11b570, 0x1b850004, 0x415d426b, @@ -6354,8 +6361,8 @@ const uint elf_data0[] = { 0xfa94f7fc, 0x4905bd70, 0x46c0e7f5, -0x2000851c, -0x2003d804, +0x2000853c, +0x2003d824, 0x00000664, 0x200003b9, 0x200003c9, @@ -6378,8 +6385,8 @@ const uint elf_data0[] = { 0xf8aaf000, 0x4905bd70, 0x46c0e7f1, -0x2000851c, -0x2003d804, +0x2000853c, +0x2003d824, 0x200003b9, 0x000008ff, 0x200003c9, @@ -6389,7 +6396,7 @@ const uint elf_data0[] = { 0x4b034398, 0x60183010, 0x46c04770, -0x20008514, +0x20008534, 0x4000e000, 0x46deb5f8, 0x464e4657, @@ -6457,7 +6464,7 @@ const uint elf_data0[] = { 0x639563d5, 0xf7ff50d4, 0xbd70ff7d, -0x20008514, +0x20008534, 0x4000e000, 0x4000f000, 0x4000c000, @@ -6577,7 +6584,7 @@ const uint elf_data0[] = { 0x0000040c, 0x50000414, 0x50001414, -0x2003d7f0, +0x2003d810, 0x20000901, 0x50000404, 0x50001404, @@ -6723,7 +6730,7 @@ const uint elf_data0[] = { 0x46994690, 0x46ab46a2, 0x46c0bdf0, -0x20008390, +0x200083a8, 0x9fffffff, 0xafe00000, 0x680e0000, @@ -7030,7 +7037,7 @@ const uint elf_data0[] = { 0x4803e7a8, 0x60134043, 0xe7a3600b, -0x2000839c, +0x200083b4, 0x000002ff, 0x464eb5f8, 0x46de4645, @@ -7115,8 +7122,8 @@ const uint elf_data0[] = { 0x686adccb, 0x4282e7e5, 0xe7d5dbb4, -0x2003da5c, -0x2003db5c, +0x2003da7c, +0x2003db7c, 0x000ffc00, 0xb089b530, 0x466d0001, @@ -7142,31 +7149,31 @@ const uint elf_data0[] = { 0x1879632b, 0xd0192a00, 0x00300022, -0xfa4af039, +0xfa3cf039, 0x08614b1d, 0x4b1d62eb, 0x00220089, 0x632b0030, 0xf0391879, -0x23c2fa3f, +0x23c2fa31, 0x62eb015b, 0x00224b18, 0x00300039, 0xf039632b, -0xbdf8fb73, +0xbdf8fb65, 0x00300022, -0xfee8f000, +0xfee6f000, 0x08614b10, 0x4b1062eb, 0x00220089, 0x632b0030, 0xf0001879, -0x23c2fedd, +0x23c2fedb, 0x62eb015b, 0x00224b0b, 0x00300039, 0xf000632b, -0xe7e4fee3, +0xe7e4fee1, 0x00023193, 0xd00000c0, 0xd0000080, @@ -7182,8 +7189,8 @@ const uint elf_data0[] = { 0x4803230b, 0xfbaaf7fb, 0xbd00b003, -0x200083ac, -0x2003d850, +0x200083c4, +0x2003d870, 0x46ceb5f8, 0x23054647, 0x56cbb580, @@ -7219,8 +7226,8 @@ const uint elf_data0[] = { 0x4803bdf8, 0xfbb2f7fc, 0xafd00000, -0x20008ecc, -0x200083cc, +0x20008eec, +0x200083e4, 0xb5104b12, 0x4460469c, 0x41584243, @@ -7241,7 +7248,7 @@ const uint elf_data0[] = { 0xd1f94214, 0x46c0e7f0, 0xafd00000, -0x20008ecc, +0x20008eec, 0xb5104b07, 0xd0044298, 0x48074a06, @@ -7251,9 +7258,9 @@ const uint elf_data0[] = { 0xfafef7fb, 0x46c0e7f8, 0x50300000, -0x20008404, -0x2003d853, -0x200083e0, +0x2000841c, +0x2003d873, +0x200083f8, 0xb5104b0b, 0x4460469c, 0x41444244, @@ -7267,8 +7274,8 @@ const uint elf_data0[] = { 0x42402001, 0x46c0e7fa, 0xafd00000, -0x20008420, -0x2003d853, +0x20008438, +0x2003d873, 0x000cb5f8, 0xf7fb0006, 0x2205fabb, @@ -7283,7 +7290,7 @@ const uint elf_data0[] = { 0xbdf80028, 0xf7fc4801, 0x46c0fb31, -0x200083cc, +0x200083e4, 0x2501b570, 0x0004790b, 0x3d01409d, @@ -7296,7 +7303,7 @@ const uint elf_data0[] = { 0xf7fb505a, 0xbd70fa99, 0xafd00000, -0x20008ecc, +0x20008eec, 0x46deb5f0, 0x464e4657, 0x468b4645, @@ -7464,7 +7471,7 @@ const uint elf_data0[] = { 0x00180001, 0xf804f000, 0x46c0bd10, -0x20008528, +0x20008548, 0x4351b510, 0xf82af000, 0xd00e1e04, @@ -7708,10 +7715,10 @@ const uint elf_data0[] = { 0x60e160a2, 0x60d4608c, 0x46c0e6d5, -0x20008960, +0x20008980, 0x000001ff, -0x20008958, -0x20008e90, +0x20008978, +0x20008eb0, 0x0000100f, 0x00001008, 0xd9522814, @@ -7853,7 +7860,7 @@ const uint elf_data0[] = { 0x6823bd70, 0xd0fb2b00, 0xe7f9602b, -0x2003db5c, +0x2003db7c, 0x0783b510, 0x7803d027, 0xd0262b00, @@ -7915,11 +7922,11 @@ const uint elf_data0[] = { 0x60084905, 0x430b2101, 0xe7d56053, -0x20008960, +0x20008980, 0x00000fef, 0x00000fff, -0x20008e94, -0x20008958, +0x20008eb4, +0x20008978, 0x46d6b5f0, 0x4646464f, 0xb5c00005, @@ -8033,13 +8040,12 @@ const uint elf_data0[] = { 0x431ce794, 0x6003604c, 0x46c0e780, -0x20008960, -0x20008968, +0x20008980, +0x20008988, 0x000001ff, -0x2000895c, -0x20008e90, +0x2000897c, +0x20008eb0, 0x00000554, -0x00000000, 0x4802b401, 0xbc014684, 0xbf004760, @@ -8107,15 +8113,15 @@ const uint elf_data0[] = { 0x68636120, 0x65766569, 0x00000064, -0x20007ed4, +0x20007eec, 0x0000ff13, -0x20007efc, +0x20007f14, 0x0000ff15, -0x20007f28, +0x20007f40, 0x0000ff14, -0x20007f50, +0x20007f68, 0x0000ff06, -0x20007f5c, +0x20007f74, 0x0000ff07, 0x6840e826, 0x6004e88f, @@ -8232,126 +8238,126 @@ const uint elf_data0[] = { 0x006e616e, 0x2d696e66, 0x00000000, -0x2000494e, -0x20004904, -0x20004904, -0x20004946, -0x20004904, -0x20004904, -0x20004904, -0x20004904, -0x20004904, -0x20004904, -0x20004904, -0x2000493e, -0x20004904, -0x20004936, -0x20004904, -0x20004904, -0x2000492e, -0x20004ac4, -0x20004966, -0x20004ab8, -0x20004966, -0x20004956, -0x20004966, -0x20004966, -0x20004966, -0x20004966, -0x20004966, -0x20004966, -0x20004966, -0x20004978, -0x20004966, -0x20004966, -0x20004966, -0x20004966, -0x20004966, -0x20004978, -0x20004b08, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x20004cb0, +0x2000496a, +0x20004920, +0x20004920, +0x20004962, +0x20004920, +0x20004920, +0x20004920, +0x20004920, +0x20004920, +0x20004920, +0x20004920, +0x2000495a, +0x20004920, +0x20004952, +0x20004920, +0x20004920, +0x2000494a, +0x20004ae0, +0x20004982, 0x20004ad4, -0x20004cb0, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x20004a3a, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x20004a3a, -0x20004c16, -0x20004a3a, -0x20004cb0, -0x20004ad4, -0x20004cb0, -0x2000498c, -0x20004a3a, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x2000498c, -0x20004a3a, -0x20004be8, -0x2000498c, -0x2000498c, -0x20004b1e, -0x2000498c, -0x20004a3a, -0x2000498c, -0x2000498c, -0x20004a3a, +0x20004982, +0x20004972, +0x20004982, +0x20004982, +0x20004982, +0x20004982, +0x20004982, +0x20004982, +0x20004982, +0x20004994, +0x20004982, +0x20004982, +0x20004982, +0x20004982, +0x20004982, +0x20004994, +0x20004b24, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x20004ccc, +0x20004af0, +0x20004ccc, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x20004a56, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x20004a56, +0x20004c32, +0x20004a56, +0x20004ccc, +0x20004af0, +0x20004ccc, +0x200049a8, +0x20004a56, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x200049a8, +0x20004a56, +0x20004c04, +0x200049a8, +0x200049a8, +0x20004b3a, +0x200049a8, +0x20004a56, +0x200049a8, +0x200049a8, +0x20004a56, 0x00000000, 0x3ff00000, 0x00000000, @@ -8387,14 +8393,14 @@ const uint elf_data0[] = { 0x6f636970, 0x00000000, 0x2079614d, -0x32203131, +0x32203831, 0x00333230, 0x50520006, 0xb63cffbb, -0x20008300, +0x20008318, 0x50520006, 0x4275f0d3, -0x200082e0, +0x200082f8, 0x00000a0d, 0x54524155, 0x64747320, @@ -8409,7 +8415,7 @@ const uint elf_data0[] = { 0x0074756f, 0x50520006, 0xa1f4b453, -0x20008348, +0x20008360, 0x50520008, 0x00000092, 0x53444d54, @@ -8420,7 +8426,7 @@ const uint elf_data0[] = { 0x206e6920, 0x21515249, 0x00000000, -0x20008398, +0x200083b0, 0x00000002, 0x68a170a1, 0x00fefefc, @@ -8466,13 +8472,13 @@ const uint elf_data0[] = { 0x616c6961, 0x00656c62, 0x20000098, -0x20008314, +0x2000832c, 0x2000008c, -0x20008320, -0x2000835c, -0x20008368, +0x20008338, +0x20008374, +0x20008380, }; -constexpr uint elf_data1_addr = 0x20008460; +constexpr uint elf_data1_addr = 0x20008480; const uint elf_data1[] = { 0x00000010, 0x00000000, @@ -8492,14 +8498,14 @@ const uint elf_data1[] = { 0x46704700, 0x49013809, 0xbd014788, -0x20002abd, -0x200084c4, +0x20002ad9, +0x200084e4, 0x00000000, -0x20008d90, -0x20008f0c, +0x20008db0, +0x20008f2c, 0x00000000, 0x00000000, -0x20008f1c, +0x20008f3c, 0x00000000, 0x00000000, 0x00000010, @@ -8514,9 +8520,9 @@ const uint elf_data1[] = { 0x0000434d, 0x00003453, 0x00003443, -0x20006111, +0x2000612d, 0x00000000, -0x2000615d, +0x20006179, 0x00000000, 0x00000100, 0x40044000, @@ -8524,12 +8530,12 @@ const uint elf_data1[] = { 0x40048000, 0x00000000, 0x00000000, -0x20008530, +0x20008550, 0x00000000, 0x00000000, -0x2000881c, -0x20008884, -0x200088ec, +0x2000883c, +0x200088a4, +0x2000890c, 0x00000000, 0x00000000, 0x00000000, @@ -8796,14 +8802,6 @@ const uint elf_data1[] = { 0x00020000, 0x00000000, 0x00000000, -0x20008960, -0x20008960, -0x20008968, -0x20008968, -0x20008970, -0x20008970, -0x20008978, -0x20008978, 0x20008980, 0x20008980, 0x20008988, @@ -9052,15 +9050,23 @@ const uint elf_data1[] = { 0x20008d50, 0x20008d58, 0x20008d58, +0x20008d60, +0x20008d60, +0x20008d68, +0x20008d68, +0x20008d70, +0x20008d70, +0x20008d78, +0x20008d78, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -0x20005db9, -0x20004fe5, -0x200056f5, -0x20005ce9, -0x20000d1d, +0x20005dd5, +0x20005001, +0x20005711, +0x20005d05, +0x20000d39, }; constexpr uint elf_data2_addr = 0x20040000; const uint elf_data2[] = { diff --git a/examples/dv_stick/dv_stick_test.cpp b/examples/dv_stick/dv_stick_test.cpp index 862a99c5..987397ce 100644 --- a/examples/dv_stick/dv_stick_test.cpp +++ b/examples/dv_stick/dv_stick_test.cpp @@ -56,6 +56,7 @@ int main() { display.flip(); printf("Starting\n"); + graphics.set_font("bitmap8"); constexpr int NUM_CIRCLES = 50; struct Circle { @@ -86,12 +87,14 @@ int main() { } } +#if 0 for (uint i = 0; i < 128; i++) { for (uint j = 0; j < 256; j++) { graphics.set_pen((j << 7) | i); graphics.pixel(Point(i, j+128)); } } +#endif for(int i =0 ; i < NUM_CIRCLES ; i++) { @@ -124,6 +127,14 @@ int main() { uint32_t render_time = time_us_32() - render_start_time; + char buffer[8]; + sprintf(buffer, "%s %s %s", + gpio_get(BUTTON_A) == 0 ? "A" : " ", + display.is_button_b_pressed() ? "B" : " ", + display.is_button_c_pressed() ? "C" : " "); + graphics.set_pen(0); + graphics.text(buffer, {500,10}, FRAME_WIDTH - 500, 3); + uint32_t flip_start_time = time_us_32(); display.flip(); uint32_t flip_time = time_us_32() - flip_start_time;