{"action":"created","issue":{"url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/644","labels_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/644/labels{/name}","comments_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/644/comments","events_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/644/events","html_url":"https://github.com/nodemcu/nodemcu-firmware/pull/644","id":105912938,"number":644,"title":"Added ENDUSER_SETUP module.","user":{"login":"robertfoss","id":523260,"avatar_url":"https://avatars.githubusercontent.com/u/523260?v=3","gravatar_id":"","url":"https://api.github.com/users/robertfoss","html_url":"https://github.com/robertfoss","followers_url":"https://api.github.com/users/robertfoss/followers","following_url":"https://api.github.com/users/robertfoss/following{/other_user}","gists_url":"https://api.github.com/users/robertfoss/gists{/gist_id}","starred_url":"https://api.github.com/users/robertfoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertfoss/subscriptions","organizations_url":"https://api.github.com/users/robertfoss/orgs","repos_url":"https://api.github.com/users/robertfoss/repos","events_url":"https://api.github.com/users/robertfoss/events{/privacy}","received_events_url":"https://api.github.com/users/robertfoss/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":27,"created_at":"2015-09-10T22:41:33Z","updated_at":"2015-09-14T03:43:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/pulls/644","html_url":"https://github.com/nodemcu/nodemcu-firmware/pull/644","diff_url":"https://github.com/nodemcu/nodemcu-firmware/pull/644.diff","patch_url":"https://github.com/nodemcu/nodemcu-firmware/pull/644.patch"},"body":"The module will start a SoftAP, DNS, HTTP server acting as a captive portal.\r\nThe portal will have the SSID SetupGadget and will serve a website where\r\ncredentials for the end users WLAN can be submitted.\r\n\r\nOnce valid credentials have been submitted and used to connect to the\r\nlocal WLAN this module will stop.\r\n\r\nThis module requires USE_DNS to enabled in dhcpserver.h\r\n\r\nStart the captive portal by running enduser_setup.start()\r\n\r\n![](https://github.com/robertfoss/esp8266_nodemcu_wifi_setup/blob/images/screenshot.png?raw=true)"},"comment":{"url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/comments/139955571","html_url":"https://github.com/nodemcu/nodemcu-firmware/pull/644#issuecomment-139955571","issue_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/644","id":139955571,"user":{"login":"jmattsson","id":869607,"avatar_url":"https://avatars.githubusercontent.com/u/869607?v=3","gravatar_id":"","url":"https://api.github.com/users/jmattsson","html_url":"https://github.com/jmattsson","followers_url":"https://api.github.com/users/jmattsson/followers","following_url":"https://api.github.com/users/jmattsson/following{/other_user}","gists_url":"https://api.github.com/users/jmattsson/gists{/gist_id}","starred_url":"https://api.github.com/users/jmattsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmattsson/subscriptions","organizations_url":"https://api.github.com/users/jmattsson/orgs","repos_url":"https://api.github.com/users/jmattsson/repos","events_url":"https://api.github.com/users/jmattsson/events{/privacy}","received_events_url":"https://api.github.com/users/jmattsson/received_events","type":"User","site_admin":false},"created_at":"2015-09-14T03:43:06Z","updated_at":"2015-09-14T03:43:06Z","body":">According to these linker scripts (which I read before adding RAM_CONST_ATTR to anything) everything in \".rodata\" will be put into flash. Is this not the case?\r\n\r\nNo. You're confusing symbol names with section names, which is easy enough to do given the \"interesting\" approach on the eagle soc.\r\n\r\nThe \".rodata\" *section* is located into dram0, i.e. RAM. If you really, really, *really* need a constant to reside in RAM, you can use the RAM_CONST_ATTR macro to force it into this section. Currently only the very low-level symbols _bss_start and _bss_end live there. We have yet to encounter a constant which can't sit pretty in flash.\r\n\r\nThe irom0.text section is, as the name suggests, located in irom0, i.e. flash. The linker script pulls all *symbols* with names matching .rodata* into that section by default.\r\n\r\nI hope that clarifies thing a bit."}}