ESP8266 mesh的移植

angeliacfq
Posts: 8
Joined: Thu Apr 21, 2016 12:00 pm

ESP8266 mesh的移植

Postby angeliacfq » Tue Nov 01, 2016 9:40 am

你好:
ESP8266 2.0SDK 里的mesh库是mesh version: v0.2.3,现在我想把v1.3.2的移植到2.0SDK上,仅仅把mesh.a替换调,不能编译通过。应该怎么做才能移植过去呢?

xtensa-lx106-elf-gcc -L../lib -nostdlib -T../ld/eagle.app.v6.new.1024.app1.ld -Wl,--no-check-sections -Wl,--gc-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lcrypto -lmain -ljson -lupgrade -lssl -lmesh -lpwm -lsmartconfig user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_print_ver':
(.irom0.text+0x1350): undefined reference to `wifi_station_connect_dest_chan'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_print_ver':
(.irom0.text+0x1396): undefined reference to `wifi_station_connect_dest_chan'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_print_ver':
(.irom0.text+0x2014): undefined reference to `wifi_station_connect_dest_chan'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2424): undefined reference to `wifi_set_bc_rate_mode'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2428): undefined reference to `wifi_set_budget_rate_limit'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x242c): undefined reference to `wifi_set_budget_rate_limit_enable'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2430): undefined reference to `ieee80211_mesh_quick_set_mgmt_send_map'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2434): undefined reference to `ieee80211_set_beacon_interval'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2438): undefined reference to `tcp_pbuf_set_alloc_ondemand'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x243c): undefined reference to `rcSetRetryLimitCnt'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2737): undefined reference to `wifi_set_bc_rate_mode'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2743): undefined reference to `wifi_set_bc_rate_mode'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x274f): undefined reference to `wifi_set_budget_rate_limit'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x275b): undefined reference to `wifi_set_budget_rate_limit'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2763): undefined reference to `wifi_set_budget_rate_limit_enable'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2777): undefined reference to `ieee80211_mesh_quick_set_mgmt_send_map'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2780): undefined reference to `ieee80211_set_beacon_interval'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2789): undefined reference to `tcp_pbuf_set_alloc_ondemand'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_enable_request':
(.irom0.text+0x2792): undefined reference to `rcSetRetryLimitCnt'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_get_router':
(.irom0.text+0x28cc): undefined reference to `ieee80211_mesh_quick_set_mgmt_send_map'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_set_router':
(.irom0.text+0x2abb): undefined reference to `ieee80211_mesh_quick_set_mgmt_send_map'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_set_router':
(.irom0.text+0x2ac4): undefined reference to `ieee80211_set_beacon_interval'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_set_router':
(.irom0.text+0x2acc): undefined reference to `tcp_pbuf_set_alloc_ondemand'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_connect':
(.irom0.text+0x5907): undefined reference to `ieee80211_mesh_quick_set_mgmt_send_map'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_connect':
(.irom0.text+0x59f8): undefined reference to `ieee80211_set_beacon_interval'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_connect':
(.irom0.text+0x5a1f): undefined reference to `ieee80211_set_beacon_interval'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x5d43): undefined reference to `wifi_station_connect_dest_chan'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x6074): undefined reference to `wifi_station_reconnect_fixed_channel'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x65e7): undefined reference to `wifi_station_connect_dest_chan'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x65ff): undefined reference to `wifi_station_connect_dest_chan'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x66cb): undefined reference to `wifi_station_reconnect_fixed_channel'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x9058): undefined reference to `wifi_softap_kick_station'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x90bb): undefined reference to `wifi_softap_kick_station'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x9114): undefined reference to `wifi_check_station_status'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0x9137): undefined reference to `wifi_check_station_status'
../lib/libmesh.a(espconn_mesh.o): In function `espconn_mesh_disconnect':
(.irom0.text+0xa36d): undefined reference to `wifi_station_connect_dest_chan'
collect2: error: ld returned 1 exit status
make: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1

angeliacfq
Posts: 8
Joined: Thu Apr 21, 2016 12:00 pm

Re: ESP8266 mesh的移植

Postby angeliacfq » Tue Nov 01, 2016 10:37 am

已解决,把mesh V1.3.2的库都移植到2.0 SDK上

ESP_Alen

Re: ESP8266 mesh的移植

Postby ESP_Alen » Wed Nov 02, 2016 10:06 pm

angeliacfq wrote:已解决,把mesh V1.3.2的库都移植到2.0 SDK上


Great work

angeliacfq
Posts: 8
Joined: Thu Apr 21, 2016 12:00 pm

Re: ESP8266 mesh的移植

Postby angeliacfq » Thu Nov 03, 2016 10:29 am

你好:
目前我需要在设备开启mesh功能之后,根节点能够发出广播包。我尝试在mesh_demo的wait_esptouch_over()里注册了WiFi处理时间函数,
wifi_set_event_handler_cb(wifi_handle_event_cb), 当EVENT_STAMODE_GOT_IP 时间触发之后就开始发广播包。在espconn_mesh_enable开启STA+AP模式前,设备可以发出几个广播包。STA+AP模式开启之后就收不到广播包了。如果设备连接router失败了,重新连接上router,又可以继续发出广播包。
请问要怎么才能使根节点能够稳定的发出广播包???

ESP_Alen

Re: ESP8266 mesh的移植

Postby ESP_Alen » Mon Dec 05, 2016 10:40 am

angeliacfq wrote:你好:
目前我需要在设备开启mesh功能之后,根节点能够发出广播包。我尝试在mesh_demo的wait_esptouch_over()里注册了WiFi处理时间函数,
wifi_set_event_handler_cb(wifi_handle_event_cb), 当EVENT_STAMODE_GOT_IP 时间触发之后就开始发广播包。在espconn_mesh_enable开启STA+AP模式前,设备可以发出几个广播包。STA+AP模式开启之后就收不到广播包了。如果设备连接router失败了,重新连接上router,又可以继续发出广播包。
请问要怎么才能使根节点能够稳定的发出广播包???


Hi, 你好,
event_callback已经被mesh用掉了,而系统只支持一个event_callback, 所以你不可以再使用event_callback了,抱歉。
那你可以先不要开启mesh,发完broadcast之后再开启mesh.

Who is online

Users browsing this forum: No registered users and 58 guests