<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_firmware.git/drivers/oled, branch master</title>
<subtitle>forked from https://github.com/qmk/qmk_firmware</subtitle>
<id>https://git.tsegers.com/qmk_firmware.git/atom?h=master</id>
<link rel='self' href='https://git.tsegers.com/qmk_firmware.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/'/>
<updated>2020-10-03T18:44:19Z</updated>
<entry>
<title>OLED driver fixes (#10377)</title>
<updated>2020-10-03T18:44:19Z</updated>
<author>
<name>Sergey Vlasov</name>
<email>sigprof@gmail.com</email>
</author>
<published>2020-10-03T18:44:19Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=459ccb681f991d5b39060d25197233ac9c51d8b9'/>
<id>urn:sha1:459ccb681f991d5b39060d25197233ac9c51d8b9</id>
<content type='text'>
* Fix dirtying in oled_write_pixel()

Set the dirty bit for the block only if oled_write_pixel() actually
changed the buffer state.  Without this check oled_write_pixel() could
not be used inside the oled_task_user() code using the “redraw always”
style, because the blocks touched by oled_write_pixel() would always
appear dirty, and oled_render() would not proceed beyond the first such
dirty block.

* Fix oled_write_pixel() with 90/270 degree rotation

Use oled_rotation_width instead of OLED_DISPLAY_WIDTH, so that a rotated
display would be handled correctly.

* Fix compilation with custom OLED_BLOCK_COUNT and OLED_BLOCK_SIZE

Some OLED sizes (e.g., 64×48) may require a nonstandard value of
OLED_BLOCK_COUNT.  The documentation says that this value may be
redefined in config.h, but actually trying to redefine it caused a
compile error, because the macro was redefined in oled_driver.c.
Make the OLED_BLOCK_COUNT definition in oled_driver.c respect any
user override, and do the same for OLED_BLOCK_SIZE just in case.

* Fix handling of out-of-range bits in oled_dirty

If a custom OLED_BLOCK_COUNT value is specified, some bits in oled_dirty
may not correspond to existing blocks; however, if those bits are set
somewhere (e.g., by code with sets oled_dirty to ~0 or even -1),
oled_render() would try to handle them and could access memory beyond
oled_buffer and perform hardware operations with out of range values.
Prevent this by masking off unused bits in oled_render(), and also avoid
setting those bits in other functions.

* Fix potentially wrong dirtying in oled_write_char()

oled_write_char() tried to mark the position just beyond the written
character as dirty; use (OLED_FONT_WIDTH - 1) to dirty the last position
still belonging to the character instead.

* Fix `#define OLED_BLOCK_TYPE uint32_t` on AVR

Using uint32_t as OLED_BLOCK_TYPE did not work properly on AVR, because
some bit shifts were performed using 16-bit int.  Add explicit casts to
OLED_BLOCK_TYPE to those shifts.</content>
</entry>
<entry>
<title>Add OLED driver function to determine if the screen is currently on (#10382)</title>
<updated>2020-09-22T01:39:50Z</updated>
<author>
<name>Fred Silberberg</name>
<email>fred@silberberg.xyz</email>
</author>
<published>2020-09-22T01:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=c23667608c6ebb8f6d8a7f9b115144abd8794e00'/>
<id>urn:sha1:c23667608c6ebb8f6d8a7f9b115144abd8794e00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>format code according to conventions [skip ci]</title>
<updated>2020-08-29T22:57:48Z</updated>
<author>
<name>QMK Bot</name>
<email>hello@qmk.fm</email>
</author>
<published>2020-08-29T22:57:48Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=a3db72df7299140e52f57d082a3742a8b480a226'/>
<id>urn:sha1:a3db72df7299140e52f57d082a3742a8b480a226</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a method to read the OLED display buffer from user space (#8777)</title>
<updated>2020-08-29T21:30:02Z</updated>
<author>
<name>Richard</name>
<email>rich@brickbots.com</email>
</author>
<published>2020-08-24T14:40:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=fa6cf8572736f16d2fe076c21546d08f258e145f'/>
<id>urn:sha1:fa6cf8572736f16d2fe076c21546d08f258e145f</id>
<content type='text'>
* Adding extern and declaration

* Change to mediated buffer read

* Adding raw byte read

* Restore write raw... D'Oh

* Working struct return

* Pack that struct

* Remove conditional packing and add example to docs

* Cleanup tab/spaces

* Update docs/feature_oled_driver.md

Prettify formatting

* Update drivers/oled/oled_driver.h

Prettify formatting
</content>
</entry>
<entry>
<title>Enable OLED support for Teensy 3.2/LC (#7591)</title>
<updated>2020-07-25T21:50:56Z</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2020-07-25T21:50:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=d91987ab9adbf7bba9f47deb6b30a02d28e7195d'/>
<id>urn:sha1:d91987ab9adbf7bba9f47deb6b30a02d28e7195d</id>
<content type='text'>
* I2C_TIMEOUT is not defined on arm teensy

* Work round teensy having different ChibiOS config options

* Stash OLED conf files

* update comment

* update comment

* Remove stm32 alias to allow teensy alt mode</content>
</entry>
<entry>
<title>OLED driver function to set pixels (#9713)</title>
<updated>2020-07-16T05:48:04Z</updated>
<author>
<name>Gautham Yerroju</name>
<email>gautham.yerroju@gmail.com</email>
</author>
<published>2020-07-16T05:48:04Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=92d0a71af71973ac3f80398ed4f7f61dd97733b3'/>
<id>urn:sha1:92d0a71af71973ac3f80398ed4f7f61dd97733b3</id>
<content type='text'>
* Add a function to set individual pixels

* Add documentation for oled_write_pixel

* use smaller data type for oled_write_pixel

* Fix boundary check edge case

* Update oled_write_pixel doc

Co-authored-by: Ryan &lt;fauxpark@gmail.com&gt;

Co-authored-by: Ryan &lt;fauxpark@gmail.com&gt;</content>
</entry>
<entry>
<title>Fix off by one error with oled_write_raw_P (#9045)</title>
<updated>2020-05-10T03:14:07Z</updated>
<author>
<name>Brian Mock</name>
<email>brian@mockbrian.com</email>
</author>
<published>2020-05-10T03:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=8ca4ed9a987f9e7815a813592a0210c4853386e6'/>
<id>urn:sha1:8ca4ed9a987f9e7815a813592a0210c4853386e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fixed problem with implicit declaration in quantum/rgblight.c (#8406)</title>
<updated>2020-03-28T23:35:11Z</updated>
<author>
<name>Casper Weiss Bang</name>
<email>master@thecdk.net</email>
</author>
<published>2020-03-28T23:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=13fff52f6b629e4345e7ea2296b3d100aa9df245'/>
<id>urn:sha1:13fff52f6b629e4345e7ea2296b3d100aa9df245</id>
<content type='text'>
* Update tmk_core/common/progmem.h

Co-Authored-By: Ryan &lt;fauxpark@gmail.com&gt;

* Update quantum/rgblight.c

Co-Authored-By: Ryan &lt;fauxpark@gmail.com&gt;

* fixed problem with implicit declaration in quantum/rgblight.c (#8381)

Co-authored-by: Ryan &lt;fauxpark@gmail.com&gt;</content>
</entry>
<entry>
<title>format code according to conventions [skip ci]</title>
<updated>2020-03-14T21:37:29Z</updated>
<author>
<name>QMK Bot</name>
<email>hello@qmk.fm</email>
</author>
<published>2020-03-14T21:37:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=60b020acabf5f78976203213bfd0097eed7656a4'/>
<id>urn:sha1:60b020acabf5f78976203213bfd0097eed7656a4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adding OLED scroll setup functions (#8386)</title>
<updated>2020-03-14T21:04:34Z</updated>
<author>
<name>brickbots</name>
<email>rich@brickbots.com</email>
</author>
<published>2020-03-14T21:04:34Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/qmk_firmware.git/commit/?id=b5be96f8bb65d526a744795e8e3777d5ed47a034'/>
<id>urn:sha1:b5be96f8bb65d526a744795e8e3777d5ed47a034</id>
<content type='text'>
* Adding scroll setup functions:

* Clarifying values stored in oled_scroll_speed</content>
</entry>
</feed>
