Za każdym razem jak widzę w nowym projekcie:

#define SAFE_FREE(var) \
if (var) {\
free(var); \
var = NULL; \
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Pan_krecik no tak makro, debil ze mnie. Czyli w skrócie chodzi o radzenie sobie że skutkami nieumiejętnego programowania i zamiast znaleźć przyczynę to jest leczenie skutków.
  • Odpowiedz
@Pan_krecik: @Jailer mi chodzi o to że ten if jest bez sensu bo:
1) jeśli ptr jest NULL to nie ma po co go dawać, bo free robi takiego checka
2) jeśli ptr nie jest NULL, ale wskazuje na zwolnioną już pamięć, to i tak się to wywali na free bo ten if tego nie wykryje

więc wystarczy samo free + nadpisanie ptr=NULL i tyle
  • Odpowiedz
#esp8266 #blynk #iot

Cześć, jestem noga w programowaniu, a chciałbym odpalić podwójny odczyt temperatury z dwóch czujnikoŵ z odczytem przez Blynk. Udało mi się uruchomić jeden, ale drugi nie pokazuje odczytu w Blynku. Gdzie może być błąd?

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud

//
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jurii: Nie potrzebnie robisz wszystko dwa razy. Zrób tak jak dla jednego czujnika, same czujniki podłącz równolegle i czytaj je tak jak pokazałem.
DS18B20.getTempCByIndex(0);
DS18B20.getTempCByIndex(1);
DS18B20.getTempCByIndex(2);

itd w zależności ile masz czujników.
  • Odpowiedz
Może ktoś mi pomóc z ustawieniem centrum na drukarce? Mam wgrany Marlin bugfix-2.0.x z parametrami:
#define XBEDSIZE 210
#define YBEDSIZE 210

to samo w IdeaMaker. W podglądzie wydruku 3D model jest w samym centrum. Podłączając się Proterface do drukarki i ustawiając ręcznie osie lub wybierając centrum dysza kończy tam gdzie powinna. A jak zaczynam drukować to wydruk jest przesunięty o ponad 20mm zarówno w X jak i
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Próbuję zminimalizować czas połączenia się do wifi w moim projekcie czujnika esp8266 na baterii.
Jak do tej pory z pomocą OpenAI ChatGPT udało mi się napisać kod który zapisuje i odczytuje numer kanału ale bssid mam wpisany na sztywno. Samo Wifi.begin(ssid,password) trwa około 5sekund a czasem i 10sekund. Kod który wklejam poniżej z moimi danymi sieci redukuje ten czas do 2-3 sekund. Mógłby ktoś rzucić okiem i podpowiedzieć co zrobić aby tak samo
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Kupiłem drukarkę w częśćiach mimo że nigdy nie miałem do czynenia z drukarką 3d xD
Drukarka to Ender 3 z bltouchem oraz płytą 32 bitową fystec s6.
Mógłby ktoś sprawdzić czy dobrze skonfigurowałem pliki ?

Największą zagwozdką dla mnie są parametry:
#define DEFAULTAXISSTEPSPERUNIT { 80, 80, 400, 95 } <- one powinny być z pliku S6 czy Ender? Mój silnik to standardowy Endera ale może przy 32 bitowej
niebadzogrem - Kupiłem drukarkę w częśćiach mimo że nigdy nie miałem do czynenia z dr...

źródło: comment_1665696123vbgSdAV3eUvscgVhikxKVg.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

DEFAULTAXISSTEPSPERUNIT wynika z mechaniki drukarki. ile stopni na krok w silniku, jaki pasek, jaka zębatka.
Jak nie wiesz, co ma być, to zostaw, zweryfikuj czy osie jeżdzą tyle, co powinny, najwyżej sobie poprawisz.

Po czym poznać jaki mam rodzaj sensora jak "łóżko" było zmieniane ?

zapytać zmieniacza? ;)
pewnie jakiś generyczny 100k. spróbuj 1, albo 11.
  • Odpowiedz
To kod do #arduino, żeby dioda rozświetlała się cyklicznie. A jak zrobic żeby po rozświetleniu się łagodnie przygasała?

#define diodaPIN 3

int wypelnienie = 0;
int zmiana =
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dethspike: Albo pozostanie przy mechanice. Chciałem arduino do sterowania zdalnie kosiarką wykorzystać, ale chyba szybciej i łatwiej będzie użyć przekaźników i wyłączników krańcowych (ustawienie kół, włączenie sprzęgła, włączenie wstecznego).
  • Odpowiedz
tak sobie wpadłem na pomysł, żeby napisać własny język. wymaganie jest takie że trzeba mieć kompilator C++, bo to na tym bazuje. zalety mojego języka: przede wszystkim jest po polsku (łatwiej go zrozumieć), poza tym nie trzeba średników, więc trudniej o pomyłkę. na razie to jest tylko taki dowód koncepcji, że to się da zrobić. te #define trzeba schowac w jakimś osobnym pliku .h, a najlepiej do jakiejś biblioteki dll,
SmacznyPies - tak sobie wpadłem na pomysł, żeby napisać własny język. wymaganie jest ...

źródło: comment_1643892405napyfPFKa8em3teAQB26oj.jpg

Pobierz
  • 36
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczky, mam podłączoną cyfrową czujkę temperatury DS18B20 na dwumetrowym kablu i skubana cały czas zwraca mi -127 stopni Celsjusza. Między kablem danych a vcc ma być rezystor 4k7Ω. Skąd taki pomiar? Odwróciłem kable czy kabel stawia taki opór i powinienem popróbować z mniejszymi rezystorkami? Da się jakoś zweryfikować multimetrem który to GND a który vcc? Docelowo czujki miały być dwie na jednym przewodzie danych ale powoli tracę entuzjazm do tego rozwiązania :p
Ogólnie
Endrius - Mireczky, mam podłączoną cyfrową czujkę temperatury DS18B20 na dwumetrowym ...

źródło: comment_1636700293jhPeibPqiBAWGzrbFCNBEE.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@Endrius najpierw wrzuć kod który odczyta wszystkie czujniki podłączone do 1wire i zwróci ich ID i wypluje na serial. Potem spróbuj odczytać po konkretnym ID
  • Odpowiedz
Siema Mirki. Robię taki mały projekt na Arduino Nano i DFPlayer Mini. Program znalazłem na githubie i prawie wszystko działa. A konkretnie chodzi mi o odczyt ze zmiennej value = myDFPlayer.readFileCounts(). Potrzebuję informacji ile jest plików na karcie sd, żeby później zbudować menu na tej podstawie. Nie rozumiem dlaczego w monitorze portu szeregowego wyświetla się bez problemu nr odtwarzanego utworu a liczba wszystkich utworów już nie.

`
#include "Arduino.h"
#include "SoftwareSerial.h"
#
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp
mam problem z plikami nagłówkowymi

kod głównego pliku .cpp
cout<<"wynik to: "<<dodawanie(5,50)<<endl;

kod
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach