38 Commits

Author SHA1 Message Date
Gordon Williams
6baf1a5e61 Bangle.js2: When rendering overlays, *do not* use the current FG/BG color for 1 bit overlays
https://github.com/espruino/BangleApps/issues/3003#issuecomment-1714227292
2023-09-13 08:54:05 +01:00
Gordon Williams
c0e3f125a2 Support for Overlays when SPILCD driver used
Bangle.js2: Show a message on screen when compacting storage (fix #2391)
2023-07-24 16:16:41 +01:00
Gordon Williams
e5842866e1 Bangle.js2: Ensure overlays are flipped when screen is flipped 180 degrees (eg. left-handed mode)
Fix https://github.com/espruino/BangleApps/issues/2767
2023-05-23 10:44:44 +01:00
Gordon Williams
9ef21c97e8 Fix 'ghosting' issue on Welcome screen (forcing timeout/lcdPower/etc at boot could disable the EXTCOMIN toggle) 2023-03-22 09:34:38 +00:00
Gordon Williams
a0876b12ff remove optimisation for emulator - fills didn't work as it couldn't do unaligned 32 bit accesses 2022-11-18 10:50:13 +00:00
Gordon Williams
dab0b66318 Bangle.js2: Use 8x3bpp block fill with masking (now at least 6x faster than 2v15) 2022-11-05 10:57:02 +00:00
Gordon Williams
f7403602c2 Bangle.js2: Flip LCD SPI bit order so operations in Espruino can be faster (45% faster fillRect) 2022-11-02 16:09:54 +00:00
Gordon Williams
1ff5d8ec03 Well that sucked. When we moved to 4bpp we were loads faster to draw to graphics, but the transfer speed to the LCD was 33% slower and it turns out that really hit us
Instead go back to 3bpp and having learnt some lessons, try and make it a little faster
2022-11-02 15:12:21 +00:00
Gordon Williams
a6224209b4 Fix minor regression in 4 bit code 2022-11-02 14:50:36 +00:00
Gordon Williams
d42b09a5f6 Bangle.js2: Switch to 4 bit LCD mode (3900b wasted, but 5x fill speed increase) 2022-11-02 14:44:49 +00:00
Gordon Williams
1a49b5f274 Bangle.js2: LCD background flip (send to LCD while returning to execute other code) 2022-10-20 14:58:36 +01:00
Gordon Williams
7aa73b5ba8 Bangle.js2: Add fast-path for all-white or all-black full-width graphics fill/clear (24ms -> 2ms) 2022-10-20 13:56:21 +01:00
Gordon Williams
ed32a35e7b Bangle.js2: Fixed Bangle.setLCDOverlay(img,x,y) with negative offsets 2022-09-28 09:39:57 +01:00
Gordon Williams
5a99fbdafe Fix overlay positioning for partial updates 2022-07-27 16:17:47 +01:00
Gordon Williams
d6d37dfb2e Bangle.js2: Added Bangle.setLCDOverlay(img,x,y) to allow an image to be overlaid on top of screen contents (eg for notifications) 2022-07-27 15:58:22 +01:00
Gordon Williams
6e73a8ed03 First try, using Graphics instance (should move to image) 2022-07-27 14:54:51 +01:00
Gordon Williams
2cf4ea3877 Bangle.js2: Lower bootloader LCD SPI bitrate (was out of spec, not all LCDs worked with it) 2022-01-06 11:33:36 +00:00
Gordon Williams
92bc535914 Bangle.js2: Ensure EXTCOMIN time for LCD is nearer 2us (from datasheet) (ref #2097) 2021-11-29 16:29:13 +00:00
Gordon Williams
c118a9f89e Bangle.js2: Fix 'stuck' bottom row of pixels if scrolling downwards with g.scroll(0,1) 2021-10-26 09:21:06 +01:00
Gordon Williams
e601885015 Support for Bangle.js 2 emulator 2021-10-04 21:14:20 +01:00
Gordon Williams
cd1f1da465 Bangle.js 2: Increase reported bit depth from 3->16 and perform bayer dithering when rendering
Makes icons/old apps way more usable (plus provides an easy way to get >3bpp)
2021-09-28 16:26:29 +01:00
Gordon Williams
bf541554b9 Minor scroll tweaks to avoid missed line on scroll up 2021-06-30 10:24:15 +01:00
Gordon Williams
6fac7a1d21 allow some margin for memory safety 2021-06-24 10:25:51 +01:00
Gordon Williams
73d979cbd3 Q3 scroll fixes and faster fill 2021-06-24 10:20:54 +01:00
Gordon Williams
44f404e1da Marginally faster setPixel 2021-06-17 13:18:03 +01:00
Gordon Williams
5d67bfcd78 Fast horizontal scroll (3 or 4 bit mode), fix colours in 4 bit mode 2021-06-17 13:11:22 +01:00
Gordon Williams
b0249aa436 Graphics: Allow 'scroll' method to only scroll inside clipRect 2021-05-27 13:26:35 +01:00
Gordon Williams
28fa59fb8a Ensure memory LCD turns off, toggle EXTCOMIN as per spec (120Hz when backlight on) 2021-05-27 08:50:25 +01:00
Gordon Williams
72e3dea851 Remove memory LCD 240px mode as it wasn't very satisfactory 2021-05-26 11:31:43 +01:00
Gordon Williams
2cf7137471 memory LCD scrolling, theme fixes 2021-05-26 11:14:36 +01:00
Gordon Williams
636c4ec0c0 SMAQ3: Add a 240x240 LCD mode that can display old-style Bangle apps 2021-02-25 16:36:51 +00:00
Gordon Williams
dd86ffad08 Add support for relaying full touchscreen events in devices that support it
Fix flip-on-idle behaviour for non-Bangle.js smartwatch ports
2020-11-17 14:18:43 +00:00
atc1441
a239236cd0
Update mode set is only needed to be set once before an update 2020-07-24 13:51:38 +02:00
Gordon Williams
8eaa4278cb Add EXTCOMIN toggling - thanks @atc1441! 2020-07-24 08:28:26 +01:00
atc1441
e06b2b512f
Last line problem fix, not tested right now by me 2020-07-23 21:35:40 +02:00
Gordon Williams
c31e2a4a93 Improve memory LCD performance 2020-07-23 10:41:39 +01:00
Gordon Williams
68caec0e74 Add incomprehensible (but somehow working) 3 BPP mode 2020-07-14 15:51:56 +01:00
Gordon Williams
b9122196be SMAQ3 runs with LCD, beep,buzz,button - no working accel/compass/etc yet 2020-07-03 13:51:51 +01:00