Jak v C / Arduino pridat funkci do knihovny?

Pavel Kutina hw na prelude.cz
Sobota Leden 20 14:05:44 CET 2024


Jo, na tohle jsem narazil taky. Nakonec jsem jsem se na to vykašlal, udělal 
si svojí kopii knihovny, do ní udělal úpravu a přejmenoval. Zkusím napsat 
autorům, jestli by tam ten jas nepřidali, pokud ne, holt budu mít svoji 
kopii.

Díky za pomoc všem, tušil jsem, že tam bude zrada, ale doufal v nějaký fígl 
:)

Pavel Kutina


----- Original Message ----- 
From: "Pavel Hudeček" <edizon na seznam.cz>
To: <hw-list na list.hw.cz>
Sent: Saturday, January 20, 2024 10:20 AM
Subject: Re: Jak v C / Arduino pridat funkci do knihovny?


Zkontroloval jsem, že command je public, ale už ne _displayfunction :-)
a to je private. Hm tak tudy ne.

Takže nejlíp napsat autorům, aby tam přidali
a) uvedenou metodu
b) něco jako #ifdef userLCDextension ... a tam byl friend userLCDextension.

PH

Dne 20.01.2024 v 10:00 Miroslav Mraz napsal(a):
> Ano, to je čisté řešení, bohužel má jedinou vadu - nebude to fungovat. 
> Abyste mohl v potomkovi přistoupit k privátním datům, musíte v předkovi 
> udělat něco jako
> friend dispLcdVfd;
> a abyste to mohl udělat, musíte předem deklarovat class dispLcdVfd.
> Takže stejně musíte upravit původní hlavičku. Ale to už je snad lepší 
> inlinovat tu svou funkci přímo do původní hlavičky.
> void bright (uint8_t brg) { command (LCD_FUNCTIONSET | _displayfunction | 
> brg); }
> V c++ lze obvykle vymyslet více řešení, ale které je správné záleží spíš 
> na vkusu daného uživatele.
>
> Mrazík
>
> On 20. 01. 24 7:53, Pavel Hudeček wrote:
>> Jestli je to normální C++, tak udělat vlastní knihovnu, která přes 
>> dědičnost rozšíří tu původní o požadované metody.
>>
>> Nějak takhle:
>>
>> soubor dispLcdVfd.h ------
>>
>> #include "LiquidCrystal.h"
>>
>> class dispLcdVfd : LiquidCrystal {
>>
>> public:
>> void bright(uint8_t brg);
>>
>> }
>>
>> soubor dispLcdVfd.cpp -----
>>
>> #include "dispLcdVfd.h"
>>
>> void dispLcdVfd::bright(uint8_t brg) {
>> command(LCD_FUNCTIONSET | _displayfunction | brg);
>> }
>>
>> PH
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 



Další informace o konferenci Hw-list