-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
platformio #551
base: master
Are you sure you want to change the base?
platformio #551
Conversation
Hey, I'm confused here. Didn't we just have a PIO thing? |
Hi @ramapcsx2 . I my case it didn't worked, so I've fixed things a bit and I'd change them even more to order up, clean and prepare it to CI. If you, guys don't mind. |
@Metaln00b Heya, could you share your thoughts? |
I would also dare to:
|
Well, it has nothing to do with PlatformIO, at least not directly. But I see a lot of changes that might break the environment for the main developers. That's not to say that the changes are bad :P If I see it correctly, debug messages were moved to the websocket, spiffs were changed to LittleFS, a few endpoints regarding AccessPoint were adjusted etc. |
Would it be okay for you to describe the pull request in more detail, what it changes? Platformio is not the best headline right now 😅 But first of all, thank you for your support with this project🙏 Most developers are currently busy with other projects and can't look at the whole changes of code, so it would be very important to have a description of the changes, especially changes to folder structures etc. |
Right. I am sorry for the vague description. Since my first attempt of the rapid dive into the large gbs-control.ino was not so rapid because of the high project entropy, I've decided to groom it a bit and that is how it all started. No-offensive criticism here btw. :) Now about the changes were made:
I believe this is it... The only environmental problem I see here is that you cannot use Arduino IDE for building and uploading anymore, which is I believe even better since you're moving onto PIO which encourages you to use VScode instead. |
That all sounds reasonable, and I'm impressed someone went and started a cleanup here :p I'm open to merging, but if this is still in the make and break stages, then I'd prefer waiting a bit, so the way to build this doesn't change every 2 weeks, seemingly :) |
|
That is not done yet definitely. I'd like to make some changes to ease the burden :) for all those who're going through the debris when they join the project. I agreed to leave it as a fork in my personal repo, so your repo would stay unmodified. However that would bring more ambiguity and confusion over there.
My plan is to finish implementing a few more changes in this branch so it can be merged into the master and spawn a new one to fix the project structure there. Let me know what do you think on that. PS: taking into account your next comment on the arch and especially the two IDEs-type building possibility. I believe there is no problem with it especially because Arduino IDE is less demanding than PIO. I also expect collaboration on that from other members of the project. If someone do not agree with something, I'd like to hear that before the big changes, and maybe return to the "yet another fork" version. ;) |
I'm a bit rusty in my understanding of the project, but:
|
What's been said. Feel free to go ahead and work on it, and as long as it still works at the end, there will be no problem merging it :) |
I've been going through all the previous commits and I think there are two main milestones:
Thus in terms of versions I propose to assign version 3 (major) to the code in current branch. However, having in mind "keep it simple" principle I believe that would be more clearly to use the date of release markings for now, ex.: 24.0501 or 24.0502b (beta), etc Please share your opinion. |
…y definitions are moved into options.h
I have a few questions related to the architecture:
Concerning WebUI (
~Thanks |
I can confirm one odd thing about pretty much all Espressif platforms: Their reset circuitry is a recommendation, which is often not followed correctly by every implementation, and so their software to toggle the reset has seen multiple tweaks and versions over time. |
I am not using a prebuilt GBS-C, but a self-assembled unit with a NodeMCU v3.x. In Arduino IDE, I upload with the NodeMCU v1.0 board configuration. On your branch, if I change platformio.ini to Building and uploading the firmwareAfter pulling your latest branch changes (bf8aebf, minus your latest commit), I can build on Windows now. I didn't know the filesystem had to be uploaded separately from the firmware. I had assumed it was unchanged from master, where the web UI's source code is embedded as byte arrays into the firmware image, and the program is fully functional when the flash filesystem is cleared (files are written as you change settings or save presets).
Unfortunately, on Windows "Upload Filesystem Image" generates an error and the GBS-C webserver sends the same 404 error as before.
I think this error results from running package.json's If I run this shell script manually from Git Bash, then "Upload Filesystem Image" again, I finally get a working page over Wi-Fi.
(edit before posting) I just noticed that "separate build/upload/filesystem" is described in the altered README.md, including in a It's possible some of my objections to the build system ignore the ways it's more self-contained than the old one (IIRC requiring manually running shell scripts to build a web UI file from templates, then gzip and convert to a header). I think that prebuilt binaries would avoid the tsc issue (but not the "storing system files together with options/slots" issue). UsageResolutions:
Wi-Fi:
There may be more things I've missed, but I wanted to get this post out reasonably soon. |
Fixed, now it's uploading fine.
The last commit even more optimized for Windows
if someone wish to make a clean install we can not forbid that on the contrary, we must make the process clear for everyone.
As I've mentioned before in terms of ease development I excluded WebUI data from image (temporary I believe). I don't have anything against to store it in flash while it's stored correctly.
Such things like #421 were not happening to me. May be because
In my practice it happened only if I mess somewhere in the code. Right now I have running few ESP32s which are logging 24/7 onto its flash (with system files on flash). I am aware of flash wearing, but too long time should pass and too many read/writes must happen to flash till it fails.
Fixed.
I tgink for now the
That is why I had
I fixed some sentences there. That is mostly WIP areas that will be changing.
This part requires testing and fine tuning. I could not yet do the comprehensive test on various devices.
Correct, this is because resolutions will not be as a special presets, I believe users may wish to change resolutions independently of presets. The diagram that I've posted (in README) is actually about that.
👍 Already fixed, goes with the next commit.
The system behavior while switching resolutions may change a bit in future, however "I believe that resolutions could be changed by user at any moment without changing other parameters, and to be stored as a parameter of each slot."
Fixed. TODO:
That is something to check because it seems to be working fine to me. |
…dev mode, debugView button toggle
@nyanpasu64, why was "matched presets" functionality added?
This statement says UPD: if (uopt->matchPresetSource && (result != 8) && (GBS::GBS_OPTION_SCALING_RGBHV::read() == 0)) {
SerialM.println(F("matched preset override > 1280x960"));
writeProgramArrayNew(ntsc_240p, false); // pref = x1024 override to x960
} else {
writeProgramArrayNew(ntsc_1280x1024, false);
} and then for PAL input (line 4269): if (uopt->matchPresetSource) {
SerialM.println(F("matched preset override > 1280x1024"));
writeProgramArrayNew(pal_1280x1024, false); // pref = x960 override to x1024
} else {
writeProgramArrayNew(pal_240p, false);
} it is somewhat confusing logic, I believe there was a purpose to do so, but it is not clear to me. |
…put now works through temporary buffer, WebUI fixes
…'; use assignment or value-initialization instead [-Wclass-memaccess]
…fix: FW version string position on screen saver
…asting out unused registers - easing the code)
…master', fix for HTML build proc.
Не хочет собираться на Arduino 1.8.19 Выдает ошибку gbs-control\src\wifiman.cpp:48:9: note: in expansion of macro '_DBGF' |
I think the auto translator had tea time on this one ;p |
Hello ramapcsx2! This comment was left for Sergey Ko (way 5). My opinion is that what he did with the original GBS_C code is unacceptable. He split the main code into many tabs and renamed the variables, you don't need to do that! Complicated the procedure for installing firmware on the Arduino IDE platform, not everyone can use Visual Studio Code (PlatformIO). I will hope that the merge will not happen with the original GBS_C firmware. I didn't want to offend anyone here, that's my opinion from the outside! |
Wo gehobelt wird, fallen Späne. |
Personally I think it's reasonable to keep this PR as a "fork" of the GBS-C codebase, and edit the README to point to the updated/changed fork as another choice. The advantage is that it would avoid breaking existing flashing/usage workflows (I don't fully understand the rewrite and last time I tested it changed the UI and had bugs in existing functionality) and I/rama/etc. can keep developing the old code and incorporating changes as needed. The disadvantage is that having multiple options for firmware may fragment development time and fixes, and confuse end users (until a consensus develops on which branch to officially continue going forward). |
Thank you, I understand everything. If a merge occurs, you will have to start work on embedding the on-screen menu again. I don't know for sure, but in the near future they may appear on Aliexpress GBS_C with an on-screen menu. Here is a photo of the GBS_C_OSD motherboard |
Приветствую! В первую очередь, эта тема не для обсуждения проблем установки. Это запрос на слияние, что означает обсуждение вопросов по его подготовке и проведению, включая архитектуру продукта. В будущем; если у кого-то появилась проблема, милости прошу в
Указанная ошибка - есть нонсенс. Такое может произойти в случае если часть файлов была скопирована в ветку git clone https://github.com/Links2004/arduinoWebSockets.git
git clone https://github.com/pavelmc/Si5351mcu.git
git clone https://github.com/ThingPulse/esp8266-oled-ssd1306.git Затем, клонировал репозиторий, удалил main.cpp и собрал последний коммит без каких-либо проблем.
Самые актуальные версии. Больше нечего сообщить.
Наугад не надо. Следует потратить 3 минуты и ознакомиться с README
Подобное заявление кажется странным, особенно если ты не программист. Никто не запрещает использовать версию из оригинального
В "моей" версии OSD работает также, как и в мастере. Функционал OSD уже существует.
"Дельный" совет от не-программиста? Not to be rude, again, you're free to use original |
Again, as I said earlier, I am perfectly OKAY with maintaining this branch myself on my repo as "yet another fork", IF everyone decides that.
who knows what I'd implement there 😄, so you may feel uncomfortable to have links to a poor copy in the official repo.
I have to admit you're blazing fast😄 While someone is asking questions of the code, there is mostly stunning silence but everything changes when a "non-developer" reports of a non-existing problem. Rare ability to foster. 😄 Same with a dummy-locker commit shortly after this request was published. Initially I had in mind that local folks are interested in GBSC's evolution, but it seems the "to be or not to be" questions are more important nowadays.😄 |
"pio" branch still contain the beta version, a few features may not work as expected.