-
-
Notifications
You must be signed in to change notification settings - Fork 349
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
Various Sming fixes and features tasklist #892
Comments
@ADiea It would be great to see all of those changes being part of the upstream Sming version. I can suggest the bug fixes to be the first PRs, followed by improvements related to memory (memleaks, heap increase, etc ) and finally the new features. For the UART changes I am trying to rewrite Sming to "borrow" from Arduino's HardwareSerial (see https://github.com/slaff/Sming/tree/fix/uart1) so if you want wait with your UART changes a bit. |
Please go on with uart1 support because software_uart will kill the interrupts it's better to avoid it if we have alternative. Then we can switch debugging to uart1 and use uart0 for communicating to other devices (in my case a nextion display) |
@ADiea I guess the time has come to cleanup the debug-in-flash branch and create a PR out of it so that we can start testing it. Also create another PR for "Modify image size and start address in ld script. (increased irom section)". |
I have a issue here: it's section conflict. The feature works like this: from makefile I set a CUSTOM_BASE_FILE with filename and in header I declare LOG function as macro that defines a static global log_CUST_FILE_NAME_LINE_NUMBER like
The problem is that for ex in Sming/SmingCore/Network/FTPServerConnection.cpp there are several classes. When debugf is replaced by static variable creation in irom section gcc will complain of section type conflict. So one way is to make sure we don't have more than one class in a file and refactor the FTP file, or keep digging for a solution out of this I was thinking maybe a pragma to disable this error exists... The benefit is huge it saved me a lot of RAM but I still need to find a fool-proof solution for this gcc error... |
@ADiea are you ready to propose as PR those changes ?
|
I will give them priority. I think the SSL leak is already fixed in current version because there is a check now when making buffer realloc in lwipr_compat.c |
Regarding: Modify image size and start address in ld script. (increased irom section) I was using these values for iram and irom sections, to allow more functions into the IRAM section
Right now in standalone.rom.ls these are the values
According to memory map range from 40108000 to 4011000 should not be used. However in my tests I have used if (that is the first image was bigger than 0x8000 and it loaded and executed correctly). But because this is not documented properly. probably it should only be used for experimentation and not for production. |
Haven't tested this but I guess you can disable the RAM cache by calling early enough Cache_Read_Enable(0, 0, 0) and then you could change the length from |
@ADiea May be we can add to this release also that feature "Guard CommandExecutor to be able to exclude from build if not used/needed. (increase IROM/heap)" if you submit PR until Wednesday (8th March, 2017). If will align nicely with the other heap improvements that you have contributed. |
I have just received my projects's PCBs this weekend so was a little busy soldering :) Right now my priority is SPI modifications in order to have functionality on my board But I will also try to guard CommandExecutor because it's a simple PR. |
@ADiea how about adding that change "Possible SDCard library fixes (will compare and see)" ? |
My current hardware is like this: I have a IO expander that controls Chip select lines for SD card and for another spi device - because I have too little io pins for all the stuff I need to do... Thus I have added a extension to spi base class, a chip select delegate possibility to control cs from application side. Normally in Arduino world application is responsible for chip select spi class does nothing. But we have the SDCard code witch is an application on top of spi class, so the upper layer application only opens files on the sdcard it does not know when to chip select the sdcard... I kept thinking what is the best approach to make a PR, I will start with the i2c io expander PR (PCF8574). Then made SDCard modifications to allow flexibility to chip select using delegates from application code or to just define a CS pin like it is currently done (default) |
@ADiea How about adding the above described feature? |
Have not done ESP related dev in a while because my project/idea is on hold... for now I'll keep just an eye maybe help with reviews etc. That "feature" is not something very complicated it is something like this:
|
Hi everyone,
I started to port my work branch to main Sming repo. Because NOOS was not maintained for ~1year a lot of stuff remained on my local fork. I have reviewed my commits and I want to place all intended changes here as a task list for easy reference and will make multiple PRs in the future referencing this issue.
Of course some things in the list might not be applicable anylonger will compare and see for each one.
Feel free to comment, express your priorities etc, I hope in ~1-2 weeks it will all be done :)
Pending
In progress
Finished
store and later setRtcSeconds
The text was updated successfully, but these errors were encountered: