Do we know what release will have variable support?
I've been getting into customizing various aspects of my printer, and in a few scenarios variables are pretty much mandatory.
Are we looking at 3.2, 3.3, something even further out?
Do we know what release will have variable support?
I've been getting into customizing various aspects of my printer, and in a few scenarios variables are pretty much mandatory.
Are we looking at 3.2, 3.3, something even further out?
@dc42 I don't know how you keep your cool, You must have the patients of a saint.
As a developer, I'd most likely end up in a physical altercation, if I had to deal with some of the garbage people regularly throw your way.
@gloomyandy said in no keep alive support?:
I'm not sure if DWC makes use of this feature but I suspect it may for some of the more frequent operations.
DWC/Chrome is asking for it. request header "Connection: keep-alive"
however the server always responds with a response header "Connection: close".
I have yet to see it allow keep-alive.
(for more details see: https://github.com/Duet3D/RepRapFirmware/blob/dev/src/Networking/HttpResponder.cpp#L448).
If i read that properly the code already has everything it needs to handle persistent connections, as it's inspecting the request headers in HttpResponder::SendJsonResponse
see line 986 through 999
https://github.com/Duet3D/RepRapFirmware/blob/dev/src/Networking/HttpResponder.cpp#L986
however when HttpResponder::SendJsonResponse calls HttpResponder::GetJsonResponse the first thing it does it set keepOpen = false;
https://github.com/Duet3D/RepRapFirmware/blob/dev/src/Networking/HttpResponder.cpp#L450
so the if statement that starts on 987 never gets run.
assuming i'm reading this properly, I haven't worked with c/c++ in almost 20 years.
@deckingman said in Whats does the roadmap look like for variables?:
@pixelpieper This isn't a matter of which new features should take priority. This is a case of restoring basic functionality that already exists in version 2 firmware to version 3 firmware before adding new features.
I'm a developer by trade i think you need to consider a few things!
I've been working on this project off and on for a while, and I'm finally at a point where I can share it.
gLapse is a Python based timelapse application designed to run on a Raspberry Pi, fitted with an official camera module. It differs from most timelapse applications, in that it doesn't generate a video as its output. Instead, it stores a sequence of still images that can be downloaded and used to generate a video using a 3rd party application.
stills have a wider range of encoders and quality options available. They are only limited by the resolution of the sensor, and the storage capacity of the SD card used. In short, stills allow for higher resolution and higher quality video, but require the additional step of post processing in a 3rd party application.
Here is a sample 4k time lapse that was generated with stills captured with a Raspberry Pi Zero W equipped with an HQ camera module.
https://www.youtube.com/watch?v=bqkPgWrF3Eo
if you are, you can increase your settings and run the test again. If you aren't then you missed steps, so cut the current values down by whatever safety margin you want and you will have your maximums.
make sure you run each test several times before moving on to higher values.
Here is an example i used for a core xy machine.
G21
G90
M82
; move to position slowly
M201 X250 Y250 Z100 E1500 ; Accelerations (mm/s^2)
M203 X6000 Y6000 Z900 E3600 ; Maximum speeds (mm/min)
M566 X200 Y200 Z100 E1500 ; Maximum jerk speeds mm/minute
G28 XY
G4 S2
G1 X280 Y280 F3000
G4 S2
M400
; rapid back fast
M201 X4500 Y4500 Z100 E1500 ;accel
M203 X24000 Y24000 Z900 E3600 ;speed
M566 X1500 Y1500 Z100 E1500 ;jerk
G1 X10 Y10 F13500
G4 S2
M400
; go home again slow
M201 X250 Y250 Z100 E1500 ; Accelerations (mm/s^2)
M203 X6000 Y6000 Z900 E3600 ; Maximum speeds (mm/min)
M566 X200 Y200 Z100 E1500 ; Maximum jerk speeds mm/minute
G1 X0 Y0 F3000
G4 S2
M400
M119
@deckingman said in Whats does the roadmap look like for variables?:
I'll bear that in mind but I suspect anyone who bought the latest generation of a product such as a 'phone would be somewhat miffed if many of the bundled apps (which worked on the previous version and are still bundled with the new version), didn't work.
The underlying hardware architecture for phones hasn't changed in a long time though. I think almost every phone on the market is based on ARM. If the next generation was x86 based, people would go mad because all kinds of things would break.
If people don't want to deal with issue, then they shouldn't be an early adopter. Doesn't matter if it's phones, sbcs, tvs, cars etc.
stls and f3d files are available on my blog post about the case under reference.
@gloomyandy said in Simple way to set Acceleration and Jerk?:
Will the motor basically start at the jerk speed and then use the acceleration values to increase speed from that point to the target or is it more complex than that?
@dc42 might be able to give a better answer, but I would say the above is a good straightforward way of looking at it.
If using a CoreXY type design would it make sense to perform the tests using diagonal moves (which just use a single motor)?
Imo, yes, that's what i did in the script above for my Core-XY.
@CaLviNx said in Whats does the roadmap look like for variables?:
As a user I expect the "evolution" equipment (that I have paid for) to "fit for purpose" its not as if the end user is forcing the supplier into supply, but the supplier does use the "evolution" features to entice existing (and new) users into making a purchase.
No one is forcing you to buy it, and it's on you if you fall for a sales pitch, or can't control your consumerism!
@jens55 said in Meta commands:
To skip an iteration ???? Where did you see this in the documentation ???
I look at 'continue' as a command that strictly exists as a means to improve readability of the code since the command itself seems to do diddly squat and can be left out.
To be clear it doesn't skip an iteration, it skips everything after the continue statement in the current iteration. It goes back to the top of the looping structure and starts the next iteration. Every programming language I can think of works this way.