Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. jazbaatbadalgaye
    3. Topics
    • Profile
    • Following 2
    • Followers 0
    • Topics 27
    • Posts 74
    • Best 1
    • Controversial 0
    • Groups 0

    Topics created by jazbaatbadalgaye

    • jazbaatbadalgayeundefined

      Extrusion value for any XYZ coordinate within a move?

      General Discussion
      • • • jazbaatbadalgaye
      6
      0
      Votes
      6
      Posts
      315
      Views

      dc42undefined

      @engikeneer said in Extrusion value for any XYZ coordinate within a move?:

      @dc42 is that still true when pressure advance is used?

      No, the commanded extrusion is modified when pressure advance is used in order to get the actual extrusion closer to being linear in distance moved.

    • jazbaatbadalgayeundefined

      DDA output not showing over serial communication with Rpi?

      Firmware developers
      • • • jazbaatbadalgaye
      2
      0
      Votes
      2
      Posts
      209
      Views

      jazbaatbadalgayeundefined

      @jazbaatbadalgaye Just commenting in case anyone runs into the same issue.

      The C code was working fine, void DDA::DebugPrint in DDA.cpp was the culprit. The debugPrintf() function in void DDA::DebugPrint did not output to the serial (at least in C, it worked fine in Python). So I declared variables in Platform.h, set values in DDA.cpp and used debugPrintf() in Platform.cpp to print all the values to serial. I have no idea why it works and I have no idea why the debugPrintf() function in void DDA::DebugPrint doesn't work in C. Maybe need to sacrifice a goat to the C Gods.

      Note : All this is not required if using python to read serial data. For python, just print values using debugPrintf() function in void DDA::DebugPrint. Those values will show up on the serial.

    • jazbaatbadalgayeundefined

      Output x,y,z tool position from DWC to serial?

      Firmware developers
      • • • jazbaatbadalgaye
      5
      0
      Votes
      5
      Posts
      321
      Views

      jazbaatbadalgayeundefined

      @phaedrux I am capturing motion during movement. I just want to intercept the values that being sent to the DWC tool position

    • jazbaatbadalgayeundefined

      3.4 version compilation issues

      Firmware developers
      • • • jazbaatbadalgaye
      6
      0
      Votes
      6
      Posts
      462
      Views

      mbtobecaundefined

      @dc42 Thank you, i don't know why i made this mistake ! Tired !!!

    • jazbaatbadalgayeundefined

      Usual Minimum Prepared Time calculation?

      Firmware developers
      • • • jazbaatbadalgaye
      1
      0
      Votes
      1
      Posts
      148
      Views

      No one has replied

    • jazbaatbadalgayeundefined

      Where did MoveSegment go in the 3.3 version?

      Firmware developers
      • • • jazbaatbadalgaye
      4
      0
      Votes
      4
      Posts
      219
      Views

      oliofundefined

      @jazbaatbadalgaye See my edit, I checked v3.4-dev which has 5 months of development since 3.3.

    • jazbaatbadalgayeundefined

      Deceleration calculated next step time negative?

      Firmware developers
      • • • jazbaatbadalgaye
      2
      0
      Votes
      2
      Posts
      159
      Views

      botundefined

      Just a wild guess here, but perhaps RRF uses negative values in that context to indicate deceleration vs acceleration.

      That, or the lookahead queue is being overrun and the move can't be adjusted (or whatever happens), causing the time to be invalid.

    • jazbaatbadalgayeundefined

      RepRap execution flow questions

      Firmware developers
      • • • jazbaatbadalgaye
      3
      0
      Votes
      3
      Posts
      271
      Views

      dc42undefined

      @jazbaatbadalgaye I'm sorry I missed this when you first posted it.

      A1. There is one DM for each axis or extruder that is moving. Each DM controls one motor (or one set of motors that all move together).

      A2. It will iterate through the DMs in the linked list until it finds one for which the next step isn't due or almost due. Then it stops, because any remaining DMs in the list can't be due either.

      HTH David

    • jazbaatbadalgayeundefined

      Manually provide the number of steps to be executed by a drive?

      Firmware developers
      • • • jazbaatbadalgaye
      4
      0
      Votes
      4
      Posts
      376
      Views

      jazbaatbadalgayeundefined

      @lee7670 @theKM
      I can't do that since I do not want my input (400 in the eg) to go through any segmentation preprocessing etc i.e. I would just like to give it as a command to the stepper motors as steps. I am intercepting the number of steps for each drive for a move, process it through my algoroithm and then "reinsert" them for the actual drive motion

    • jazbaatbadalgayeundefined

      Duet 2 disconnects after running a custom M command

      Firmware developers
      • • • jazbaatbadalgaye
      8
      0
      Votes
      8
      Posts
      348
      Views

      dc42undefined

      @jazbaatbadalgaye said in Duet 2 disconnects after running a custom M command:

      I have the DDA.s which I believe is the assembly file (?). So I look for the 5th byte in the assembly file?

      Look in the assembly file for the instruction that is at offset 4 within function DDA::MoveInsert.

    • jazbaatbadalgayeundefined

      Issues defining a new command.

      Firmware developers
      • • • jazbaatbadalgaye
      5
      0
      Votes
      5
      Posts
      240
      Views

      zaptaundefined

      @dc42 said in Issues defining a new command.:

      function Gen returns a pointer to data in local storage

      Some compiler flag this out

      https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4172?view=msvc-160

    • jazbaatbadalgayeundefined

      Good practices to be memory efficient in firmware?

      Firmware developers
      • • • jazbaatbadalgaye
      15
      0
      Votes
      15
      Posts
      844
      Views

      JoergS5undefined

      @jazbaatbadalgaye if you intentionally create the arrays for every DriveMovement instance (because you want eg know exactly whats going on in every instance), you can optimize the memory usage by:

      at the moment when the DM instances are created, create your array with varying sizes. Depending on the associated drive numbers (your axes), you'll need different sizes, e.g. for axes you don't use, you'll need just a dummy array.

      You can start with small arrays for every instance:

      create an array size variable in DM for every instance stepsize=1000000; and maxindex=5; and create the arrays with maxindex. The arrays need to hold bigger numbers, so you should use uint32_t again use code and check that index is always lower than maxindex:
      index=(dm->nextStepTime/stepsize);
      if(index < maxindex) { dm->bin[index]++; } then check which instance uses a lot of steps. For those instances, you can set stepsize smaller and maxindex higher to get a more detailed view for specific instances. Instances of drives which you use will contain data, the other instances not. I don't know how it's programmed: useddrives-gap-usedextruders-gap-auxdda, or useddrives-usedextruders-gap-auxdata, but you'll see how the instances are filled.

      An alternative to this is to store all values in a single array (in a Singleton class like Platform) and store additionally the information from which DM instance it is in this array. The total required space is much lower, because some DMs don't send data. To identify the DM instance, just store a little additional id variable in the DM instance at initialization date (I think an instance id is a good idea for the first method also).

    • jazbaatbadalgayeundefined

      Debug log printing 2 axes while moving on only 1 axis

      General Discussion
      • • • jazbaatbadalgaye
      5
      0
      Votes
      5
      Posts
      152
      Views

      jazbaatbadalgayeundefined

      @gloomyandy Ahh I didn't know that. It is counter-intuitive but thanks for letting me know. TIL

    • jazbaatbadalgayeundefined

      Firmware compiling without errors but not flashing?

      Firmware developers
      • • • jazbaatbadalgaye
      11
      0
      Votes
      11
      Posts
      436
      Views

      jazbaatbadalgayeundefined

      @gloomyandy Thanks for the link to the tool. I will definitely have to do a lot of reading and learning but hopefully it will be worth it. I will tinker with it and revert back with updates 🙂

    • jazbaatbadalgayeundefined

      Version 3.3 compilation issues

      Firmware developers
      • • • jazbaatbadalgaye
      13
      0
      Votes
      13
      Posts
      434
      Views

      jazbaatbadalgayeundefined

      @jazbaatbadalgaye It compiled after I included a tagged release (16th June?) I included the exact versions the wiki said but weirdly it did not compile then. I used the 3.3 dev version as listed in the wiki. Hopefully the wiki will be updated. Cheers!

    • jazbaatbadalgayeundefined

      Why don't clocks scale with distance or steps?

      Firmware developers
      • • • jazbaatbadalgaye
      4
      0
      Votes
      4
      Posts
      274
      Views

      dc42undefined

      @jazbaatbadalgaye said in Why don't clocks scale with distance or steps?:

      @jay_s_uk Gotcha. So its bc of 2 accelerations (+/-) and one constant speed piece in the whole move?

      Yes.

    • jazbaatbadalgayeundefined

      Display no. of steps for debugging

      Firmware developers
      • • • jazbaatbadalgaye
      1
      0
      Votes
      1
      Posts
      103
      Views

      No one has replied