diff options
Diffstat (limited to 'drivers/oled/ssd1306_sh1106.c')
| -rw-r--r-- | drivers/oled/ssd1306_sh1106.c | 49 | 
1 files changed, 32 insertions, 17 deletions
| diff --git a/drivers/oled/ssd1306_sh1106.c b/drivers/oled/ssd1306_sh1106.c index d9bd3c14bd..30cfeb5648 100644 --- a/drivers/oled/ssd1306_sh1106.c +++ b/drivers/oled/ssd1306_sh1106.c @@ -53,7 +53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define PAGE_ADDR 0x22  #define PAM_SETCOLUMN_LSB 0x00  #define PAM_SETCOLUMN_MSB 0x10 -#define PAM_PAGE_ADDR 0xB0  // 0xb0 -- 0xb7 +#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7  // Hardware Configuration Commands  #define DISPLAY_START_LINE 0x40 @@ -97,9 +97,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define I2C_DATA 0x40  #if defined(__AVR__)  #    define I2C_TRANSMIT_P(data) i2c_transmit_P((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#else  // defined(__AVR__) +#else // defined(__AVR__)  #    define I2C_TRANSMIT_P(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#endif  // defined(__AVR__) +#endif // defined(__AVR__)  #define I2C_TRANSMIT(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT)  #define I2C_WRITE_REG(mode, data, size) i2c_writeReg((OLED_DISPLAY_ADDRESS << 1), mode, data, size, OLED_I2C_TIMEOUT) @@ -119,7 +119,7 @@ bool            oled_inverted       = false;  uint8_t         oled_brightness     = OLED_BRIGHTNESS;  oled_rotation_t oled_rotation       = 0;  uint8_t         oled_rotation_width = 0; -uint8_t         oled_scroll_speed   = 0;  // this holds the speed after being remapped to ssd1306 internal values +uint8_t         oled_scroll_speed   = 0; // this holds the speed after being remapped to ssd1306 internal values  uint8_t         oled_scroll_start   = 0;  uint8_t         oled_scroll_end     = 7;  #if OLED_TIMEOUT > 0 @@ -190,7 +190,7 @@ bool oled_init(oled_rotation_t rotation) {  #if (OLED_IC != OLED_IC_SH1106)          // MEMORY_MODE is unsupported on SH1106 (Page Addressing only)          MEMORY_MODE, -        0x00,  // Horizontal addressing mode +        0x00, // Horizontal addressing mode  #endif      };      if (I2C_TRANSMIT_P(display_setup1) != I2C_STATUS_SUCCESS) { @@ -232,8 +232,12 @@ bool oled_init(oled_rotation_t rotation) {      return true;  } -__attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return rotation; } -__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } +__attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) { +    return rotation; +} +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { +    return rotation; +}  void oled_clear(void) {      memset(oled_buffer, 0, sizeof(oled_buffer)); @@ -306,9 +310,9 @@ void oled_render(void) {      // Set column & page position      static uint8_t display_start[] = {I2C_CMD, COLUMN_ADDR, 0, OLED_DISPLAY_WIDTH - 1, PAGE_ADDR, 0, OLED_DISPLAY_HEIGHT / 8 - 1};      if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { -        calc_bounds(update_start, &display_start[1]);  // Offset from I2C_CMD byte at the start +        calc_bounds(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start      } else { -        calc_bounds_90(update_start, &display_start[1]);  // Offset from I2C_CMD byte at the start +        calc_bounds_90(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start      }      // Send column & page position @@ -368,7 +372,8 @@ void oled_advance_page(bool clearPageRemainder) {          remaining = remaining / OLED_FONT_WIDTH;          // Write empty character until next line -        while (remaining--) oled_write_char(' ', false); +        while (remaining--) +            oled_write_char(' ', false);      } else {          // Next page index out of bounds?          if (index + remaining >= OLED_MATRIX_SIZE) { @@ -419,7 +424,7 @@ void oled_write_char(const char data, bool invert) {      _Static_assert(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array");      // set the reder buffer data -    uint8_t cast_data = (uint8_t)data;  // font based on unsigned type for index +    uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index      if (cast_data < OLED_FONT_START || cast_data > OLED_FONT_END) {          memset(oled_cursor, 0x00, OLED_FONT_WIDTH);      } else { @@ -545,7 +550,7 @@ void oled_write_raw_P(const char *data, uint16_t size) {          oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE));      }  } -#endif  // defined(__AVR__) +#endif // defined(__AVR__)  bool oled_on(void) {      if (!oled_initialized) { @@ -595,7 +600,9 @@ bool oled_off(void) {      return !oled_active;  } -bool is_oled_on(void) { return oled_active; } +bool is_oled_on(void) { +    return oled_active; +}  uint8_t oled_set_brightness(uint8_t level) {      if (!oled_initialized) { @@ -613,7 +620,9 @@ uint8_t oled_set_brightness(uint8_t level) {      return oled_brightness;  } -uint8_t oled_get_brightness(void) { return oled_brightness; } +uint8_t oled_get_brightness(void) { +    return oled_brightness; +}  // Set the specific 8 lines rows of the screen to scroll.  // 0 is the default for start, and 7 for end, which is the entire @@ -693,7 +702,9 @@ bool oled_scroll_off(void) {      return !oled_scrolling;  } -bool is_oled_scrolling(void) { return oled_scrolling; } +bool is_oled_scrolling(void) { +    return oled_scrolling; +}  bool oled_invert(bool invert) {      if (!oled_initialized) { @@ -777,5 +788,9 @@ void oled_task(void) {  #endif  } -__attribute__((weak)) bool oled_task_kb(void) { return oled_task_user(); } -__attribute__((weak)) bool oled_task_user(void) { return true; } +__attribute__((weak)) bool oled_task_kb(void) { +    return oled_task_user(); +} +__attribute__((weak)) bool oled_task_user(void) { +    return true; +} | 
