ESP32 Template Plus



  • https://github.com/mfp20/esp32-template-plus

    It's a project template with added features. I started to make it easy for me to start new projects by just cloning that repo and editing the main.c file but ... ended up dumping in as many features I could. The end result is a kind of pseudo operating system for M5Stack (and ESP32 in general, as far as the support for other boards is included in the upstream repos: arduino-esp32 and loboris' micropython).

    I started from Loboris' Micropython repo and included the Arduino libs for compatibility with the huge Arduino codebase; but It doesn't interact with Arduino IDE. My goal is to just being able to throw in arduino code and have it run without modifications.
    It defaults on TomSuch's menu system and the apps I've found in this forum.

    In this way we don't have to choose between arduino and micropython: we can have both running on the same device, disable one. or the other one, directly from the Kconfig menu. Or disable both and start from the scratch: it's just a matter of delete main/main.c and write a new app_main() function.

    Currently is clunky and partly not functional but in the next hours/days I'll complete the planned features, as well as add some kind of hooks/callbacks for setup/loop functions: the idea is to have an 'arduino' folder where to place vanilla .ino files and have them run instead of the default menu/upython setup.

    Cheers



  • The project went under deep rewriting. Basically is brand new. As I wrote on the README:


    The current code is a rewriting of my previous esp-template-plus (ie: rebased on top of esp-idf-template instead of MicroPython for ESP32 with psRAM support), in order to make explicit and trackable all the changes from Espressif/Micropython/Etc repos to the actual esp-template-plus project.

    Currently builds the default image with all the libs from the components folder (micropython included, see tools/micropython/ports/esp32/build/libapp.a) but doesn't run any task yet.

    Initially I reworked/cleaned Loboris' Micropython awesome project that lead the way for Micropython on ESP32, but then I discovered that his repo had no history back to the original projects. Moreover Loboris looks particularly focused on the Microphyton port, finalizing that codebase for one task only (Micropython), making the whole project unsuitable for generic templating. I've spent a couple days fiddling with his messy stuff then I gave up and started from the scratch, importing his component.mk files and his existing component patches.

    The result is a codebase 99% trackable to the single original project's repos, future proof, and an overall clean project codebase (ex: no extra scripts to manage the project: everything is a 'make' command). This means that you don't depend on me (or Loboris) to update single components or whatever else; we are just packagers saving you a few weeks of work to understand the internals.


    Stay tuned ...



  • @anichang
    Hi, like everyone else that has replied, I also look forward to testing this out.... looks like you have done a lot of work to set this up for smooth development and you have also taken the time to document it in a lot of detail on the github page.

    I really like the idea of being able to switch between use of arduino code and Python code without needing to reflash the M5.

    So well done and thanks for sharing !!

    Looking forward to your future developments of this. Will definitely stay tuned !!



  • @jimit 在 ESP32 Template Plus 中说:

    @anichang
    Hi, like everyone else that has replied, I also look forward to testing this out.... looks like you have done a lot of work to set this up for smooth development and you have also taken the time to document it in a lot of detail on the github page.

    Thanks JimiT for encouragement. But let me express some regret in noticing that this forum is too much manipulated. When I received the M5Stack I noticed that some messages have been deleted leaving a placeholder, and some others I've left about 3 months before (ie: when ordering the M5Stack) simply disappeared (without a placeholder, even).

    This time you point out messages I can't even see. Enough.

    I can't know whether this is the result of the company policy (common idiot business logic trough censorship), some of the intermediaries (governative spy agencies exploiting whatever assets they have to manipulate us worldwide using an excuse or another; see Edward Snowden's story) or my personal communications being manipulated (as a result of my evil twin's hacktivism: http://mfp19.github.io/2015/12/26/Profile.html ). Or all of the three. But I'm sick and tired of this.

    I mean, that's enough for me to both leave this forum, stop buying M5Stacks and don't share anything anymore in order to not support this product. Unless they publicly apologize for manipulating someone else's words or, in case they didn't, change software (ex: use one with static content generation; it's harder to mangle for men-in-the-middle) or whatever else is in their power to do in order to avoid these misunderstandings.

    I really like the idea of being able to switch between use of arduino code and Python code without needing to reflash the M5.

    Well, I was not planning to bind one of the buttons to suspend/resume some tasks. But avoid reflashing is a good idea. I think it can be easily added to TomSuch's menu system. Let me finish the ardulibs/upython stuff first; then I'll include this stuff too.

    So well done and thanks for sharing !!

    Looking forward to your future developments of this. Will definitely stay tuned !!

    In order to stay tuned look at https://github.com/mfp20/esp32-template-plus . Because, as I said, I'm not sure to come back here again.



  • @anichang
    Hi Anichang,

    I am very sorry if some of my message upset you. This was definitely not my intention.

    When I commented "Hi, like everyone else that has replied, I also look forward to testing this out.... ", this comment was intended to be sarcastic.

    I was sort of being slightly critical of the readers of the forum and the fact that there had been a lot of views of your comments but no-one had taken time to reply. I was sort of trying to say "Hey people if your interested in this why not encourage the creator."

    I thought your idea was excellent and would break some new ground - at least on the M5Stack - in allowing easy switching between Arduino code or python - plus you had documented it very well - and so I was surprised to find no comments from anyone else.

    I can assure you that there were definitely no comments from anyone else here and that nothing has been removed from this particular discussion right here. For sure.

    I can't really comment much on your further comments about your earlier experience on this forum except to say that in my time here I have seen absolutely ZERO manipulation of any comments here and no effort on the part of the M5Stack staff to censor any comments. This is clear if you read through the various discussions. Perhaps there was some mistake made earlier - maybe someone learning to use the system (?).

    I hope you will accept my apology, continue your work as planned, and remain posting in this forum because it would be a great shame for my comment to change any of that. Plus I will feel BAD. BAAAAAAAD !

    I will be more careful in my use of sarcasm in future. It does not translate well in writing and is more clear in verbal communication.

    Sincere regards,
    Jimi



  • @jimit 在 ESP32 Template Plus 中说:

    @anichang
    Hi Anichang,

    I am very sorry if some of my message upset you. This was definitely not my intention.

    Don't worry, you did nothing bad. As I wrote, I was already a bit reluctant to use the forum because my messages disappeared. The misunderstanding in this thread could have been just the last drop. Thank you for clearing my doubts. And I apologize to have been so deep on this issue. As I said I had to face some major threats in my life about the so called 'digital rights', so today I'm a bit too sensitive.

    When I commented "Hi, like everyone else that has replied, I also look forward to testing this out.... ", this comment was intended to be sarcastic.

    Well, sarcasm can't pinch the monitor. Usually. So, it's better to avoid. Usually. But I'm a sinner: I know it but I like to be sarcastic as well (and be prepared for reactions). Can't resist the chance to laugh ... so I agree with you but don't ask me how to avoid sarcasm because I don't know.

    And I didn't think about sarcasm because from my perspective is just normal that nobody commented: the project isn't running anything yet, no need to talk about anything. Just updates from me when there's something new, if any.

    I couldn't really get your words in a different way.

    I was sort of being slightly critical of the readers of the forum and the fact that there had been a lot of views of your comments but no-one had taken time to reply. I was sort of trying to say "Hey people if your interested in this why not encourage the creator."

    I thought your idea was excellent and would break some new ground - at least on the M5Stack - in allowing easy switching between Arduino code or python - plus you had documented it very well - and so I was surprised to find no comments from anyone else.

    Well, I've spent a lot of time but I did ... nothing. Really. I just started from Loboris README and clean it up. And again. And again. And again ... to make it useful. Then updated the things that changed in the last months.
    It looks like he started when the esp-idf was not the same of today; so he mentioned features that today are included in the esp-idf distribution (ex: spiffs).

    Overall speaking that guy made a good job in the way that it works, but it's so messy that ... it is not worth to spend time understanding HOW it works, and how to evolve it into the stuff you need.
    I'm not talking about the README only. The whole repo is an horror movie: capital letters file names, single code units hacked and dumped randomly everywhere just to make it work. The result is something with unique features that can't be backported (to the original projects) nor forwarded to specialized projects. At least I'd not base my work on that repo. So I started mine, doing it properly: exploiting the awesome esp-idf features (ie: use 'make', not bash-isms), using the original projects codebases, tracking all the changes, and so on.
    I need it for myself, but I published because I've spotted some users of this forum having troubles with micropython and didn't know how to go back to the arduino-based firmware. Some users can't move out of the arduino gui; they need more time to learn.

    I can assure you that there were definitely no comments from anyone else here and that nothing has been removed from this particular discussion right here. For sure.

    I can't really comment much on your further comments about your earlier experience on this forum except to say that in my time here I have seen absolutely ZERO manipulation of any comments here and no effort on the part of the M5Stack staff to censor any comments. This is clear if you read through the various discussions. Perhaps there was some mistake made earlier - maybe someone learning to use the system (?).

    Yes, I thought about that. It is just normal to loose some content when you move your software facilities or port the data from one tool to the other one. That's the reason why I'm still here writing.

    I hope you will accept my apology, continue your work as planned, and remain posting in this forum because it would be a great shame for my comment to change any of that. Plus I will feel BAD. BAAAAAAAD !

    No need to apologize, it's ok. It was just a silly misunderstanding. As I said, I over-reacted.

    I will be more careful in my use of sarcasm in future. It does not translate well in writing and is more clear in verbal communication.

    Oh yeah, if you can do yourself this favor it will help you a lot. I can't, yet :)

    Anyway, issue cleard, thank you for the patience. Let's go back to work!!!



  • @anichang
    Hi Anichang,

    Glad to hear our issue is cleared.... its understandable for anyone if one has had issues with something in the past to be sensitive - even more so when digital rights are involved as this can quickly become a serious matter.

    I think I have some similar views to yours in that area.

    OK well all the best with your work..... I stay tuned ! Jimi