Commit Graph

29 Commits

Author SHA1 Message Date
Michael Jung
9140693567 Add lcd_dev_s pointer to lcd_planeinfo_s
In order to support multiple LCD instances per board, add a pointer from
lcd_planeinfo_s to the lcd_dev_s which it belongs to.  Also enhance the
putrun, getrun, putarea and getarea methods to pass through the
lcd_dev_s pointer to the respective device driver.

Port all LCD device drivers to this lcd_planeinfo_s extension.

Enhance SSD1306 driver to support multiple LCDs.

Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-06-21 21:33:23 +08:00
Cis van Mierlo
12469dd15e SSD1306: Added option to force reconfigure display after power off 2022-05-24 23:25:24 +08:00
Xiang Xiao
2e54df0f35 Don't include assert.h from public header file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Alin Jerpelea
e5b6305f4a drivers: Author Gregory Nutt: update licenses to Apache
Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-04 18:32:27 -08:00
ligd
f63db66382 mqueue: add file_mq_xx for kernel use
Change-Id: Ida12f5938388cca2f233a4cde90277a218033645
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-01-05 02:40:43 -06:00
Brennan Ashton
b459645105 lcd: Minor fixes to ssd1306 i2c driver
The sendblk function was missing NOSTOP on the first msg of the
i2c transaction. This could cause an extra STOP to be inserted
in the transaction.

The driver uses up_mdelay for some timing where it should be
using a sleep.

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-11-02 00:04:08 -08:00
Juha Niskanen
d53abbc4ac drivers/lcd: ssd1306: cleanup to comments, README, nxstyle issues
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-28 19:28:30 -07:00
Juha Niskanen
bdb398fa8c drivers/lcd: ssd1306: fix one bad debug assert
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-28 19:28:30 -07:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Sebastien Lorquet
9527f849f4 drivers/lcd: Detect and handle more errors in return values within the LCD framebuffer and SSD1306 drivers 2018-02-19 07:32:44 -06:00
Gregory Nutt
3dfb5e962b Fix a few typos 2018-02-15 10:43:05 -06:00
Gregory Nutt
c2c2c4f111 drivers/lcd: Make LCD driver configuration indepently selected from NX graphics configuration. This makes things awkward and loses some error checking but is a necessary step in order to make LCD drivers usable when the NX graphics system is disabled. 2017-11-25 13:13:30 -06:00
Jussi Kivilinna
a099506b1b drivers/lcd: ssd1306: separate lcd_dev_s setup to separate object. g_oleddev takes 1 KiB because framebuffer and was allocated to .data section because of lcd_dev_s function pointer setup. Move lcd_dev_s setup out, so that g_oleddev goes to .bss and avoid wasting ROM. 2017-08-22 08:46:00 -06:00
ussi Kivilinna
89cc4741ac drivers/lcd: ssd1306: fix memory corruption caused by ssd1306_getrun(). ssd1306_getrun was writing one extra byte (with value 0) past target buffer when pixlen is multiple of 8. When pixlen was not multiple of 8, last byte of buffer was fully cleared, instead of modifying only the (pixlen % 8) bits of last byte. 2017-08-22 08:42:40 -06:00
Jussi Kivilinna
3dfeb9e59f drivers/lcd: ssd1306: add support for board power control. ThingseeOne has regulator for controlling display power on/off. Patch adds support for board based power control to SSD1306 driver. 2017-08-22 08:40:27 -06:00
Jussi Kivilinna
310a29227a drivers/lcd: add DD-12864WO-4A/SSD1309 support to SSD1306 driver 2017-08-22 08:32:52 -06:00
v01d
21e930cdba SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes 2016-08-13 19:20:20 -03:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
69ce24c70c I2C: Remove the setfrequency method from the interface 2016-02-01 16:31:13 -06:00
Gregory Nutt
f9053182d3 I2C: Remove setaddress method 2016-02-01 12:14:31 -06:00
Gregory Nutt
3a781a2d3f Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s. 2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h 2016-01-30 08:00:16 -06:00
Gregory Nutt
7edf921c5e Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law 2016-01-23 18:54:36 -06:00
Gregory Nutt
f6e49caba8 All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features 2016-01-23 16:18:13 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Alan Carvalho de Assis
d7d15072c4 Updated SSD1306 driver 2015-07-15 13:28:31 -06:00
Gregory Nutt
8580d37352 SSD1306: Rename ssd1306_helpers.h to ssd1306.h. Move all SSD1306 driver definitions from ssd1306_base.c to ssd1306.h 2015-07-15 11:46:28 -06:00
Alan Carvalho de Assis
a3e24a0b6c Modify the SSD1306 LCD driver to support either the SPI or I2C interface. From Alan Carvalho de Assis, 2015-07-15 11:21:54 -06:00