Arduino Due

arduino, teensy, atmega, pic a jine (software, hardware)
Odpovědět
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

31. 8. 2015, 6:39

Podařilo se někomu úspěšně rozchodit TinyG2 s nějakou konzolí v PC ? GRBL , nebo podobné ?
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

19. 10. 2015, 10:58

Tak po dlhsej letnej prestavke dalsi progress. Pridal som analogovy joystik pre rucny posuv stola.
Dalej vcelku komplikovany vypocet maximalnych rozmerov obrabanej plochy.
Nie vzdy si pamatam rozmery v tom-ktorom NC subore a s touto funkciou sa vreteno zodvihne 2mm, obehne obdlznik s maximalnymi rozmermi daneho obrobku a opticky vidim ci mam dost materialu a teda ci nebudem "obrabat" mimo material.
Niekedy som mal problemy s tym ze sa prestalo citat z SD karty pocas prace, sposobene nejakym rusenim. Zdroj rusenia som nezistil ale tu SD kartu som osetril softverovo.
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

19. 2. 2016, 1:14

Akosi som narazil na kamen. Momentalne sa neviem pohnut dalej, pridanie jedneho tlacitka do programu (ktore ani nezobrazim) zabokuje spravne vykonavanie programu.
Kedysi davno som pisal o probleme s funkciou malloc() a zda sa ze zapisujem do pamate nieco co by tam nemalo byt.
Program opticky bezi krasne, len vreteno nie je tam kde by malo byt. A rozdiel krokov dost podstatny.

Vie niekto rozbehat malloc() a free() pod tinyg2?
V linker scripte vidim len moznost nastavenia STACKu
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

19. 2. 2016, 5:59

bronek999 píše:Vie niekto rozbehat malloc() a free() pod tinyg2?
A je to skutečně tím?
Co se stane, když nepřidáš tlačítko, ale jenom něco naalokuješ kus paměti pomocí malloc() a hned vrátíš momocí free()?
A co se stane když naalokuješ a nevrátíš?
A jakou adresu vrátí ten malloc()?
Pokud víš, že to souvisí skutečně s alokací paměti, tak to se přece musí dát velmi snadno oddebugovat.
HonzaCh
Příspěvky: 289
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

19. 2. 2016, 10:18

bronek999 píše:Vie niekto rozbehat malloc() a free() pod tinyg2?
No, v tomhle kontextu bych radši malloc() a free() neviděl... Asi by se dalo grepem a očima zkontrolovat, co to kde (ne-)páchá, když malloc() vrátí NULL.
H.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

19. 2. 2016, 10:41

Hlavně bych vycházel z toho, že doteď to jelo. Takže problém přidělalo až to, co se přidalo.
Takže to postupně odebírat do původního stavu (nebo naopak začít od chodivého stavu a postupně přidvat) musí vést velmi rychle k poznání, co způsobuje průser.
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

20. 2. 2016, 6:08

Malloc vrati nenulovu hodnotu aj s parametrom vacsim ako celkova ram.
Pri simulacii som vytvoril a zrusil tisice tlacitok kym to zamrzlo.
Ako som pisal, validitu pointeru neviem testovat. Pred rokom som to konzultoval s autormi tinyg2, pomoct s malloc zatial nevedia.

Problemom nie je lenbto tlacitko. Pretoze program hapruje aj ked ten kod kde je tlacitko nikdy nespustim. A naoko vsetko funguje ako ma, len vreteno nie je tam kde ma byt. A tinyg2 posiela "spravne" suradnice
HonzaCh
Příspěvky: 289
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

21. 2. 2016, 7:13

bronek999 píše:Malloc vrati nenulovu hodnotu aj s parametrom vacsim ako celkova ram.
V tom případě je nekorektně implementován standard:
N1548 ISO/IEC 9899:201x INTERNATIONAL STANDARD Programming languages — C píše:The malloc function returns either a null pointer or a pointer to the allocated space.
Takové implementaci se přeci nedá věřit. Takže pokud je malloc() ze systémové knihovny, ke které nemáš zdrojáky, vyměnit knihovnu (překladač). Pokud zdrojáky máš (knihovna nebo ten projekt tinyg2), opravit tam. Nebo použít nějakou známou funkční implementaci a tou tu vadnou z knihovny "překrýt".

H.
Odpovědět

Zpět na „MCU“