Kelrob 0 Posted October 12, 2016 Share Posted October 12, 2016 Hi, During the last two days I wanted to give Energia a try for performance testing of CC3200 based modules. On first glance TCP/IP performance is better than ESP8266 but I stumbled over many issues and currently I don't know whom to ask for: Energia, TI, RedBearLabs, ... I faced the same issues with either TIs original CC3200 Launchpad XL and RedBearLabs Wifi Mini module. Even if you only have comments, thoughts or solutions for a single one of my issues, please post your answer and reference to the issues numbered below. (1) First I was able to run the OutOfBox and blink examples. Then after playing with my own skript using AP and station mode as well as fixed and dynamic IPs somehow the DHCP server was not working any more. I tried the OutOfBox example, and again no IPs were provided to the clients. It seems that the CC3200 module stores information in a place which is not overwritten by Energia when uploading new code but used by the underlying TCP/IP stack. After hours of experimenting I decided to format the flash with TIs UniFlash tool, and to install the newest service pack, and surprise, instantly the DHCP service was functional again. Question: What happend there, and how to prevent that in future? I cannot risk that the module gets unusable after selling to a customer! (2) Since the reformatting of the flash open APs do not work any more. It doesn't matter if I use WiFi.beginNetwork(ssid, "00000000") or WiFi.beginNetwork(ssid). The network in both cases is created in WPA2 mode requiring the password "00000000". I think but have no proof for that it was working before the re-flashing procedure... Question: How to create open AP again? Only guessing, but is it a problem of the current service pack? (3) If I use WiFi.config(apIP, apDNS, apGateway, apNetMask) before calling WiFi.beginNetwork() then the IP of the AP is changed as expected, e.g. to 192.168.5.1 but the DHCP remains in it old range, so the client gets 192.168.1.2 and can never reach the webserver at 192.168.5.1 (as it is running in another net). Question: How to change DHCP behaviour from Energia, and why is it not done automatically based on IP of AP? (4) The worst issue is related to the following line of code which I use in a loop for TCP/IP performance tests: currentTransferSizeReport = client.write(fileDownloadBuffer, currentTransferSize);If I increase the currentTransferSize up to 1460 bytes everything is working fine, transmission throughput increases as expected. If I go beyond 1460 then transmission throughput decreases, and on first glance everything looks right, but the receiver gets more data than transmitted! I tested my simulated file download with various browsers, and if I transmit exactly 100MByte these 100MByte appear in the browsers download folder only when using a block transfer size of <= 1460 bytes. In case of using larger sizes the received data file is larger, but not constant, I got up to 114 MBytes! So from my point of view it looks like a problem in the TCP/IP stack somehow related to transfer size and window size. My problem is that the transmission looks error-free (the server sees that the reported transfer size matches the requested one) but it is not. My cheap ESP8266 module currently reaches half the speed of the TI module but at least it transmits the data untouched! Question: What happens there, and how can I determine which transfer size to use to get my data transported safely without corruption if no errors are reported? (5) The String class constructor using a float value as input is not functional, it always delivers 0.000. From my point of view the dtostrf funtion is used, which tries to use sprintf, which is not implemented for floats within the Arduino source code for performance reasons. Question: Does it only happen on my system, so someting went wrong during Energia installation? I can hardly believe that such a basic function is not working (so has never been tested)? (6) After downloading code from Energia to RedBearLabs Wifi Mini module it got 4 quite similar error messages, the first one is DEBUG cc3200prog.c:2667: write failed However, the code has successfully been downloaded but not started, I have to press the reset button manually after downloading. These error messages do not appear when downloading code to TIs Launchpad. Whew, that's all for the moment. With best regards, Kelrob Quote Link to post Share on other sites
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.