Hot!WINC1500 Demo -- White Flag

Author
BillP
Super Member
  • Total Posts : 292
  • Reward points : 0
  • Joined: 2014/09/28 07:53:35
  • Location: CA
  • Status: offline
2019/01/12 17:13:32 (permalink)
0

WINC1500 Demo -- White Flag

I am giving up on the Harmony/WINC1500.  I have been using the latest Harmony/MPLABX/XC32 tools and the Curiosity PIC32 MZ EF development board with the WIFI 7 Click board to develop a WINC1500 driver for the Harmony superloop as an option to replace the FreeRTOS app (labeled a "driver" in Harmony).
 
I discovered a number of roadblocks that make me want to move on to something with more potential to be useful.  Following is a list of some of the problems I encountered.

1. As I stated in an earlier post, I could not get the only WINC1500/Curiosity PIC32 MZ EF demo to work.  I asked if anyone (forum people or Microchip) could get the demo app to work. No one has responded.  Meanwhile, I tried the demo app in "socket mode" and received a lot of compile errors.  I only changed one option in the MHC from "Run WiFi driver in Ethernet Mode" to "Run WiFi driver in Socket Mode".  It appears (to me) that this demo app has not been tested before being added to the Harmony distro, so if I wanted to continue I would have to debug the demo looking at dynamic spi and gpio signals.  I don't have the diagnostic tools to do this.  This is why I buy dev kits and use Harmony tools so I can concentrate on the application.  Furthermore, there is no software manual or datasheet that describes the low-level calls to the Cortus chip.  The Atmel document is not sufficient to determine what registers are being called and why.  Finally, after plowing through "code by committee" and "goto" statements (really!), IMHO, this is not the way to program embedded systems. Sorry, I am old school.

2.  The Curiosity board does contain an MRF24W wifi chip and the demo app does work with that  device.  However, Microchip tells us that this device should not be used for new designs.  I agree.  The software for that device is included as a library in Harmony (not source code), so debugging inside the library routines is impossible.  Furthermore, I could find no datasheet or software manual that describes the commands or logic that is contained in the MRF24W demo app.  This is unacceptable, so using the MRF24W driver is out (for me).  

3.  This brings me to the question of the need for a wifi driver to be integrated with the Harmony TCP/IP stack.  If the separate wifi chip does all the MAC/PHY/IP stuff, then maybe a simple localhost TCP link between the wifi network interface and the Harmony stack might be all that is needed.  Does anyone have any thoughts on why a wifi module in the Harmony TCP/IP stack is needed?  

4.  I was looking at the available wifi click boards (there are 7) and it appears many of them use older or obsolete wifi chips.  However, there are 3 possibilities for current products: WiFi-NINA (NINA-W132 chip), the WiFi 4 click (uses the SPWF013A chip), the WiFi ESP click (uses the ESP-WROOM-02).  All of these use a UART interface to the host CPU and the latter two use a simpler AT-command set to control the device.  Again, IMHO, this is a cleaner software design than the WINC1500.  Does anyone in the forum have any experience with any of these 3 wifi chips?  I think I will buy one of these and see how it can work with Harmony. 




#1

4 Replies Related Threads

    friesen
    Super Member
    • Total Posts : 2036
    • Reward points : 0
    • Joined: 2008/05/08 05:23:35
    • Location: Indiana, USA
    • Status: offline
    Re: WINC1500 Demo -- White Flag 2019/01/15 08:40:03 (permalink)
    0
    Is this a one off project, or do you have the time to dedicate to make it work?  The wilc1000/wilc1500 on the latest asf framework seems to be reasonably reliable on a MZ project of mine, they have worked some kinks out of the firmware.  It will probably be a while before harmony see it, if it actually completely filters down.

    Erik Friesen
    #2
    BillP
    Super Member
    • Total Posts : 292
    • Reward points : 0
    • Joined: 2014/09/28 07:53:35
    • Location: CA
    • Status: offline
    Re: WINC1500 Demo -- White Flag 2019/01/15 17:54:10 (permalink)
    0
    Eric,

    I have already spent a lot of time to understand how the WINC software works and, I believe, I know how to rewrite the driver to make it work in the superloop environment.  However, without any programming manuals for the WINC1500 and the Cortus chip, I have to reverse engineer every SPI call.  Basically, the HIF protocol is a command-response pair, which is common in other communications protocols (e.g. Modbus).  The problems occur when there are multiple ways to arrive at an SPI-read or SPI-write.  There is WDRV layer, an m2m layer, an nm-layer, and an spi-layer.  Some of the commands are duplicates of other commands (nm_spi_read_reg_with_ret() and nm_read_reg_with_ret()). Anyway, these poor programming practices just make it more difficult to unravel the software (but not impossible).

    Getting back to why I cannot go further with this is that the demo does not work for me.  It could be a hardware problem (bad click board, bad Curiosity board).  It could be that a GPIO signal is not being set properly.  It also could be the firmware in the WINC chip is not correct.  The documents discuss how to update the firmware but there is no indication this needs to be done and, if so, how to do it. As a result, the demo example using the Curiosity board with WINC1500 does not work (for me), so I cannot reverse engineer anything because I have no idea what works and why.

    I looked at other click boards and there are 2 that implement an AT-command set that does all those low-level functions that the WINC host software has to do.  For example, if I want to wake up the chip, the host should send just one command and let the wifi chip do all the proper sequencing of wifi chip registers.  This seems more logical to me so I bought a WiFi 4 Click with a SPWF01SA wifi chip.  It should be arriving soon and I will write a driver for the board and post any results (if anyone cares).
    #3
    friesen
    Super Member
    • Total Posts : 2036
    • Reward points : 0
    • Joined: 2008/05/08 05:23:35
    • Location: Indiana, USA
    • Status: offline
    Re: WINC1500 Demo -- White Flag 2019/01/15 18:10:58 (permalink)
    0
    You do understand that the wilc1000 driver works with 1500 hardware? It loads the firmware from the host and doesn't use the built in at all.

    Erik Friesen
    #4
    BillP
    Super Member
    • Total Posts : 292
    • Reward points : 0
    • Joined: 2014/09/28 07:53:35
    • Location: CA
    • Status: offline
    Re: WINC1500 Demo -- White Flag 2019/01/16 13:33:09 (permalink)
    0
    Interesting...
    I checked the WILC1000 and the WINC1500 directories in the Harmony franework and there are a lot of similarities, so I believe you that the WILC1000 software will work with the WINC1500. 
     
    I then searched for Atmel documents that could show me how to upload the latest firmware to the WINC1500.  I did find an Atmel application note that describes the "AT-command" set that is available for the WINC1500 on an Atmel Xplained Pro board.  The AT-command set includes downloading firmware but it requires a UART connection.  Unfortunately, the WiFi 7 click board does not have Tx and Rx connected. 
     
    So I am still stopped at trying to get the Curiosity/WiFi 7 click board to work in Harmony.
    #5
    Jump to:
    © 2019 APG vNext Commercial Version 4.5