Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • Arduino a DALI

Arduino a DALI

C,C++,C#

Moderátori: psichac, Moderátori

Arduino a DALI

Odosla┼ąod Andrej152 » 16 Feb 2018, 18:48

Caute!
pracujeme na jednom velkom projekte na suzaz a zastavil ma jeden problem . Jedna sa o inteligentne osvetlenie , mame driver na lampy cez protokol DALi . HW to funguje , problem je z programom .. ohladom arduina a dali je toho na nete malo nasiel som jeden kod ktory po uprave funguje polovicne na arduine nano - dokazem nastavit lampe jas , ale vycitat ho z regulatora zatial neviem .. problem je v tom ze ako procesor mam ATmega644P a mightycore . na atmega328p v pohode nahra a ide program , ale na 644p vypise chybu

invalid conversion from 'const char*' to 'char*' [-fpermissive]

cmd2 = readBinaryString(input.substring(8, 16).c_str());

jedna sa o tuto kniznicu
https://create.arduino.cc/projecthub/NabiyevTR/simple-dali-controller-506e44
pripadne, neskusal to uz niekto ?

Diky
Andrej152
Obr├ízok pou┼ż├şvate─ża
Pokro─Źil├Ż ─Źlen
Pokro─Źil├Ż ─Źlen
Pr├şspevky: 886
Vek: 17.36
Zalo┼żen├Ż: 29.07.2013
Bydlisko: prešov
Karma: 27

Re: Arduino a DALI

Odosla┼ąod peterple » 16 Feb 2018, 20:52

Nevinne vyzeraj├║ca ot├ízka a ko─żko s t├Żm bude pat├íli├ş, preto┼że treba vidie┼ą hlboko do vn├║tornost├ş C jazyka
V prvom rade treba vedie┼ą ak├Ż je rozdiel medzi
K├│d: Vybra┼ą v┼íetko
char* a const char*

To prv├ę je ukazate─ż na pole znakov teda C string (pole znakov s ukon─Źovac├şm znakom 0).
To druh├ę je to ist├ę ale preklada─Źu sa nazna─Ź├ş ┼że z nejak├ęho dobr├ęho d├┤vodu sa to pole znakov nem├┤┼że meni┼ą. Teda mus├ş by┼ą kon┼ítantn├ę.

A teraz treba rozkl├║─Źova┼ą toto:
K├│d: Vybra┼ą v┼íetko
cmd2 = readBinaryString(input.substring(8, 16).c_str());

input je String. Ten nem├í s C stringom ve─ża spolo─Źn├ę. String je objekt. Ako tak├Ż m├í nejak├ę svoje vn├║torn├ę premenn├ę a potom met├│dy pomocou ktor├Żch s nimi nie─Źo rob├ş.
Prv├í met├│da substring vr├íti zase String ale tak├Ż ktor├Ż obsahuje iba ur─Źit├║ ─Źas┼ą p├┤vodn├ęho stringu. Tam teda probl├ęm nie je.
Druh├í met├│da c_str rob├ş tak├║ zvl├í┼ítnu vec a to ┼że spr├şstupn├ş text v objekte String ako c string. Len┼że:
Converts the contents of a string as a C-style, null-terminated string. Note that this gives direct access to the internal String buffer and should be used with care. In particular, you should never modify the string through the pointer returned. When you modify the String object, or when it is destroyed, any pointer previously returned by c_str() becomes invalid and should not be used any longer.

to rob├ş ako je C az C++ zvykom tak trochu nejak├Żm hackom aby to bolo jednoduch├ę a r├Żchle a k pam├Ąti ┼íetrn├ę. Podmienkou je ┼że ten string sa nesmie meni┼ą. teda t├íto funkcia vracia const char*

No a teraz sa dost├ívame k fin├íle. Funkcia readBinaryString ─Źak├íva char *
K├│d: Vybra┼ą v┼íetko
int Dali::readBinaryString(char *s){
..}

No a tu plat├ş pravidlo ┼że char * na const char* sa pretypuje bez kecov lebo je to bezpe─Źn├ę. Opa─Źne to ale bezpe─Źn├ę nie je. Preto kompil├ítor dr┼żkuje.

Von z toho sa d├í dvomi sp├┤sobmi. H├ídaj ak├Żmi?
Uk├í┼ż m├║dremu chybu a on sa ti po─Ćakuje. Uk├í┼ż chybu hlup├íkovi a on sa uraz├ş.
peterple
Ultimate ─Źlen
Ultimate ─Źlen
Pr├şspevky: 1776
Vek: 52.04
Zalo┼żen├Ż: 25.06.2013
Bydlisko: Krajn├ę
Karma: 48

Re: Arduino a DALI

Odosla┼ąod Andrej152 » 17 Feb 2018, 09:50

Okej , ako citam musim zacat studovat riadne C :D
ale dobre , teraz zacinam uvazovat ako je to mozene ze pri arduine nano ( resp . vsetky ktore maju 328p ) tak to ide bez pipnutia , ale ak to prepnem na inu dosku - atmega 644p tak to hadze .. nieje pricina tam , ze tomu boardu co pouzivam - mightycore , jednoducho nemoze mu chybat nieco ?


EDIT: vyriesene!
miesto mightycore som dal saguino a nepipa ze daco zle a ide to !
Andrej152
Obr├ízok pou┼ż├şvate─ża
Pokro─Źil├Ż ─Źlen
Pokro─Źil├Ż ─Źlen
Pr├şspevky: 886
Vek: 17.36
Zalo┼żen├Ż: 29.07.2013
Bydlisko: prešov
Karma: 27

Re: Arduino a DALI

Odosla┼ąod peterple » 17 Feb 2018, 12:08

Pravda, na tento tret├ş sp├┤sob som zabudol. Miesto jedn├ęho nefunguj├║ceho bazmeku pou┼żijeme in├Ż ktor├Ż n├íhodou funguje. Potom to vyzer├í tak ┼że na protokol ─Źo posiela dva byte v manchestrovom k├│de treba h─żada┼ą na nete hotov├ę rie┼íenie.
Uk├í┼ż m├║dremu chybu a on sa ti po─Ćakuje. Uk├í┼ż chybu hlup├íkovi a on sa uraz├ş.
peterple
Ultimate ─Źlen
Ultimate ─Źlen
Pr├şspevky: 1776
Vek: 52.04
Zalo┼żen├Ż: 25.06.2013
Bydlisko: Krajn├ę
Karma: 48

Re: Arduino a DALI

Odosla┼ąod Tribec Zacks » 17 Feb 2018, 13:59

@Andrej152, Ak to chces s elektrotechnikou potiahnut niekam dalej ako byt macher v miestnom pat-a-mat elektro klube, tak mas teraz v tvojom veku najlepsi mozny cas sa vyprdet na vsetky arduinko k.k.tinky.... zober datasheet, pochop ako funguje protokol, ako ma vypadat jeho timing diagram, a naprogramuj to sam pre hw ktory chces pouzit, bez nejakych trapnych knizniciek co niekde funguju, niekde nie, co ani boh nereverzne.... a to plati pre vsetky projekty o ktorych si tu kedy pisal, kde su zakladne veci ako lcd displeje, rozne senzory a podobne (pokial nejde o usb alebo ethernet etc) Nebuduj si navyk ako kazdy druhy arduinista - macher pisania pseudokodu co v zivote nevidel datasheet a nevie co to je register mcu... Blby niesi, tak to nezahod, radi ti pomozeme ked sa budes s niecim takym trapit. A ak nemas, tak setri na nejaky zakladny dso osciloskop, bude ti viac nez potrebny.
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.
Tribec Zacks
Obr├ízok pou┼ż├şvate─ża
Pokro─Źil├Ż ─Źlen
Pokro─Źil├Ż ─Źlen
Pr├şspevky: 549
Vek: 36.3
Zalo┼żen├Ż: 26.06.2010
Bydlisko: Levice / Cork IRL
Karma: 21

Re: Arduino a DALI

Odosla┼ąod Andrej152 » 19 Mar 2018, 10:31

ano mas pravdu .
ale predsa, venujem sa elektronike a z mensej casti aj foteniu a zvuceniu..
programovanie nikdy som nemal ako nejaku zalubu - a ked nieco trebalo na rychlo arduino to rychlo vyriesilo. kedze dali som potreboval spravit do par dni tak nemal som velmi chut to studovat rovno som to skusil cez arduino a fungovalo to
Andrej152
Obr├ízok pou┼ż├şvate─ża
Pokro─Źil├Ż ─Źlen
Pokro─Źil├Ż ─Źlen
Pr├şspevky: 886
Vek: 17.36
Zalo┼żen├Ż: 29.07.2013
Bydlisko: prešov
Karma: 27


Nasp├Ą┼ą na C,C++,C#

Kto je pr├ştomn├Ż

U┼ż├şvatelia prezeraj├║ci si toto f├│rum: ┼Żiadny registrovan├Ż pou┼ż├şvate─ż a 0 host├ş.

Forums ©
Autor str├ínky je Ondrej Z├ívodsk├Ż(zawin), o graficky design sa star├í ─Żubo┼í Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
─îas potrebn├Ż k spracovaniu str├ínky 0.25 sek├║nd