Shop OBEX P1 Docs P2 Docs Learn Events
Parallax-ESP Module Latest Hack - Page 6 — Parallax Forums

Parallax-ESP Module Latest Hack

13468911

Comments

  • It looks like the version number is derived from the most recent git tag. That is current "v1.0". I'll have to check with Parallax to see how they want to change that for this new version. Maybe it should at least go to "v1.1 beta" or something like that.

    I don't know why older versions won't build. Doesn't git restore old submodules when it checks out an older version of a repository? I'm not a git expert so I'm not sure how this is normally done.
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-07 20:29
    David Betz wrote: »

    I don't know why older versions won't build. Doesn't git restore old submodules when it checks out an older version of a repository? I'm not a git expert so I'm not sure how this is normally done.

    I found that this is the process to go to a previous commit.

    Do a git reset --hard <hash-or-ref>' and then git submodule init and git submodule update, then compile.
    Just don't use that on anything you plant to commit.


    I don't login to my git account when doing this kind of stuff. No way to mess the repo then.

    Using 'checkout' didn't work for me.

    David Betz wrote: »
    It looks like the version number is derived from the most recent git tag. That is current "v1.0". I'll have to check with Parallax to see how they want to change that for this new version. Maybe it should at least go to "v1.1 beta" or something like that.

    Cool. (I THINK I did find that the versioning is in the main folder Makefile.) :)
    I dunno I have to try it.

    I can at least change it for myself so I am not confused what version im running, since I am compiling a few different commits on the same day, for all this testing.
    # 1. Tag the master with: git tag -a v1.1 then enter an annotation message (it's like a commit message)
    # 2. The above snippet used v1.1 as example..... change that v number to whatever you need!
    # 3. Then try: git describe to see what version is displayed
    # 4. Then run make in usual way
    
    
    VERSION=$(GIT_VERSION) ($(shell date "+%Y-%m-%d %H:%M:%S")$(GIT_COMMIT_HASH_SUFFIX))
    #VERSION=1.1 ($(shell date "+%Y-%m-%d %H:%M:%S")$(GIT_COMMIT_HASH_SUFFIX))
    


  • Clock Loop wrote: »
    David Betz wrote: »

    I don't know why older versions won't build. Doesn't git restore old submodules when it checks out an older version of a repository? I'm not a git expert so I'm not sure how this is normally done.

    I found that this is the process to go to a previous commit.

    Do a git reset --hard <hash-or-ref>' and then git submodule init and git submodule update, then compile.
    Just don't use that on anything you plant to commit.


    I don't login to my git account when doing this kind of stuff. No way to mess the repo then.

    Using 'checkout' didn't work for me.
    Won't checkout work if you do it on a new repository clone?
    David Betz wrote: »
    It looks like the version number is derived from the most recent git tag. That is current "v1.0". I'll have to check with Parallax to see how they want to change that for this new version. Maybe it should at least go to "v1.1 beta" or something like that.

    Cool. (I THINK I did find that the versioning is in the main folder Makefile.) :)
    I dunno I have to try it.

    I can at least change it for myself so I am not confused what version im running, since I am compiling a few different commits on the same day, for all this testing.
    # 1. Tag the master with: git tag -a v1.1 then enter an annotation message (it's like a commit message)
    # 2. The above snippet used v1.1 as example..... change that v number to whatever you need!
    # 3. Then try: git describe to see what version is displayed
    # 4. Then run make in usual way
    
    
    VERSION=$(GIT_VERSION) ($(shell date "+%Y-%m-%d %H:%M:%S")$(GIT_COMMIT_HASH_SUFFIX))
    #VERSION=1.1 ($(shell date "+%Y-%m-%d %H:%M:%S")$(GIT_COMMIT_HASH_SUFFIX))
    

    Yes, that will work. Just don't submit a pull request with that change! :smile:

  • The version number comes from a git tag built into the make process.

    Do: 'git tag -l' to see the tag v1.0

    use: 'git tag -a v1.1' to create a annotated tag object

    use 'git tag -v v1.0' to see the tag text

    Mike
  • iseries wrote: »
    The version number comes from a git tag built into the make process.

    Do: 'git tag -l' to see the tag v1.0

    use: 'git tag -a v1.1' to create a annotated tag object

    use 'git tag -v v1.0' to see the tag text

    Mike
    That is correct. I think I mentioned that above as well. I got email from Parallax saying they prefer that we go to "v2.0" since this version requires a different SDK and boot loader which are fairly big changes. I will probably tag the repository at "v2.0b1" since we're still working through the bugs introduced recently. We can go to "b2", "b3", etc and then move to just "v2.0" when we're ready to release an official version.

  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-08 21:58
    David Betz wrote: »
    I got email from Parallax saying they prefer that we go to "v2.0" since this version requires a different SDK and boot loader which are fairly big changes. I will probably tag the repository at "v2.0b1" since we're still working through the bugs introduced recently. We can go to "b2", "b3", etc and then move to just "v2.0" when we're ready to release an official version.

    Deluxe!

    Its too bad that parallax only has the 2016 firmware on their support pages for this module, which doesn't have many of the enhanced features and bug fixes between 2016 and 2020, like updating the DNS with the HOSTNAME of the module, support for the BADGE, and the ability to choose the PIN NUMBER of the RESET LINE, and also the ability to enable/disable the DEBUG PIN, plus many more things, LOADER BAUD RATE...etc...

    Would it be safe to say that the POST 2016 (everything from 2016 to 2020) firmware could be v1.5? I know its not official, but here's the problem. To provide the new v2.0b1 firmware for testing, the pre v2.0b1 firmware needs to be provided also so users can revert, but reverting to the 2016 release eliminates lots of functionality and bug fixes.

    I would like to give users the instructions to compile all 3 "milestones" so they can test with any that they choose, but calling everything up to v2.0b1, v1.0 confuses many due to the version on the parallax support site (2016) is already v1.0 and has limited functionality. So it only seems logical to call everything in between v1.5.(unofficial)
    Would you have a problem with that if I labeled it as such in my instructions? I would state that its not official and NOT in the repository, that this version is my own label.
    David Betz wrote: »
    Won't checkout work if you do it on a new repository clone?

    Perhaps I did something wrong when I just did 'checkout' the build went ok, but after doing a full flash, the module failed to operate properly at all.

    David Betz wrote: »
    Yes, that will work. Just don't submit a pull request with that change! :smile:

    No, never, when I work with a repository, I never login to github (thus cannot make changes) and I usually finish what I am doing, and then DELETE the entire copy I have, and re-get a new copy, when there are updates or if I want to work with it again. I have run into too many problems working with the same copy all the time.
  • I just created a new tag "v1.2" that should be right before the merge of @iseries pull request. This should have all of the changes prior to moving to the new SDK and boot loader. Please try it and let me know if it works for you. I didn't call it "v1.1" because I think @"Clock Loop" has used that version locally.
  • David Betz wrote: »
    I just created a new tag "v1.2" that should be right before the merge of @iseries pull request. This should have all of the changes prior to moving to the new SDK and boot loader. Please try it and let me know if it works for you. I didn't call it "v1.1" because I think @"Clock Loop" has used that version locally.

    Ok, GOOD, v1.2 it is! Glad that is sorted.

    I didn't use that locally, even if I did, don't change official stuff because of my local junk, I can adjust to the cloud's official repository and its changes! (thanks for considering me tho) :)
  • Clock Loop wrote: »
    David Betz wrote: »
    I just created a new tag "v1.2" that should be right before the merge of @iseries pull request. This should have all of the changes prior to moving to the new SDK and boot loader. Please try it and let me know if it works for you. I didn't call it "v1.1" because I think @"Clock Loop" has used that version locally.

    Ok, GOOD, v1.2 it is! Glad that is sorted.

    I didn't use that locally, even if I did, don't change official stuff because of my local junk, I can adjust to the cloud's official repository and its changes! (thanks for considering me tho) :)
    Well, you mentioned you might use v1.1 and it didn't hurt to go directly to v1.2. If you have time, please try it for me. This is the first time I've tried tagging a point in the past so I'd like to know whether it worked.

  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 02:07
    It worked BEAUTIFULLY! Just flashed it... I didn't know you can do that for versions!
    I guess you can tag everything past that tag, to 2.0b1? :)

    908 x 467 - 193K
  • I think I will hold off on the v2.0b1 tag until we fix the current problems. Actually, I need to go back through this thread to see if I can make a list of the issues that haven't yet been resolved. We probably shouldn't tag a version that has known issues.
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 02:39
    David Betz wrote: »
    I think I will hold off on the v2.0b1 tag until we fix the current problems. Actually, I need to go back through this thread to see if I can make a list of the issues that haven't yet been resolved. We probably shouldn't tag a version that has known issues.

    oh, i thought thats what the b1 is for? Most alphas ive used had obvious flaws, betas were closer to perfection... then when parallax likes the fixes, you change to just 2.0?
    So technically would this be an alpha?
    I don't know what they do in naming versions that are based off of working code but have major changes to its core like using a different sdk, etc.

    https://en.wikipedia.org/wiki/Software_release_life_cycle
    800 x 1693 - 115K
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 04:18
    Actually you might want to tag everything past 1.2 to something, because if you look at the most recent commit, it has the 1.2 tag.

    So I guess the tags carry forward from the point at when you tagged it, not just that single commit.

    This means when I download the latest commit (which is with the new sdk and one that needs testing, the home page on the module will still show 1.2.

    (i have 3 esp's on my breadboard, one is v1.0, one is v1.2, and the third is... 2.0b1 (or whatever this one is called)
    In the process of doing testing to see if one version has a bug versus the other, going to the home page of the esp will help the tester know they are not mixing up their versions and esp's.

    It just means when I test a new commit, I will need to change the tag for my local copy before compile, or it will show the same version of my v1.2 test esp.

    I don't mind, what ever works for you!
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 05:13
    I guess there are ... UNEXPECTED CONSEQUENCES TO CHANGING THE TAG to anything above 1 ..

    You will need to update proploader if you do go above 1 ..
    (it works with 1.2)
    ERROR: Unrecognized wi-fi module firmware
        Version is v2.0b1 (2020-09-08 17:09:38 0-gae3b50e) but expected v1..
        Recommended action: update firmware and/or PropLoader to latest version(s).
    

    I will need to keep the latest test version under 2.
  • Clock Loop wrote: »
    I guess there are ... UNEXPECTED CONSEQUENCES TO CHANGING THE TAG to anything above 1 ..

    You will need to update proploader if you do go above 1 ..
    (it works with 1.2)
    ERROR: Unrecognized wi-fi module firmware
        Version is v2.0b1 (2020-09-08 17:09:38 0-gae3b50e) but expected v1..
        Recommended action: update firmware and/or PropLoader to latest version(s).
    

    I will need to keep the latest test version under 2.
    Ah, good thing you noticed that before I added a tag. Now I'm remembering that we decided that the major version number would only change when the protocol with the loader changed. We'll have to call the new version 1.5 or something like that.

    Also, as far as everything being "v1.2" from now on, you'll n notice that anything other than the real "v1.2" has a hash value appended to it that indicates which commit it was derived from. That lets you distinguish a real numbered release and an alpha of the next release.

  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 10:46
    David Betz wrote: »
    Also, as far as everything being "v1.2" from now on, you'll n notice that anything other than the real "v1.2" has a hash value appended to it that indicates which commit it was derived from. That lets you distinguish a real numbered release and an alpha of the next release.

    Which commit is the real v1.2? (will the real commitSHADY please stand up?) Yea, i'll be here all week.

    It must be https://github.com/parallaxinc/Parallax-ESP/commit/a5bcb63560c3be18806231ba25700cf70a0f6f3a

    But when i reset hard to that commit, it must do something. I will try to checkout again.
    I think it makes a hash with reset hard.


    I see what you are saying with v1.0 release from parallax's support page for the WX, no hash.


    906 x 421 - 70K
  • Clock Loop wrote: »
    David Betz wrote: »
    Also, as far as everything being "v1.2" from now on, you'll n notice that anything other than the real "v1.2" has a hash value appended to it that indicates which commit it was derived from. That lets you distinguish a real numbered release and an alpha of the next release.

    Which commit is the real v1.2? (will the real commitSHADY please stand up?) Yea, i'll be here all week.

    It must be https://github.com/parallaxinc/Parallax-ESP/commit/a5bcb63560c3be18806231ba25700cf70a0f6f3a

    But when i reset hard to that commit, it must do something. I will try to checkout again.
    I think it makes a hash with reset hard.


    I see what you are saying with v1.0 release from parallax's support page for the WX, no hash.

    As I mentioned, the real v1.2 will not have the hash tag after the date.

  • David Betz wrote: »
    As I mentioned, the real v1.2 will not have the hash tag after the date.

    Do you mean I cannot compile "the real v1.2" ? (I will always have a hash?)
  • Clock Loop wrote: »
    David Betz wrote: »
    As I mentioned, the real v1.2 will not have the hash tag after the date.

    Do you mean I cannot compile "the real v1.2" ? (I will always have a hash?)
    No, I'm saying if you check out the 'v1.2' tag and build it you should get a version string with no hash tag after the date.

  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 12:37
    git clone --recursive https://github.com/parallaxinc/Parallax-ESP.git --branch v1.2
    

    Im missing a tag?
    Any idea why the version is missing? (at least I was able to get the version with no hash)
    TagMissing.jpg

    This git learning curve is nuts.
    1*m381A1XUItlhwHat_OIqoA.png
    906 x 467 - 185K
  • Shift+F5 in the browser maybe, to refresh cache ?
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-09 13:09
    VonSzarvas wrote: »
    Shift+F5 in the browser maybe, to refresh cache ?

    Nope, that did not work.
    Is it perhaps because the tag was added much later than the commit, so I must add the tag myself?

    notgonnawerklol
    :~/Parallax-ESP-v1.2$ git tag -a v1.2
    fatal: tag 'v1.2' already exists
    

    hmmm.

    I see why you don't want to make a tag for the testing beta, it will make a release under releases? (yeah not good)
  • I'll take a look at this tonight. Maybe we'll have to just hard-code our version numbers going forward.
  • David BetzDavid Betz Posts: 14,511
    edited 2020-09-10 01:17
    I'm not sure why you got a blank version number. I tried making a new repository clone and then checking out v1.2. When I built it I got this version string:
    VERSION v1.2 (2020-09-09 21:13:16 15-gae3b50e)
    
    However, I notice that this version string *does* have a hash tag after the date even though I said it wouldn't. I didn't load the resulting firmware into a module and look at the configuration page though. I suppose there could be something wrong with the HTML that displays the version string.
  • David Betz wrote: »
    I'm not sure why you got a blank version number. I tried making a new repository clone and then checking out v1.2. When I built it I got this version string:

    If you run this command, and compile it, you will probably get no version, and no hash like I did.
    That is all I did differently.. (prior to that I used "checkout" and also "reset hard" and both those had a hash, and the version number)

    I don't know if using branch is bad.. I just searched for a way to checkout a specific tag.
    git clone --recursive https://github.com/parallaxinc/Parallax-ESP.git --branch v1.2
    

  • I'm pretty sure that --branch creates a new branch. Maybe you don't see the tag because it isn't on your new branch?
  • I tried reproducing the reboot error on the Network Page and was not able to get any ware.

    I tried running just the dynamic content to see if it was one of those elements and they all worked just fine.

    It seems to be something in the web page itself.

    Mike
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-10 12:02
    My bugs and errors are wierd, sometimes they happen sometimes they don't.

    The wifi page doesn't restart the module, now that the UDP fix was merged... im only guessing that is why its not fully restarting the module.

    Now it just does this the first time its accessed after power on.
    The E:M messages.
    I will test the code prior to the UDP fix to see if it still causes a full reboot.
    985063> URL = /wifi/wifi.html
    
    985064> Heatshrink compressed file; decode parms = b4
    
    985325> Conn req from  192.168.4.2:62060, using pool slot 1
    
    985325> Conn req from  192.168.4.2:62061, using pool slot 2
    
    985342> URL = /wifi/style.css
    
    985343> Heatshrink compressed file; decode parms = b4
    
    985344> URL = /wifi/140medley.min.js
    
    985345> Heatshrink compressed file; decode parms = b4
    
    985349> E:M 2096
    
    985350> E:M 1584
    
    985352> E:M 1584
    
    985353> E:M 1584
    
    985355> E:M 1584
    
    985356> E:M 1584
    
    985358> E:M 1584
    
    985359> E:M 1584
    
    985361> E:M 1584
    
    985363> Httpd: queuing 142 byte buffer
    
    985739> Pool slot 1 is done. Closing.
    
    985740> Pool slot 1: socket closed.
    
    986688> Pool slot 0 is done. Closing.
    
    986689> Pool slot 0: socket closed.
    
  • Clock LoopClock Loop Posts: 2,069
    edited 2020-09-26 21:41
    @"David Betz" Sorry to bug you again!
    Did I find an undocumented "Reply?" from the WX module?
    252007> [1252007] Reply: '=T,5,0'
    

    What is a T reply? I cannot find it in the WX module API, and I do not know where to look in the c-code to figure out what it means
    (even if i could find it, not sure if i'd understand the c-code)

    I am trying out the WX examples in the SIMPLE TOOLS LEARN folder.
    Learn\Examples\Network\WiFi\Prop to Prop via WX (Client).side
    Learn\Examples\Network\WiFi\Prop to Prop via WX (Host).side
    https://github.com/parallaxinc/Simple-Libraries/releases
    I did have to modify the examples to get them to run, for some reason simpleide isn't finding the functions.
    https://forums.parallax.com/discussion/comment/1507476/#Comment_1507476


    I am getting this output from the debug port on the wx module.
    234637> [1234637] Reply: '=N,0,0'
    
    235640> [1235640] Calling 'POLL' handler
    
    235641> [1235641] Reply: '=N,0,0'
    
    236644> [1236644] Calling 'CLOSE' handler
    
    236644> [1236644] Reply: '=S,0'
    
    241650> [1241650] Calling 'CONNECT' handler
    
    241650> [1241650] TCP: looking up 'caboose.rr.local''
    
    241680> [1241680] TCP: found IP address 10.0.0.22 for 'caboose.rr.local'
    
    241683> [1241683] Reply: '=S,5'
    
    246692> [1246692] Calling 'SEND' handler
    
    246693> [1246693] SEND 5 49
    
    247004> [1247004] Reply: '=S,0'
    
    252007> [1252007] Calling 'POLL' handler
    
    252007> [1252007] Reply: '=T,5,0'
    
    253011> [1253011] Calling 'POLL' handler
    
    253011> [1253011] Reply: '=N,0,0'
    
    254014> [1254014] Calling 'POLL' handler
    
    254014> [1254014] Reply: '=N,0,0'
    
  • Looking at the code there seems to be three different codes sent.

    T - connect event
    X - disconnect event
    D - send data event

    Mike
Sign In or Register to comment.