• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Smart effector not remembering sensitivity

Scheduled Pinned Locked Moved
Smart effector for delta printers
5
15
529
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    dgrat
    last edited by dgrat 31 Oct 2019, 18:10

    Hi there,
    I got a replacement. Z probe and LEDs are working fine now. However, the probe does definitely not store the sensitivity when I repower. Seems like the probe always starts with factory settings.

    The weird thing is, that the LED flashes 3 times after setting (M672 S105:8:247) and subsequent repower (as described). However, the sensititviy changed back factory setting. During this time setting the sensitivity is not possible (after sending any command there is no led-feedback or change in sensitivity). After another repower, the LED flashes 2 times and I can set sensitivity again. This behavior makes it even impossible to define the sensitivity in the config.g file and is reproducable in my setup 100%. Firmware issue or EEPROM faulty?

    Somehow I like the smart effector. I mean every third repower event I can probe with it with 0.03 mm tolerance (which will not be done very often anyway). However, it seems that there is quit some trouble. Actually I bought some weeks ago a second from another shop which still did not arrive. If that works I may buy a third but I somehow expect there will be problems again..

    1 Reply Last reply Reply Quote 0
    • undefined
      dgrat
      last edited by dgrat 11 Jan 2019, 12:04 1 Nov 2019, 09:42

      I am absolutely not sure, because I was just briefly looking into the code.
      There are two basic options. Either I am extremely unlucky and got a unit with defective EEPROM.
      Or there is a bug in the code. Was just briefly looking, and it seems for me the checksum math does not fit in v2 (generation with check). V1 looks fine for me.

      nvData.checksum = NvData::magic ^ nvData.sensitivity ^ nvData.flags;
      and
      nvDataValid = ((nvData.sensitivity ^ nvData.checksum) == NvData::magic);
      For me it should look like this:
      nvDataValid = (nvData.sensitivity ^ nvData.flags ^ nvData.checksum) == NvData::magic;

      1 Reply Last reply Reply Quote 0
      • undefined
        dc42 administrators
        last edited by 1 Nov 2019, 17:48

        I agree with you, the code looks wrong. I'll see if I can reproduce that problem.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • undefined
          dc42 administrators
          last edited by 1 Nov 2019, 19:11

          Yes I can reproduce it. I'm sorry about this. I guess nobody else is using custom sensitivity!

          Have you tried moving the sensitivity command to the end of config.g and using G4 to insert a delay before it? The delay will have to be long enough for the LED to have stoppled flashing.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • undefined
            dgrat
            last edited by 1 Nov 2019, 19:44

            I am not an embedded developer. Do you have a small guide how to flash the firmware? I will make a push request in github.

            1 Reply Last reply Reply Quote 0
            • undefined
              dgrat
              last edited by 1 Nov 2019, 20:01

              Definition of M672 S105:8:247 in the config file is useless, because I can just change the sensitivity every third run.
              I guess there is another issue with the error handling, because the checksum check is false, but the led blinks three times.

              1 Reply Last reply Reply Quote 0
              • undefined
                dgrat
                last edited by dgrat 11 Jan 2019, 20:23 1 Nov 2019, 20:20

                I think I got it, the LED blinks probably one time because of the check, and two times because it resets ^_^
                I misinterpreted this as three blinks 😄

                	if (!nvDataValid && (PINA & BITVAL(PortADuetInputBitNum)) == 0)
                	{
                		nvData.flags = 0;
                		UpdateEEPROM();
                		FlashLed(2);
                	}
                
                1 Reply Last reply Reply Quote 0
                • undefined
                  dgrat
                  last edited by 2 Nov 2019, 15:24

                  What works is to put M672 in the bed file and finish with a reset 131:131.

                  undefined 1 Reply Last reply 7 Nov 2019, 12:01 Reply Quote 0
                  • undefined
                    dc42 administrators @dgrat
                    last edited by dc42 11 Jul 2019, 12:05 7 Nov 2019, 12:01

                    @dgrat, thanks for your PR. I have accepted it, made some other minor changes, tested it, and published a new release at https://github.com/dc42/Duet3dSmartEffector/releases/tag/2.01.

                    Flashing the firmware requires an AVR programmer, such as AVRISP, TinyISP, or an Arduino running the ArduinoISP sketch. The pads on top of the Smart Effector have the standard 6-pin ISP layout. We use spring-loaded pins to make contact with them.

                    If you are based in the UK then I can reprogram your Smart Effector. Send me a chat message if you would like to arrange this.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      dgrat
                      last edited by 7 Nov 2019, 13:04

                      @dc42 I am living in Germany, and I guess, I anyway had to learn it. I will test it out, when I get my pogo pin connector.

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        dgrat
                        last edited by 13 Nov 2019, 17:45

                        @dc42
                        Okay I flashed the firmware with avrdude. Seems to work now.

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          apak
                          last edited by apak 15 Mar 2025, 13:51

                          I just got a old smarteffector that seems to have this very same problem.

                          No sensitivity store, and need to program it every power cicle.

                          Is it there any instruction on how to flash fw to smarteffector? It´s a V2. So don´t know the best or latest fw to install

                          undefined undefined 2 Replies Last reply 15 Mar 2025, 18:10 Reply Quote 0
                          • undefined
                            Phaedrux Moderator @apak
                            last edited by 15 Mar 2025, 18:10

                            @apak said in Smart effector not remembering sensitivity:

                            I just got a old smarteffector that seems to have this very same problem.

                            No sensitivity store, and need to program it every power cicle.

                            Is it there any instruction on how to flash fw to smarteffector? It´s a V2. So don´t know the best or latest fw to install

                            Everything to know about the smart effector can be found here: https://docs.duet3d.com/en/Duet3D_hardware/Accessories/Smart_Effector

                            If you're still stuck, please create a new thread with all the details.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              droftarts administrators @apak
                              last edited by 19 Mar 2025, 17:15

                              @apak Looking at the release history of the Smarteffector firmware, v2.01 "fixes a problem whereby if a custom sensitivity was set, it was not preserved over a power cycle", so it may be you have older firmware on the SmartEffector. Otherwise, I think you can just set it each time in config.g.

                              For flashing the firmware, see @dc42's notes above https://forum.duet3d.com/post/116211:

                              Flashing the firmware requires an AVR programmer, such as AVRISP, TinyISP, or an Arduino running the ArduinoISP sketch. The pads on top of the Smart Effector have the standard 6-pin ISP layout. We use spring-loaded pins to make contact with them.

                              Ian

                              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                              undefined 1 Reply Last reply 20 Mar 2025, 07:51 Reply Quote 0
                              • undefined
                                apak @droftarts
                                last edited by 20 Mar 2025, 07:51

                                @droftarts already opened a new post for my problem here
                                https://forum.duet3d.com/topic/37697/smarteffector-v2-sensitivity-not-stored/4

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA