The LVGL 7.x that was integrated on NuttX had a calibration before
initialize the demo, I think it was from LVGL itself.

There is also TS calibration that Greg created for TWM4NX:
apps/graphics/twm4nx/apps/ccalibration.cxx

BR,

Alan

On 5/23/23, Maciej Wójcik <w8j...@gmail.com> wrote:
> It would be great if NuttX would offer calibration of touch screens out of
> the box.
>
> I am not sure where it should go, but I think it could be a wrapper that is
> used by many drivers.
>
> I think we have a similar situation with flash filesystems. There are
> multiple layers that stack on each other.
>
> For example here there is `ftl_initialize` (flash translation layer) and
> then `smart_initialize` (filesystem)
> https://github.com/apache/nuttx/blob/master/boards/arm/stm32/stm32f103-minimum/src/stm32_w25.c#L266
>
> Regarding the calibration itself, you probably know how to implement it,
> but otherwise you might find this useful
> https://gitlab.com/nxtlabs/shared-libs/touch-calib-lib/-/wikis/home
> (explanation and implementation)
>
> Coming back to your question, how do other people do it? For me it was just
> user-space code, part of the application.
>
> Am Di., 23. Mai 2023 um 20:12 Uhr schrieb Tim Hardisty
> <t...@hardisty.co.uk>:
>
>> Hi,
>>
>> This is perhaps more a POSIX/general programming question than NuttX but
>> you are all, so often, so very helpful :)
>>
>> A touchscreen peripheral (SAMA5D2 as it happens) delivers X and Y
>> coordinates scaled 0-4095.
>>
>> LVGL wants them scaled to the actual size of the display (800x480 in my
>> case).
>>
>> I'm not 100% sure that the chip’s TSD driver is the place to scale it?
>>
>> The TSD driver creates a generic /dev/input0 character driver, which is
>> what LVGL (set via Kconfig) opens. Scaling within the LVGL code isn’t
>> right
>> either, I don’t think?
>>
>> I can only think of either:
>>
>> 1) creating a new character driver that does a translation – registered
>> as
>> /dev/input1 (or whatever) that LVGL uses, and this driver reads input0
>> when
>> required and returns translated values.
>>
>> 2) Enhance the chip's TSD driver after all, using a Kconfig setting to
>> enable X/Y scaling to the display's size (set in board-specific files
>> already).
>>
>> Both seem a little messy though so perhaps I’m missing something obvious?
>> Can't be the first to need to do this?
>>
>> Thanks,
>>
>> TimH
>>
>>
>

Reply via email to