Notifications
Clear all

[Sticky] Components & Programming

144 Posts
20 Users
11 Reactions
29.5 K Views
(@mevero)
Member
Joined: 3 years ago
Posts: 22
 

EXcuus  door mijn enthousiasme  gelijk gedacht moet kunnen, dus niet nogmaals excuus.

Ik heb op mijn ander PC met Windows11 de nieuw versie Arduino IDE gezet, het origineel van het programma

Ennu

zonder wijzigigen getracht te compileren. Is niet gelukt !! Geen idee wat er fout is gegaan. printje bijgevoegd .


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Ik moet de hele broncode zien, en de volledige regel voor de eerste fout. Zodra je de code hebt gepost, zal ik proberen deze te compileren en mijn resultaat met die van jou te vergelijken.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@mevero)
Member
Joined: 3 years ago
Posts: 22
 

 Hope this gives you a better view Version Arduino IDE 2.3.2  Download from Arduino.org


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Unfortunately it looks like the library has changed and there is a problem. Someone else reported it 3 months ago. Maybe Bill @dronebot-workshop has an update/fix?

My reading of the error log is that there is a type mismatch for one function, namely (depending if article ver or zip ver)

122/140 esp_now_register_recv_cb(receiveCallback);

What is expected is (esp_now.h)

157 esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t cb);

receiveCallback is expected to be

typedef void(*esp_now_recv_cb_t)(constesp_now_recv_info_t*esp_now_info, constuint8_t*data, intdata_len);
 
and esp_now_recv_info_t is
 
typedef struct esp_now_recv_info {
  uint8_t * src_addr; /**< Source address of ESPNOW packet */
  uint8_t * des_addr; /**< Destination address of ESPNOW packet */
  wifi_pkt_rx_ctrl_t * rx_ctrl; /**< Rx control info of ESPNOW packet */
} esp_now_recv_info_t;
 
What is given is
void receiveCallback(const uint8_t *macAddr, const uint8_t *data, int dataLen)
VERY DIFFERENT, and one mac vs two! How can these be similar?
 

I commented out that line and it compiles clean so it may be fixable locally. If it is, that means NO emergency

I AM HOLDING OFF ON THIS UNTIL Bill has a chance to look at it.

Unfortunately, the library affected is part of the IDE so requires the Arduino team to fix. I will submit an issue, but find something else to do because unless they are convinced this is an emergency, the best you can hope for is maybe 1 to 3 months and more commonly 6 to 12 months.

I even tried the old 1.x IDE but of course it has the same error since the libraries are the same.

My C/C++ skills are very rusty, my hunch is this can be fixed locally, but that is bad business unless human life or your job is at stake since you are now tied to the code 24/7/365 without being paid.

WAIT!!!

I just found a SECOND problem. The sketch in the zip file is longer by some 30 lines and the error happens at line 140. 

NEVER MIND, it's just formatting.

UPDATE:

I just checked the code, and I can not see anywhere those callback functions are used, BUT since I don't recall ever using anything like that in 60 years, I may just have never had cause to.

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@mevero)
Member
Joined: 3 years ago
Posts: 22
 

Here is some more information.

Greetings

Wim


   
ReplyQuote
(@mevero)
Member
Joined: 3 years ago
Posts: 22
 

At 16  April   some time ago I make a photograph and it

20240416 201749

works it was made on my Raspberry Pi 

And it still works ( only with one button.

And now I can produce it same failure.

Greetings  Wim  Looking forward for your message when the problem is solved,


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero WAIT, are you saying that it used to work, but now it fails to compile even?

WACHT, zeg je dat het vroeger werkte, maar nu zelfs niet meer compileert?

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

Posted by: @mevero

-- attachment is not available --

Here is some more information.

Greetings

Wim

That is the same error I was getting. The library is broken.

Dat is dezelfde fout die ik kreeg. De bibliotheek is kapot.

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Here is a fix. NOTE the mac addr is in there somewhere but it is not critical so I didn't bother to tease it out.

Hier is een oplossing. OPMERKING: het mac-adres zit daar ergens, maar het is niet cruciaal, dus ik heb niet de moeite genomen om het eruit te halen.

//void receiveCallback(const uint8_t *macAddr, const uint8_t *data, int dataLen)
void receiveCallback(const esp_now_recv_info_t* esp_now_info, const uint8_t *data, int dataLen)
// Called when data is received
{
  // Only allow a maximum of 250 characters in the message + a null terminating byte
  char buffer[ESP_NOW_MAX_DATA_LEN + 1];
  int msgLen = min(ESP_NOW_MAX_DATA_LEN, dataLen);
  strncpy(buffer, (const char *)data, msgLen);

  // Make sure we are null terminated
  buffer[msgLen] = 0;

  // Format the MAC address
  //char macStr[18];
  //formatMacAddress(macAddr, macStr, 18);

  // Send Debug log message to the serial port
  //Serial.printf("Received message from: %s - %s\n", macStr, buffer);
  Serial.printf("Received message %s\n", buffer);

  // Check switch status
  if (strcmp("on", buffer) == 0)
  {
    ledOn = true;
  }
  else
  {
    ledOn = false;
  }
  digitalWrite(STATUS_LED, ledOn);
}

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@mevero)
Member
Joined: 3 years ago
Posts: 22
 

Heel erg bedankt voor de Fix, kan nu weer verder maar .....

De fix verwerkt en compilatie zonder fouten.

Getracht de voorgestelde wijzigingen aan te brengen voor de tweede led en button.

Het is me toch niet gelukt om op de juiste manier met het plaatsen van { en } om te gaan.

De "nieuwe" versie en het fouten rapportbijgevoegd. Heb getracht een paar wijzigingen {} te proberen maar dan kwamen er wee ander fouten.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Die schets is niet gebruikt om die fouten te veroorzaken. Ik waardeer het NIET dat mijn tijd wordt verspild door dat soort bedrog.
Sommige van deze fouten zijn zo triviaal dat als u een 'niet aangegeven' fout niet kunt herstellen, u moet overwegen of u eerst een cursus van twee jaar moet volgen.
Veel succes met je toekomstige inspanningen, maar ik denk niet dat ik hier nog meer tijd aan wil besteden.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@mevero)
Member
Joined: 3 years ago
Posts: 22
 

Ron bedankt voor je vorige berichtje. Helemaal gelijk had beter moeten luisteren. Heb nu stap voor stap regels toegevoegd Regel 7 en 8, 16 en 17, 153 en 149.

Na compileren OKE. Maar na toevoegen 46 t/m 55 kwam ik er niet uit. Dus uit gecommentarieerd.

Wil je me aangeven hoe ik dit kan oplossen ?? Heel erg bedankt voor de reeds gedane moeite. Zal moetemn leren om "te luisteren"en niet aan te prutsen


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Dat komt omdat sommige code buiten elke procedure valt. Gebruik de verticale lijnen aan de linkerkant om te zien waar de IDE denkt dat de procedure eindigt. Je zou moeten opmerken dat het eindigt vóór je twee strcmp-blokken.
Kijk vervolgens goed, hoe kan de vergelijking werken als ze allebei hetzelfde zijn, onthoud dat je een 1 en een 2 nodig hebt.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Look carefully at these two pictures. Notice the last brace in red, red means error.

While you are there, what is wrong with statements (in my sketch cuz your numbers are different for some reason) 47 and 56.

Kijk goed naar deze twee afbeeldingen. Let op de laatste accolade in rood, rood betekent fout.

Terwijl je daar bent, wat is er mis met uitspraken (in mijn schets omdat je cijfers om de een of andere reden anders zijn) 47 en 56.

Screenshot 2024 06 05 at 13.36.23
Screenshot 2024 06 05 at 13.36.46

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 7347
 

@mevero Once you fixed that error, tell me why this piece of code will not do what you want

Nadat u die fout heeft verholpen, kunt u mij vertellen waarom dit stukje code niet doet wat u wilt

  // Check switch status
  if (strcmp("on", buffer) == 0) {
    ledOn_1 = true;
  } else {
    ledOn_1 = false;
  }
  digitalWrite(STATUS_LED_1, ledOn_1);

  // Check switch status
  if (strcmp("on", buffer) == 0) {
    ledOn_2 = true;
  } else {
   ledOn_2 = false;
  }
    digitalWrite(STATUS_LED_2, ledOn_2);

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Page 9 / 10