ESP3D icon indicating copy to clipboard operation
ESP3D copied to clipboard

[BUG] Readme needs to be refactored

Open atsju opened this issue 2 years ago • 77 comments

As a first time user i see things with a different eye than experiences users. IMO the readme is unclear. For installation it should rely completely on wiki (today there is information in both). I can't refactor it myself without discussing with some user that knows everything.

atsju avatar Apr 18 '22 10:04 atsju

Thank your for submiting, please be sure you followed template or your issue may be dismissed. if you deleted the template it is here

github-actions[bot] avatar Apr 18 '22 10:04 github-actions[bot]

I fully agree - but most of people do not read the wiki and even not check the readme - they prefer to watch youtube video which is almost all the time outdated, when people say they cannot do even reading the readme/wiki and I ask what did they did not understood - so I can improve it - they usually never answer ...

spend time on a full documentation that people do not take time to read vs spend time on code and fix bug => I did my choice

This also why I tried to move to platformio - it simplify a lot the installation / compilation steps - all is ready, just update the configuration.h, which I try to fill with lot of comments, and choose the target board ....this is the purpose of https://github.com/luc-github/ESP3D/issues/478

Using arduino is more tricky for the installation. but arduino is also more up to date for board / chip support

That said every contribution for documentation is welcome, and I would be more than happy to get nice documentation - but it won't come from me until my todo list is done ( in some years I guess 😸 ), it is definitly not my priority

luc-github avatar Apr 18 '22 10:04 luc-github

I understand the fact of moving to platformIO. Marlin users already are on platformIO so I think it's good to have same tools.

If I was to rewrite the documentation, is the platformIO version ready and recommended with 2.1.1 or shall 2.1.1 always build with Arduino ?

atsju avatar Apr 18 '22 15:04 atsju

yes it is : https://github.com/luc-github/ESP3D/blob/2.1.x/platformio.ini

but some people are scared of platformIO - I already see people trying to compile Marlin with arduino because - platformIO is confusing for them

luc-github avatar Apr 18 '22 19:04 luc-github

@luc-github I'm still in the learning curve. What are data port and web port for ? I understand he web port, my question is more, is the data port actually used and when ?

atsju avatar May 08 '22 17:05 atsju

some application like pronterface or repetier host allow direct tcp communication, this is the port fort this usage, several people call this telnet https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi/examples/WiFiTelnetToSerial but is actually not right, it is more raw tcp, so I have called data port in 2.x, but in 3.x I is called telnet port because it is more meaningful for people

luc-github avatar May 08 '22 19:05 luc-github

note for update of wiki Do a section about voltage adaptation between MCUs. This picture might be updated to put only a serie resistor to limit current. Better and easier than a divider bridge. image

atsju avatar May 09 '22 09:05 atsju

I did not do the picture - my electronic skills are very limited - so I have just published what people did and experiment by themself

luc-github avatar May 09 '22 10:05 luc-github

@atsju Is this issue still valid as all PR have been processed already ?

luc-github avatar May 27 '22 09:05 luc-github

For me yes still valid. I plan to help, I had no computer acces for 2 weeks. I want to refactor readme and wiki gradually.

atsju avatar May 27 '22 10:05 atsju

@luc-github https://github.com/luc-github/ESP3D/blob/2.1.x/wiki/last_update.txt seems never to update. Remove file or fix something automated ?

edit: I delete in #768

atsju avatar May 27 '22 15:05 atsju

was to trigger the copy but this seems no more necessary

luc-github avatar May 27 '22 15:05 luc-github

@luc-github I want to build for ESP32cam (and later I want to update the wiki for futur 3.0 version also)

I built 3.0 branch (not refactor) with platformIO. I built with [env:esp32cam] env. I see no wifi network and nothing relevant on COM port. Also my board seems to be based on ESP32-S2 and for this setting I read

[env:esp32-S2]
;EXPERIMENTAL AND NOT WORKING FOR ME

any advise ?(I have found some site stating that ESP32-CAM is a module from AI thinker and not espressif (this one). But my ESP32CAM is based on an espressif module.Could this be an issue ?

atsju avatar May 29 '22 08:05 atsju

I do not think there is any ESP32Cam based on S2 (which is mono core), they are using ESP32 or ESP32S which is same chip Some ESP32Cam need to be powered using 5V to work, the 3.3v is just for flashing AT thinker is common brand name and it is most of basic ESP32Cam as far I know ,

Note: once flashed be sure you disconnected the GPIO0 from GND and restart or you will still be in upload mode

luc-github avatar May 29 '22 08:05 luc-github

Module is powered though USB 5V with onboard regulator on the daughter board. Should be fine.

atsju avatar May 29 '22 08:05 atsju

Thanks. Had something to do with reset I suppose. Sorry I couldn't copy paste text... I seems the serial communication fails a bit at startup (in boot I suppose). Works better after application starts image

atsju avatar May 29 '22 09:05 atsju

that is normal boot check this to suppress boot loader messages https://github.com/luc-github/ESP3D/discussions/182

like I said everything is in FAQ that no one read ^_^

luc-github avatar May 29 '22 09:05 luc-github

Once again thank you and https://www.youtube.com/watch?v=LE0aehh52xU Even having used several hours here, I still feel so lost about this repo.

about the 3.0 version (I didn't try 3.0refactor)

I have no more setup wizard like I had in 2.x. Is it normal ? uploaded the index.html.gz from ESP32 repo (from 3.0).

also some additional things that may need separate tickets ?:

  • is it possible to add test "please upload index.html.gz" when there is no such file ? (was the case is 2.x version)
  • is it possible to fail explicitly when password is wrong admin/admin ? (my phone puts uppercasse A. even if I knew, I wanted to see what happened) like "wrong username or password"
  • is it possible that the field doesn't make android kayboard think it's a word/sentense starting with uppercase ?
  • is it possible to make "enter" of phone keypad click on "login" button ?

atsju avatar May 29 '22 10:05 atsju

have no more setup wizard like I had in 2.x. Is it normal ?

  • the wizard is not yet done in 3.0

is it possible to add test "please upload index.html.gz" when there is no such file ? (was the case is 2.x version)

  • I did in 2.1 and got feedback => I do not understand - so I removed it as in readme the process will be explained

is it possible to fail explicitly when password is wrong admin/admin

  • I forget what is displaying - but error is 404 without details if username or password

is it possible that the field doesn't make android kayboard think it's a word/sentense starting with uppercase

  • not sure what you means but looks like autocorrection settings from your phone

is it possible to make "enter" of phone keypad click on "login" button ?

  • The current field API for modal dialogs does not have such feature - I need to see how to add it

luc-github avatar May 29 '22 10:05 luc-github

have no more setup wizard like I had in 2.x. Is it normal ?

  • the wizard is not yet done in 3.0

OK so I will have to learn manual commands. Thanks

is it possible to add test "please upload index.html.gz" when there is no such file ? (was the case is 2.x version)

  • I did in 2.1 and got feedback => I do not understand - so I removed it as in readme the process will be explained

I'm sure the feedback is good. I did not understand at the beginning also. But I'm unsure of the chosen solution "removing it completely". Well It's an idea, you have more feedback than I do so you are the boss here.

is it possible to fail explicitly when password is wrong admin/admin

  • I forget what is displaying - but error is 404 without details if username or password

From a user point of view the 404 or anything is not relevant. What happens is that the page reloads (I suppose) and it goes fast enough not to understand why. I recommend an explicit message (if possible as I don't know the limitations of all the system)

is it possible that the field doesn't make android kayboard think it's a word/sentense starting with uppercase

  • not sure what you means but looks like autocorrection settings from your phone

yes has to do with autocorrection. I do not know HTML at all (I do only embedded) but I though something like this

is it possible to make "enter" of phone keypad click on "login" button ?

  • The current field API for modal dialogs does not have such feature - I need to see how to add it

thanks

atsju avatar May 29 '22 10:05 atsju

about autocorrect /autocomplete I did not know these settings, I can add them as actually I already set spellcheck="false" Done in sources : https://github.com/luc-github/ESP3D-WEBUI/commit/24b0f3ec50119f55c77f5cdb9d7db8995c71c2fb

luc-github avatar May 29 '22 11:05 luc-github

The authentication seems broken in rewrite I will have a look tomorrow - I need to fix it first , but before I have another bug to fix orz

luc-github avatar May 29 '22 11:05 luc-github

The authentication seems broken in rewrite I will have a look tomorrow - I need to fix it first , but before I have another bug to fix orz

OK I will use without then. Thanks for feedback

atsju avatar May 29 '22 11:05 atsju

how do I setup 3.0 to go to STA ? currently AP is working, uploading index.html.gz seems to have no effect but well it's there. I tried setting ESP100 + ESP101 with my box settings and then [ESP110]WIFI-STA image i'm on b3f2e46b8646648a297d5cbf0b32e34ceb8b5f40

atsju avatar May 29 '22 12:05 atsju

as you update from 2.1 to 3.0 it is better to do a [ESP444]RESET to clear the EEPROM

luc-github avatar May 29 '22 12:05 luc-github

my esp32-CAM only has seen 3.0. Anyway I tried [ESP444]RESET and it did not change anything.

edit : I tried ESP103 to change IPs to 192.168.1.1 (my box) instead of 192.1168.0.1 but doesn't work either

atsju avatar May 29 '22 12:05 atsju

why using static IP ? why putting same ip as you box ?

luc-github avatar May 29 '22 18:05 luc-github

I am on authentication now and I understand your suggestions: There are 2 pages I need to work 1 - embedded page 2 - webui

about embedded page:

image The code is small on purpose but I think add message of invalid credential and enter on password should be easy and not code consumming as I only get 404 error I will check if user already enter user id to detect if first login or invalid credential and remove password if failed I will try to set like this : enter on user id will focus password, enter on password will same a click login

about webui

image

it seems the test server does not handle authentication properly as it is ok on real FW, but I will try same process as above

I will work on these today

luc-github avatar May 30 '22 01:05 luc-github

why using static IP ? why putting same ip as you box ?

No I use DHCP. and my box is on 192.168.1.0 I just tried this because I was searching a solution and was wondering if default 3rd number could prevent it from working. This is not working.

Please note, after uploading inder.html.gz, I do not get the webUI but still the embedded page. Might be related to my issue ?

thanks for the modification proposal on authentication. I will try them when you are finished.

also should I use 3.0refactor or 3.0 ? (of course I already tried both)

atsju avatar May 30 '22 11:05 atsju

do a screen shot of the screen after upload as I do not understand your issue The authentication modification are done in https://github.com/luc-github/ESP3D/tree/3.0-refactoring and https://github.com/luc-github/ESP3D-WEBUI/tree/3.0-rewrite I was suposed to merge both to respective branch 3.0 today but I found the Screen Oled support is broken - it need a library update on esp32 and actually a big code cleaning - so I am on it now I hope all to be ok for wednesday as I will reorganize the display code which is messy right now

luc-github avatar May 30 '22 11:05 luc-github

camera here a screencast I did today to show how to setup esp32cam FYR

luc-github avatar May 30 '22 11:05 luc-github

I will check later when coming home. thanks for screencast.

atsju avatar May 30 '22 11:05 atsju

Good news : I suppose I didn't have the right index.html.gz before I tried https://github.com/luc-github/ESP3D/tree/3.0-refactoring and https://github.com/luc-github/ESP3D-WEBUI/tree/3.0-rewrite with the index.html.gz from marlin directory and this seems to work.

Questions from what I discovered : why are there so many different index ? what is difference between marlin / marlin-embedded and so on ? also this file in particular is 15month old https://github.com/luc-github/ESP3D-WEBUI/blob/3.0-rewrite/dist/index.html.gz . Is it normal that it is still there (I took it by error and of course it didn't work)

And my main problem beeing impossible to connect to my box as a client is still same :(

atsju avatar May 30 '22 17:05 atsju

Marlin is using ESP3D, Marlin-embedded is using ESP3DLib for ESP32 as main board, the commands are the same in this case minus several features like MKS protocol and some others when ESP3D & ESPSPDLib are at same level of code. Marlin / Repetier / Smoothieware/Grbl are different firmwares, using different GCODE, and different format of response, WebUI 2.1 was a mess of if this FW then else if this FW then..etc this way simplify code, allow any customization for one FW without affecting others,, dicrease the final size of package removing the unused code because at the end is only for one FW. To sum up it simplify a lot

The 2.1.1 is 108 KB when 3.0 refactoring is 79KB benefit is visible

The old files seems the initial build - I will remove them

luc-github avatar May 30 '22 23:05 luc-github

And my main problem beeing impossible to connect to my box as a client is still same :(

If wifi dhcp sample work : https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClientBasic/WiFiClientBasic.ino

the only issue I can see is : the SSID has some characters the ESP do not like, I do not limit any so issue is in core the password has some characters that ESP3D doe not like for some reason - do you have special chars in your password ? others than letter and number ?

luc-github avatar May 30 '22 23:05 luc-github

Thanks for all these explanations.

SSID has a _ char but it worked on 2.1 and password is completely normal chars with letters and numbers. I will try the sample code when I get time to do so.

atsju avatar May 31 '22 05:05 atsju

I don't know what I did wrong but I made everything clean again and this time it worked. I suppose writing the wiki helped me understand what to clean and what index to upload.

Edit: not tried with CAM for the moment, only ESP8266... let's see

Also, 3.0 are only alpha so I will not complain, but please heads up about how you want to manage index.html.gz. I see several solutions but today the alphas have only a line telling to go to ESP3D-WEBUI. So in the futur you might want one of these:

  • Use github submodule so the ESP3D repo always points to correct ESP3D-WEBUI (not easy for new users)
  • copy the compatible index to ESP3D github release assets (this is easy for everybody)
  • copy the compatible index to ESP3D repo before release (would need new ESP3D release on update of index)

atsju avatar Jun 06 '22 08:06 atsju

Now the webUI is different according target it will be more difficult I guess the 2nd would be a good choic but there won't have one index.html but the full set, the wizard should help to update if meet my expectations

luc-github avatar Jun 06 '22 08:06 luc-github

you could put everything in a zip and add it to assets (to have folder to differentiate all files with same names)

atsju avatar Jun 06 '22 08:06 atsju

you could put everything in a zip and add it to assets (to have folder to differentiate all files with same names)

this is case already : https://github.com/luc-github/ESP3D-WEBUI/tree/3.0/dist

luc-github avatar Jun 06 '22 08:06 luc-github

Yes but this is additional steps, user must understand the need to go to WEBUI repo (for new user this is NOT immediate) and the search into folders (dist is a good folder name but you still need to search a bit). Adding a direct link to release folder is OK I suppose. https://github.com/luc-github/ESP3D-WEBUI/tree/V3.0-alpha2/dist maybe you can edit the release text.

btw ESP32cam is unable to connect to network as client. I tried the link with demo you shared. I'm investigating and will let you know when I need more help

atsju avatar Jun 06 '22 08:06 atsju

@luc-github sorry to bother you again...

So I did several test on my ESP32CAM board. It's this one and picture is accurate with what I got. Notice the logo is not AI thinker even if I think it's a 1:1 copy of the AI thinker model

I'm on realease 3.0-alpha2. The release works fine on my ESP8266 board. As already talked about, the code on ESP32CAM works as AP only. but when trying to be client mode it fails to connect. I tried you recommandation and the sample code doesn't connect either.

If wifi dhcp sample work : https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClientBasic/WiFiClientBasic.ino

And this doesn't work either.

I tired several things, erasing flash, changing platformIO.ini to board = esp32cam ... nothing seems to have an effect.

Additional infos from ESP-tool :

C:\Users\xxx\Downloads\esptool-v4.1-win64>esptool.exe  chip_id
esptool.py v4.1
Found 7 serial ports
Serial port COM9
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:b8:15:c2:a0:40
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 0c:b8:15:c2:a0:40
Hard resetting via RTS pin...

C:\Users\xxx\Downloads\esptool-v4.1-win64>esptool.exe  flash_id
esptool.py v4.1
Found 7 serial ports
Serial port COM9
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting.....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:b8:15:c2:a0:40
Uploading stub...
Running stub...
Stub running...
Manufacturer: 5e
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

Do you have any idea ?

atsju avatar Jun 06 '22 11:06 atsju

this camera has connector for antenna - the connection to the embedded antena may be not ok did you check the signal strengh of your router seen by the esp board ? [ESP420]

luc-github avatar Jun 06 '22 11:06 luc-github

There is resistor for choosing between connector and F antenna. The F antenna (PCB antenna) is used in my case. Also the client mode works fine and the board is just near the box so except a short circuit like I had on my crappy board, it should connect (even with no antenna connected).

Anyway to double check wifi analyser gives good signal (when ESP is AP) about -53dBm (my box is -32dBm for reference). Not excellent but not bad.

As ESP doesn't connect to router, here is just the output of [ESP420] when phone is connected to AP

;chip id: 16544
;CPU Freq: 240Mhz
;CPU Temp: 41.7C
;free mem: 190.71 KB - PSRAM:4.00 MB
;SDK: v4.4.1-1-gb8050b365e
;flash size: 4.00 MB
;size for update: 1.87 MB
;FS type: LittleFS
;FS usage: 88.00 KB/192.00 KB
;baud: 115200
;sleep mode: none
;wifi: ON
;hostname: esp3d
;HTTP port: 80
;Telnet port: 23
;ap: ON
;mac: 0C:B8:15:C2:A0:41
;SSID: ESP3D
;visible: yes
;authentication: WPA2
;DHCP Server: ON
;ip: 192.168.0.1
;gw: 192.168.0.1
;msk: 255.255.255.0
;clients: 1
;# 0: 192.168.0.2(20:F4:78:FD:FC:2E)
;sta: OFF
;mac: 0C:B8:15:C2:A0:40
;serial: ON
;notification: ON(none)
;Target Fw: unknown
;FW ver: 3.0.0.a200
;FW arch: ESP32 (PSRAM)

atsju avatar Jun 06 '22 11:06 atsju

If it helps, I built example with CORE_DEBUG_LEVEL=5

[  3641][V][WiFiGeneric.cpp:317] _arduino_event_cb(): SCAN Done: ID: 128, Status: 0, Results: 18
[  3641][D][WiFiGeneric.cpp:852] _eventCallback(): Arduino Event: 1 - SCAN_DONE
[  3646][I][WiFiMulti.cpp:114] run(): [WIFI] scan done
[  3650][I][WiFiMulti.cpp:119] run(): [WIFI] 18 networks found
[  3656][D][WiFiMulti.cpp:149] run():  --->   0: [11][12:34:56:78:9A:BC] SFR_AB12 (-49) *
- privacy removed the other APs -
[  3802][I][WiFiMulti.cpp:160] run(): [WIFI] Connecting BSSID: 12:34:56:78:9A:BC SSID: SFR_AB12 Channel: 11 (-49)
[  3814][V][WiFiGeneric.cpp:96] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[  6661][V][WiFiGeneric.cpp:300] _arduino_event_cb(): STA Disconnected: SSID: SFR_AB12, BSSID: 00:00:00:00:00:00, Reason: 201
[  6661][D][WiFiGeneric.cpp:852] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[  6669][W][WiFiGeneric.cpp:873] _eventCallback(): Reason: 201 - NO_AP_FOUND
[  6675][D][WiFiGeneric.cpp:889] _eventCallback(): WiFi Reconnect Running
[  6682][E][WiFiMulti.cpp:181] run(): [WIFI] Connecting Failed AP not found.

I don't see anything relevant. Will google more.

atsju avatar Jun 06 '22 12:06 atsju

NO_AP_FOUND - I still guess signal is too low - it cannot contact the AP My chip is same as you - it is AI-Thinker ESP32-S What [ESP410] give you ? it is scan with signal strengh

luc-github avatar Jun 06 '22 12:06 luc-github

for your reference mine :

--- Miniterm on COM18  115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:12784
load:0x40080400,len:3032
entry 0x400805e4
;Setup wifi
;Connecting
;192.168.2.205
;192.168.2.205
[ESP420]
;chip id: 50221
;CPU Freq: 240Mhz
;CPU Temp: 42.8C
;free mem: 162.10 KB - PSRAM:3.91 MB
;SDK: v4.4.1-1-gb8050b365e
;flash size: 4.00 MB
;size for update: 1.87 MB
;FS type: LittleFS
;FS usage: 92.00 KB/192.00 KB
;baud: 115200
;sleep mode: none
;wifi: ON
;hostname: esp3d
;HTTP port: 80
;Telnet port: 23
;camera name: ESP32-CAM(4)
;sta: ON
;mac: 24:0A:C4:BB:2D:C4
;SSID: luc-ext1
;signal: 50%
;phy mode: 11n
;channel: 3
;ip mode: dhcp
;ip: 192.168.2.205
;gw: 192.168.2.1
;msk: 255.255.255.0
;DNS: 192.168.2.1
;ap: OFF
;mac: 24:0A:C4:BB:2D:C5
;serial: ON
;notification: ON(none)
;Target Fw: unknown
;FW ver: 3.0.0.a200
;FW arch: ESP32 (PSRAM)
[ESP410]
;Start Scan
;luc-ext1       44%     Secure
;End Scan

luc-github avatar Jun 06 '22 12:06 luc-github

NO_AP_FOUND - I still guess signal is too low - it cannot contact the AP My chip is same as you - it is AI-Thinker ESP32-S What [ESP410] give you ? it is scan with signal strengh

The example scan with log gives -49dBm it's reasonable [ 3656][D][WiFiMulti.cpp:149] run(): ---> 0: [11][12:34:56:78:9A:BC] SFR_AB12 (-49) * And it returns about 16 networks near me which is about what my phone sees also.

[ESP410] returns

;Start Scan
;SFR_AB_12	100%	Secure
;End Scan

atsju avatar Jun 06 '22 13:06 atsju

I also tried to connect using my phone as AP but this doesn't work either. Same error

atsju avatar Jun 06 '22 13:06 atsju

the ESP410 show only network which are in good strengh, is the one you cannot connect in list ? I only see one

luc-github avatar Jun 06 '22 13:06 luc-github

Yes I renamed but SFR_AB12 is my network.

atsju avatar Jun 06 '22 13:06 atsju

First good news of the day. wifiClientBasic works with Arduino IDE and ESP32 v1.0.6 ... PlatformIO is supposed to check versions of the libraries so these should not be the problem but it's not the first time for me something broke with it.

atsju avatar Jun 06 '22 14:06 atsju

@luc-github as the example worked with Arduino IDE, I did following things:

  • uninstall autobuild marlin (not reinstalled)
  • uninstall platformIO
  • deleted .platformIO folder to delete everything related to the previous installation
  • Re-install platformIO
  • git clean -dxf
  • Try to build ESP32CAM

This is the outcome :

> Executing task: C:\Users\Julien\.platformio\penv\Scripts\platformio.exe run --environment esp32cam <

Processing esp32cam (platform: [email protected]; board: esp32dev; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
Check if need to add some library to path
['C:\\GIT\\ESP3D\\libraries', '$PROJECT_LIBDEPS_DIR\\$PIOENV', 'C:\\Users\\Julien\\.platformio\\lib']
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (4.4.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20003.0 (2.0.3)
 - tool-esptoolpy @ 1.30300.0 (3.3.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
Converting esp3d.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 40 compatible libraries
Scanning dependencies...
Dependency Graph
|-- WebServer @ 2.0.0      
|   |-- WiFi @ 2.0.0       
|   |-- FS @ 2.0.0
|-- WiFi @ 2.0.0
|-- EEPROM @ 2.0.0
|-- Preferences @ 2.0.0    
|-- BluetoothSerial @ 2.0.0
|-- Ticker @ 2.0.0
|-- Wire @ 2.0.0
|-- ESP8266 and ESP32 OLED driver for SSD1306 displays @ 4.3.0
|   |-- Wire @ 2.0.0
|   |-- SPI @ 2.0.0
|-- TFT_eSPI @ 2.4.61
|   |-- SPIFFS @ 2.0.0
|   |   |-- FS @ 2.0.0
|   |-- FS @ 2.0.0
|   |-- LittleFS @ 2.0.0
|   |   |-- FS @ 2.0.0
|   |-- SPI @ 2.0.0
|-- Ethernet @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- SD @ 2.0.0
|   |-- FS @ 2.0.0
|   |-- SPI @ 2.0.0
|-- FFat @ 2.0.0
|   |-- FS @ 2.0.0
|-- LittleFS @ 2.0.0
|   |-- FS @ 2.0.0
|-- SPIFFS @ 2.0.0
|   |-- FS @ 2.0.0
|-- SD_MMC @ 2.0.0
|   |-- FS @ 2.0.0
|-- ESP32SSDP @ 1.2.0
|   |-- ESP32 Async UDP @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- Update @ 2.0.0
|-- ESP8266-Arduino-Lua @ 0.0.30
|-- ArduinoOTA @ 2.0.0
|   |-- Update @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- ESPmDNS @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|-- DNSServer @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- ESPmDNS @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- HTTPClient @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- WiFiClientSecure @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|-- WiFiClientSecure @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- BMx280MI @ 1.2.0
|   |-- Wire @ 2.0.0
|   |-- SPI @ 2.0.0
|-- DHT sensor library for ESPx @ 1.0.6
|-- WebSockets @ 2.3.6
|   |-- Ethernet @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|   |-- SPI @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- WiFiClientSecure @ 2.0.0
|   |   |-- WiFi @ 2.0.0
Building in release mode
Compiling .pioenvs\esp32cam\src\esp3d.ino.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\benchmark.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\commands.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\debug_esp3d.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\esp3d.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\esp3doutput.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP0.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP100.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP101.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP102.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP103.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP104.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP105.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP106.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP107.cpp.o
Compiling .pioenvs\esp32cam\src\src\core\espcmd\ESP108.cpp.o
In file included from C:\Users\Julien\AppData\Local\Temp\tmp11f7f5ry:1:
C:/Users/Julien/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:209:10: fatal error: pins_arduino.h: No such file or directory

**********************************************************************
* Looking for pins_arduino.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:pins_arduino.h"
* Web  > https://registry.platformio.org/search?q=header:pins_arduino.h
*
**********************************************************************

 #include "pins_arduino.h"
          ^~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs\esp32cam\src\esp3d.ino.cpp.o] Error 1
In file included from esp3d/src/core/../include/esp3d_config.h:23,
                 from esp3d/src/core/commands.cpp:21:
C:/Users/Julien/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:209:10: fatal error: pins_arduino.h: No such file or directory

I'm now totally unable to build v3.0-alpha2 this would explain why some things weren't lined up correctly on my other builds. It may have used wrong dependencies. However I don't know why it's not building now

atsju avatar Jun 06 '22 15:06 atsju

PIO is great when working but a pain when not I did a clean git and delete .platformio and still can compile, sorry I did not uninstall vscode and platformIO because I am to lazy to reinstall all extensions, so your issue is related to vscode or specific extension IMHO

also the ci-does also compile FYR image

luc-github avatar Jun 07 '22 00:06 luc-github

Thanks for feedback. I did not uninstall vscode, only platformIO. Today morning it builds again but still not connecting as client. Really strange, I changed nothing (only restarted computer I suppose).

I tried disabling all extensions. but same problem. Could you please build ESP32CAM and send me .elf and .map output for precisely V3.0-alpha2 ? I might be able to figure out what's different on my side.

atsju avatar Jun 07 '22 05:06 atsju

Did you compiled and flash wificlient sample using using Arduino IDE and Core 2.0.3 ? as it succeed with 1.0.6 I should be interresting to see what happen

luc-github avatar Jun 07 '22 06:06 luc-github

wifiClientBasic works with Arduino IDE and ESP32 v1.0.6

as tried to explain I used full Arduino IDE build. ESP32 board manager was in version v1.0.6. I don't remember version of ESP8266 but not sure it's relevant ? What do you mean by "core 2.0.3" ?

atsju avatar Jun 07 '22 06:06 atsju

1.0.6 is old one ESP32 v2.0.3 is latest one: https://github.com/espressif/arduino-esp32/releases/tag/2.0.3

luc-github avatar Jun 07 '22 06:06 luc-github

Then I must check the link I used to fetch ESP32 because 1.0.6 was last version I had. I already noticed different websites share different links. Could you please share the link to add to Arduino IDE "Additional Board manager URL" ? Wiki only provides link for ESP8266. I might update this also...

atsju avatar Jun 07 '22 06:06 atsju

in read me of each repo there are links on how to install : https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html https://github.com/esp8266/Arduino#installing-with-boards-manager

luc-github avatar Jun 07 '22 06:06 luc-github

Thanks I will have a look tonight

atsju avatar Jun 07 '22 06:06 atsju

I would sugest to just give link to the readme as the json path may change as it did already

luc-github avatar Jun 07 '22 06:06 luc-github

Agreed. I will update (later).

atsju avatar Jun 07 '22 07:06 atsju

ESP32 work up to 2.0.1 on Arduino (tested with 106 200 201) but 2.0.2 and 2.0.3 broke board is "AI thinker ESP32-CAM"

atsju avatar Jun 07 '22 17:06 atsju

using wifi client sample code ?

luc-github avatar Jun 07 '22 22:06 luc-github

Yes wifiClientBasic. I suppose I will open an issue on ESP32 github later...

atsju avatar Jun 08 '22 05:06 atsju

I suggest you set debug mode and put the output with version 2.0.1 and 2.0.3, so they can see what is wrong

luc-github avatar Jun 08 '22 12:06 luc-github

For what it worth - I have ordered 2 new esp32cam with additionnal boards for flashing none of the additionnal boards seems working, even for powering the esp32cam (I did not googled if was common issue) - seems crappy - so I flashed / powered in old way - and both new boards can connect to my local access point as usual

So based on your tests, I am really guessing your issue is not linked to your board itself (as it also work with 2.0.1) but to compatibility between your router and esp32 core latest code.

luc-github avatar Jun 09 '22 02:06 luc-github

My conclusion too. But works neither on my phone AP nor on my box. For your reference https://github.com/espressif/arduino-esp32/issues/6848 Thank you again for support

atsju avatar Jun 09 '22 05:06 atsju

Just for an update : I'm waiting for some kind of resolution from the opened issue but I have been able to build ESP3D and connect with platform = [email protected] It's the last version with a core at 2.1.0

The door is open to a new series of problems :)

atsju avatar Jun 09 '22 16:06 atsju

Hi @luc-github An update about my connection issues (as described here https://github.com/espressif/arduino-esp32/issues/6848). The issue was that default minimum auth level has changed to WPA2. I suppose my box is using WPA only so connection is refused as NO_AP_FOUND -with requested security settings-.

I did not find a config in your code to set the minimal wifi_auth_mode_t. Could you please take this into consideration in 3.0-refactor ?

atsju avatar Jun 11 '22 07:06 atsju

The devt branch is now the 3.0 - the 3.0-refactoring is just there for a while then I will delete it Looking at new API I am checking to add for ESP32:

#if defined (ARDUINO_ARCH_ESP32)
            WiFi.setMinSecurity(WIFI_AUTH_WEP);
            WiFi.setScanMethod(WIFI_ALL_CHANNEL_SCAN);
            WiFi.setSortMethod(WIFI_CONNECT_AP_BY_SIGNAL);
#endif //ARDUINO_ARCH_ESP32

luc-github avatar Jun 11 '22 08:06 luc-github

@atsju please give a try to latest git : https://github.com/luc-github/ESP3D/tree/3.0
https://github.com/luc-github/ESP3D/commit/4b258c666f7138eda4eb731d3ffe6fec467f8e81 should fix your issue according your investigations

luc-github avatar Jun 11 '22 08:06 luc-github

@atsju please give a try to latest git : https://github.com/luc-github/ESP3D/tree/3.0 4b258c6 should fix your issue according your investigations

@luc-github no it is not fixed. You must set config before second wifi.begin there https://github.com/luc-github/ESP3D/blob/4b258c666f7138eda4eb731d3ffe6fec467f8e81/esp3d/src/modules/wifi/wificonfig.cpp#L214 This fixes the issue for me. (first config is not needed in my case but as I don't understand fully the code I don't know the impact).

Kindly note that while reading code (and the very few comments) it's unclear to me why you need to call begin and esp_wifi_start twice here. Do not hesitate to add some comments (or to refactor if relevant).

atsju avatar Jun 11 '22 10:06 atsju

Indeed this code is not supposed to be there - it come from refactoring and a bad sync with ESP3DLib code I have removed it - thank you for pointing this out orz

luc-github avatar Jun 11 '22 10:06 luc-github

This is why I prefer merge commit over squash and rebase. But I understand the workflow you use. 60f9680 is working. thanks.

atsju avatar Jun 11 '22 10:06 atsju

https://github.com/luc-github/ESP3D-Configurator should simplify some configuration / installations steps as it also allow to download webUI - it is not yet ready but I think current rendering is quite relevant of what will be once done

luc-github avatar Jun 14 '22 11:06 luc-github