-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compiling problem - Is 3.0.0.alpha2 more fussy about the source code configuration? #8765
Comments
Arduino core 3.0.0 is a major release change. So there are (breaking) changes. |
“Breaking changes”..?? Do you mean the compiler is breaking at the moment in alpha? - Or that the way V3.0.0 needs the program code written is significantly different from V2.x ?? I hope its the former and not the latter! CheersDagnallSent from my iPadOn 15 Oct 2023, at 14:36, Jason2866 ***@***.***> wrote:
Arduino core 3.0.0 is a major release change. So there are (breaking) changes.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
@dagnall53 Not the compiler. Code changes needed since some APIs has changed. |
There are breaking changes, and there are likely still bugs where upstream APIs have changed. This is why it is marked as an alpha release. There will be a migration document for 3.0.0 in the release. |
@Jason2866 and @lbernstone Thanks.. !! |
Depends on whether you want to be a guinea pig. It all needs testing, and noting that espnow has an issue will help the developers pin that down. Change the issue title to reflect that so it can get tagged properly. |
Thanks. I’d much rather help than just complain!! I will attempt to re title (and explain!) issues tomorrow! But at least now I understand what is happening!! Sent from my iPhoneOn 15 Oct 2023, at 19:52, lbernstone ***@***.***> wrote:
Depends on whether you want to be a guinea pig. It all needs testing, and noting that espnow has an issue will help the developers pin that down. Change the issue title to reflect that so it can get tagged properly.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Not only Arduino APIs have changed, but many of the ESP-IDF ones too (like ESP-NOW in your case). As @lbernstone said, 3.0.0 is coming with many changes in the APIs facing the users and also internally under the hood. |
@me-no-dev Thank your for looking at my comment!. |
Latest Arduino Version: 2.2.1 / Date: 2023-08-31T14:35:44.802Z / CLI Version: 0.34.0 updated boards like I have done dozens of times before, but this time automatically installed the V3.0.0 alpha3 rather than the stable release V2 - 14. The preferences file Additional Boards Manager URL had been updated to the dev_index.json version NOT by me (the index.json has been there for years). Weird? This thread shows V3 has issues with esp_now.h, - see dagnall53 who mentioned this issue on Oct 16 (esp_now_register_recv_cb possibly defined in a different way to how V3 expects it?). Confirming the V3 update broke all code written calling ESP_NOW.h specifically at the esp_now_register_recv_cb parameter point with the error: invalid conversion from 'void ()(const uint8_t, const uint8_t*, int)' {aka 'void ()(const unsigned char, const unsigned char*, int)'} to 'esp_now_recv_cb_t' {aka 'void ()(const esp_now_recv_info, const unsigned char*, int)'} [-fpermissive] About 3,000 lines so cannot provide code. Went to uninstall V3, but Arduino Version: 2.2.1 only provided visibility to updates up to 2.0.11, not the latest stable release .14 - code resumed working on .11 anyway so leaving it be. |
@NLoebel the problem is that you did not add the proper board manager json. Check our docs and you will get to see the versions. You are currently installing the core from Arduino.cc which works only with Arduino nano32 board |
Thank you.
From: Me No Dev ***@***.***>
Sent: Friday, December 22, 2023 3:00 AM
To: espressif/arduino-esp32 ***@***.***>
Cc: Nicolas Loebel ***@***.***>; Mention ***@***.***>
Subject: Re: [espressif/arduino-esp32] Compiling problem - Is 3.0.0.alpha2 more fussy about the source code configuration? (Issue #8765)
@NLoebel<https://github.com/NLoebel> the problem is that you did not add the proper board manager json. Check our docs and you will get to see the versions. You are currently installing the core from Arduino.cc which works only with Arduino nano32 board
—
Reply to this email directly, view it on GitHub<#8765 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJ4SOVFDM4QJNDDDHAS3IQLYKVR4PAVCNFSM6AAAAAA6ALH5HOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRXGU2DQMJWG4>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
Board
ESP32 dev module
Device Description
Problem is Compilation errors seen in Programming using Arduino 2.2.1
Using 3.0.0 Alpha2
** NOTE- Code was compiling with 2.0.13 and 2.0.14**
"Arduino ESP32 Boards 2.0.13 and M5Stack2.0.7 were simultaneously installed - but removing these "boards" from the Arduino IDE made no difference to the compilation errors.*
Code is for a code complex, but physically simple, data multiplexer with optocouplers.
The code is written as multiple (historical) .ino to separate "functions".. and not as a single ino with libraries + / .h/.cpp.
I am concerned that this may be compounding the problems. But rewriting in .cpp/.h format is impractical for now.
Hardware Configuration
Optocouplers on inputs - but I think that is irrelevant to this issue.
Version
latest master (checkout manually)
IDE Name
2.2.1
Operating System
win10
Flash frequency
80Mhz
PSRAM enabled
no
Upload speed
115200
Description
**Code that originally compiled now presents (A LOT) of NEW compile errors.
I can probably sort out what is happening if I can initially solve the two first compilation errors-
C:\Users\admin\Documents\Arduino\NMEA3\NMEA3.ino: In function 'void Start_ESP_EXT()': C:\Users\admin\Documents\Arduino\NMEA3\NMEA3.ino:506:28: error: invalid conversion from 'void (*)(const uint8_t*, const uint8_t*, int)' {aka 'void (*)(const unsigned char*, const unsigned char*, int)'} to 'esp_now_recv_cb_t' {aka 'void (*)(const esp_now_recv_info*, const unsigned char*, int)'} [-fpermissive] 506 | esp_now_register_recv_cb(OnDataRecv); | ^~~~~~~~~~ | | | void (*)(const uint8_t*, const uint8_t*, int) {aka void (*)(const unsigned char*, const unsigned char*, int)} In file included from C:\Users\admin\Documents\Arduino\NMEA3\NMEA3.ino:74: C:\Users\admin\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-6b1f40b9bf/esp32/include/esp_wifi/include/esp_now.h:156:54: note: initializing argument 1 of 'esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t)' 156 | esp_err_t esp_now_register_recv_cb(esp_now_recv_cb_t cb); | ~~~~~~~~~~~~~~~~~~^~ C:\Users\admin\Documents\Arduino\NMEA3\NMEA3.ino: In function 'void Self_Test()': C:\Users\admin\Documents\Arduino\NMEA3\NMEA3.ino:2021:3: error: 'gpio_matrix_out' was not declared in this scope 2021 | gpio_matrix_out(TX_PIN_3, 0x100, false, false); | ^~~~~~~~~~~~~~~
To me this indicates some change in naming between 2.0.14 and 3.0.0alpha2 ?
Sketch
Debug Message
Other Steps to Reproduce
Compiles OK with 2.0.13 and 2.0.14.
But presents these errors with 3.0.0.alpha2 (alpha1 not tested)
I suspected perhaps that the compiler could not find OnDataRecv, which is defined in a secondary .ino in the same folder,
So I added
extern void OnDataRecv(const uint8_t* mac, const uint8_t* incomingData, int len);
before the void Start_ESP_EXT() definition.. but the compile error remains.
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: