Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. wayneosdias
    3. Topics
    • Profile
    • Following 0
    • Followers 0
    • Topics 35
    • Posts 154
    • Best 9
    • Controversial 0
    • Groups 0

    Topics created by wayneosdias

    • wayneosdiasundefined

      Solved Accelerometer M956 failing w Sender

      General Discussion
      • • • wayneosdias
      4
      0
      Votes
      4
      Posts
      130
      Views

      T3P3Tonyundefined

      @wayneosdias thanks for confirming that

    • wayneosdiasundefined

      6HC Ethernet PC WOL?

      General Discussion
      • • • wayneosdias
      3
      0
      Votes
      3
      Posts
      76
      Views

      wayneosdiasundefined

      @T3P3Tony Thanks for confirmation. Ill look into other options.

    • wayneosdiasundefined

      Duet Openpnp Head

      General Discussion
      • • • wayneosdias
      4
      0
      Votes
      4
      Posts
      177
      Views

      dc42undefined

      @wayneosdias the 4Hz sampling rate only applies to the rate at which data from sensors (configured using M307) is collected and returned from the expansion board to the main board; and to the collection of data from sensors connected to the main board into the object model. The actual sampling in the ADC is much faster on both main boards and expansion boards. Changes to digital inputs are also signalled from expansion boards to the main board very quickly. Likewise when an analog input configures as general purpose input crosses the threshold value.

      So it's entirely possible to do the processing you want on your custom expansion board and pass it back to the main board over CAN.

      OTOH if you need the data to be passed directly into the Pi (or other computer running OpenPnP) then that would be a reason for bypassing the expansion board processor and CAN and using a separate cable back to the Pi.

    • wayneosdiasundefined

      Solved Custom 1HCL HW/FW bootloader issues

      Firmware developers
      • • • wayneosdias
      6
      0
      Votes
      6
      Posts
      235
      Views

      wayneosdiasundefined

      @dc42
      Just to put a bow on this (Merry Xmas πŸ™‚ ). I got it all working. It took another board rev as I had a couple hw hiccups. This included to swapping the MAX3051 to the TJA1441A CAN xcvr per David's #2 note. Any rate, brand new mcu flashed the bootloader first go. I had to first set the fuses as I listed above. The default fuses had several differences, but I didn't note them.

      Also, all gpio, motor drivers and accelerometer are working as intended. interested. The '1HCL' is config'd as;
      x3 step/dir drives
      x2 med current outputs
      x4 inputs, 24v tol
      x1 lis3dH. I have the W on hand but just wanted to get the original circuit working first

      e1255b16-39f8-4966-8c8b-0503e1aacb47-image.png

      I attached the final config with all the extraneous comments deleted in case anyone is interested.

      /* * EXP1HCLv1_0.h * * Created on: 3 Dec 2021 * Author: David */ #ifndef SRC_CONFIG_EXP1HCLV1_0_H_ #define SRC_CONFIG_EXP1HCLV1_0_H_ #include <Hardware/PinDescription.h> #define BOARD_TYPE_NAME "EXP1HCL" #define BOOTLOADER_NAME "SAME5x" // General features #define HAS_VREF_MONITOR 0 #define HAS_VOLTAGE_MONITOR 0 #define HAS_12V_MONITOR 0 #define HAS_CPU_TEMP_SENSOR 1 #define HAS_ADDRESS_SWITCHES 0 #define HAS_BUTTONS 1 // Drivers configuration #define SUPPORT_DRIVERS 1 #define HAS_SMART_DRIVERS 0 #define HAS_STALL_DETECT 0 #define SINGLE_DRIVER 0 #define SUPPORT_SLOW_DRIVERS 0 #define SUPPORT_DELTA_MOVEMENT 0 #define DEDICATED_STEP_TIMER 1 #define ACTIVE_HIGH_STEP 1 // 1 = active high, 0 = active low #define ACTIVE_HIGH_DIR 1 // 1 = active high, 0 = active low #define ACTIVE_HIGH_ENABLE 1 #define SUPPORT_TMC51xx 0 #define SUPPORT_TMC2160 0 #define SUPPORT_TMC2660 0 #define SUPPORT_TMC22xx 0 #define SUPPORT_CLOSED_LOOP 0 #define SUPPORT_BRAKE_PWM 0 constexpr size_t NumDrivers = 3; constexpr size_t MaxSmartDrivers = 0; PortGroup * const StepPio = &(PORT->Group[1]); // the PIO that all the step pins are on (port B) constexpr Pin StepPins[NumDrivers] = { PortBPin(8), PortBPin(22), PortBPin(23) }; constexpr Pin DirectionPins[NumDrivers] = { PortBPin(9), PortAPin(24), PortAPin(27) }; constexpr Pin EnablePins[NumDrivers] = { PortBPin(2), PortAPin(20), PortAPin(25) }; #define SUPPORT_THERMISTORS 0 #define SUPPORT_SPI_SENSORS 1 #define SUPPORT_DMA_NEOPIXEL 0 #ifdef DEBUG # define SUPPORT_I2C_SENSORS 0 // in debug mode the SERCOM is used for debugging # define SUPPORT_LIS3DH 0 #else # define SUPPORT_I2C_SENSORS 0 # define SUPPORT_LIS3DH 1 #endif #define SUPPORT_DHT_SENSOR 0 #define NUM_SERIAL_PORTS 0 #define USE_MPU 0 #define USE_CACHE 1 constexpr bool UseAlternateCanPins = true; constexpr size_t MaxPortsPerHeater = 0; constexpr size_t NumThermistorInputs = 0; constexpr Pin BoardTypePin = PortAPin(3); // Diagnostic LEDs constexpr Pin LedPins[] = { PortAPin(31), PortAPin(30) }; constexpr bool LedActiveHigh = false; constexpr Pin VinMonitorPin = PortAPin(2); //constexpr Pin V12MonitorPin = PortAPin(6); //constexpr float VinDividerRatio = (100.0 + 5.1)/5.1; //constexpr float V12DividerRatio = (60.4 + 4.7)/4.7; //constexpr float VinMonitorVoltageRange = VinDividerRatio * 3.3; //constexpr float V12MonitorVoltageRange = V12DividerRatio * 3.3; constexpr Pin ButtonPins[] = { PortAPin(0) }; //Used for CAN ID reset #if SUPPORT_I2C_SENSORS // I2C using pins PA12,13 constexpr uint8_t I2CSercomNumber = 2; constexpr Pin I2CSDAPin = PortAPin(12); constexpr GpioPinFunction I2CSDAPinPeriphMode = GpioPinFunction::C; constexpr Pin I2CSCLPin = PortAPin(13); constexpr GpioPinFunction I2CSCLPinPeriphMode = GpioPinFunction::C; # define I2C_HANDLER0 SERCOM2_0_Handler # define I2C_HANDLER1 SERCOM2_1_Handler # define I2C_HANDLER2 SERCOM2_2_Handler # define I2C_HANDLER3 SERCOM2_3_Handler #endif #if SUPPORT_LIS3DH # if SUPPORT_I2C_SENSORS # define ACCELEROMETER_USES_SPI (0) // accelerometer is connected via I2C constexpr Pin Lis3dhInt1Pin = PortAPin(20); // same as io1.in # else # define ACCELEROMETER_USES_SPI (1) // accelerometer is connected via SPI constexpr Pin Lis3dhCsPin = PortAPin(18); // same as encoder CS pin constexpr Pin Lis3dhInt1Pin = PortAPin(12); // same as io1.in # endif #endif // Shared SPI (used for interface to encoders, not for temperature sensors) constexpr uint8_t SspiSercomNumber = 1; constexpr uint32_t SspiDataInPad = 3; constexpr Pin SSPIMosiPin = PortAPin(16); constexpr GpioPinFunction SSPIMosiPinPeriphMode = GpioPinFunction::C; constexpr Pin SSPISclkPin = PortAPin(17); constexpr GpioPinFunction SSPISclkPinPeriphMode = GpioPinFunction::C; constexpr Pin SSPIMisoPin = PortAPin(19); constexpr GpioPinFunction SSPIMisoPinPeriphMode = GpioPinFunction::C; // Clock generator pin for TMC2160 constexpr uint8_t ClockGenGclkNumber = 5; constexpr Pin ClockGenPin = PortBPin(11); constexpr GpioPinFunction ClockGenPinPeriphMode = GpioPinFunction::M; // Table of pin functions that we are allowed to use constexpr PinDescription PinTable[] = { // TC TCC ADC SERCOM in SERCOM out Exint PinName // Port A { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, 0, nullptr }, // PA00 ButtonPins[0] PortAPin(0) CANRST { TcOutput::tc2_1, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA01 { TcOutput::none, TccOutput::none, AdcInput::adc0_0, SercomIo::none, SercomIo::none, Nx, "ate.vin" }, // PA02 VinMonitorPin PortAPin(2) { TcOutput::none, TccOutput::none, AdcInput::adc0_1, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA03 BoardTypePin PortAPin(3) { TcOutput::none, TccOutput::none, AdcInput::adc0_4, SercomIo::none, SercomIo::none, Nx, "out1" }, // PA04 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, "out0" }, // PA05 { TcOutput::none, TccOutput::none, AdcInput::adc0_6, SercomIo::none, SercomIo::none, 6, "io0.in" }, // PA06 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA07 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA08//nullptr { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, 9, "io1.in" }, // PA09 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, 10, "io2.in" }, // PA10 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, 11, "io3.in" }, // PA11 { TcOutput::none, TccOutput::tcc1_2F, AdcInput::none, SercomIo::none, SercomIo::none, 12, nullptr }, // PA12 Lis3dhInt1Pin = PortAPin(12); { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA13 No IO!! { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA14 crystal { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA15 crystal { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA16 SSPIMosiPin = PortAPin(16); { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA17 SSPISclkPin = PortAPin(17); { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, 2, "spi.cs0" }, // PA18 Lis3dhCsPin = PortAPin(18); { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA19 SSPIMisoPin = PortAPin(19); { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA20 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA21 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA22 CAN0 Tx { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA23 CAN0 Rx { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA24 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA25 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA26 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA27 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA28 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA29 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA30 LedPins[1] PortAPin(30) { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PA31 LedPins[0] PortAPin(31) // Port B { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB00 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB01 not on chip { TcOutput::none, TccOutput::tcc2_2F, AdcInput::none, SercomIo::none, SercomIo::sercom5d, Nx, nullptr }, // PB02 EnablePins[2] PortBPin(2) { TcOutput::none, TccOutput::none, AdcInput::adc0_15, SercomIo::sercom5d, SercomIo::none, Nx, nullptr }, // PB03 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB04 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB05 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB06 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB07 not on chip { TcOutput::none, TccOutput::none, AdcInput::adc0_2, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB08 StepPins[2] PortBPin(8) { TcOutput::none, TccOutput::none, AdcInput::adc0_3, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB09 DirectionPins[2] PortBPin(9) { TcOutput::none, TccOutput::tcc0_4F, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB10 { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB11 ClockGenPin PortBPin(11); { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB12 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB13 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB14 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB15 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB16 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB17 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB18 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB19 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB20 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB21 not on chip { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB22 StepPins[1] PortBPin(22) { TcOutput::none, TccOutput::none, AdcInput::none, SercomIo::none, SercomIo::none, Nx, nullptr }, // PB23 StepPins[0] PortBPin(23) }; static constexpr size_t NumPins = ARRAY_SIZE(PinTable); static constexpr size_t NumRealPins = 32 + 24; // 32 pins on port A (some missing), 24 on port B static_assert(NumPins == NumRealPins); // no virtual pins in this table // Timer/counter used to generate step pulses and other sub-millisecond timings TcCount32 * const StepTc = &(TC0->COUNT32); constexpr IRQn StepTcIRQn = TC0_IRQn; constexpr unsigned int StepTcNumber = 0; #define STEP_TC_HANDLER TC0_Handler // Available UART ports #define NUM_SERIAL_PORTS 0 // DMA channel assignments constexpr DmaChannel DmacChanTmcTx = 0; constexpr DmaChannel DmacChanTmcRx = 1; constexpr DmaChannel DmacChanAdc0Rx = 2; constexpr DmaChannel DmacChanLedTx = 3; constexpr unsigned int NumDmaChannelsUsed = 4; // must be at least the number of channels used, may be larger. Max 12 on the SAME5x. constexpr DmaPriority DmacPrioTmcTx = 0; constexpr DmaPriority DmacPrioTmcRx = 3; constexpr DmaPriority DmacPrioAdcRx = 2; constexpr DmaPriority DmacPrioLed = 1; // Interrupt priorities, lower means higher priority. 0-2 can't make RTOS calls. const NvicPriority NvicPriorityStep = 3; // step interrupt is next highest, it can preempt most other interrupts const NvicPriority NvicPriorityUart = 3; // serial driver makes RTOS calls const NvicPriority NvicPriorityI2C = 3; const NvicPriority NvicPriorityPins = 3; // priority for GPIO pin interrupts const NvicPriority NvicPriorityCan = 4; const NvicPriority NvicPriorityDmac = 5; // priority for DMA complete interrupts const NvicPriority NvicPriorityAdc = 5; #endif /* SRC_CONFIG_EXP1HCLV1_0_H_ */
    • wayneosdiasundefined

      M261.2: UART read output findings

      General Discussion
      • • • wayneosdias
      3
      1
      Votes
      3
      Posts
      89
      Views

      dc42undefined

      @wayneosdias we don't guarantee that the response format will never change. If you need to feed the result back to another program then you should use the V parameter to save the response into a variable, then use M118 or an echo command to format it as you wish.

    • wayneosdiasundefined

      Solved LIS3D using SPI issues

      Firmware developers
      • • • wayneosdias
      19
      0
      Votes
      19
      Posts
      499
      Views

      wayneosdiasundefined

      @dc42 Ah ok, I thought any digital input simply had to be assigned a unique 0-15 Exint. Makes sense now. Ill review the DS and see if I can sort it out.

      Thanks for the help πŸ™‚

    • wayneosdiasundefined

      Solved PinTable descriptors

      Firmware developers
      • • • wayneosdias
      6
      0
      Votes
      6
      Posts
      135
      Views

      wayneosdiasundefined

      @dc42 understood, thanks πŸ™‚

    • wayneosdiasundefined

      Solved Unable to build Duet3Exp FW3.5

      Firmware installation
      • • • wayneosdias
      2
      0
      Votes
      2
      Posts
      70
      Views

      wayneosdiasundefined

      Updating my previous toolchain from 10.1 to 13.2 fixed the problem and is compiling,
      Thanks Guys πŸ™‚

    • wayneosdiasundefined

      M118 send hex values

      General Discussion
      • • • wayneosdias
      4
      0
      Votes
      4
      Posts
      113
      Views

      droftartsundefined

      @wayneosdias said in M118 send hex values:

      3.6 beta works, 3.5.3 doesn't. M260.2 only works on beta FW?

      It says in the Gcode entry β€œSupported from firmware version 3.6”.

      Ian

    • wayneosdiasundefined

      SAMMYC21 Configuring

      General Discussion
      • • • wayneosdias
      4
      0
      Votes
      4
      Posts
      138
      Views

      dc42undefined

      @wayneosdias try adding these lines to Config/SAMMYC21.h:

      #define VARIABLE_NUM_DRIVERS 0 #define TMC22xx_HAS_MUX 0 #define TMC22xx_USE_SLAVEADDR 1
    • wayneosdiasundefined

      T1LC reset not working as expected

      General Discussion
      • • • wayneosdias
      6
      0
      Votes
      6
      Posts
      236
      Views

      wayneosdiasundefined

      @droftarts I'm not in a position to to check HW versions, but the bootloaders are indeed different, 2.8 vs 2.3. The first LC I got the beginning of the year and the 2nd this past week. Both LC are the same layout, but different versions as I recall the new LC mounting thru holes are enig plated and the older LC mounting thru holes are silk screen. Heres the M122 for both;

      M122 B20 Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.5.3 (2024-09-17 14:35:31) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1 M122 B21 Diagnostics for board 21: Duet TOOL1LC rev 1.1 or later firmware version 3.5.3 (2024-09-17 14:35:31) Bootloader ID: SAMC21 bootloader version 2.8 (2023-07-25)
    • wayneosdiasundefined

      Solved DWC Closed Loop no Autotune

      Duet Web Control
      • • • wayneosdias
      8
      0
      Votes
      8
      Posts
      180
      Views

      wayneosdiasundefined

      @droftarts Understood, thanks again, prevented me from wasting a day chasing my tail πŸ˜‰

    • wayneosdiasundefined

      Solved 1HCL+Magnetic encoder issues

      General Discussion
      • • • wayneosdias
      8
      0
      Votes
      8
      Posts
      235
      Views

      wayneosdiasundefined

      @dc42
      Thanks for letting me know I have 4 of these, but cant track one of them down. Of the 3 I have on hand 2/3 are oreinted incorrectly. 03/171 is correct.
      2365c426-4a9a-4495-a162-7e99fa925d36-image.png

    • wayneosdiasundefined

      1HCL + LDO 0.9

      General Discussion
      • • • wayneosdias
      2
      0
      Votes
      2
      Posts
      114
      Views

      T3P3Tonyundefined

      @wayneosdias I used the 0.9degree motors on my original 1HCL conversion for the toolchanger ad they did work well for my understanding at the time i was testing we subsequently did a lot more testing with a wider range of motors and found that 1.8 degree motors perform better especially with the "standard" 1000CPR encoders used on many motors. The 0.9degree motors i tested have 2500CPR encoders which helps with the positioning accuracy but not with the top speed.

    • wayneosdiasundefined

      Rating Duet distributers/resalers?

      General Discussion
      • • • wayneosdias
      5
      0
      Votes
      5
      Posts
      234
      Views

      Phaedruxundefined

      If you're having issues with a reseller, or have had an exceptional experience with one, please feel free to send an email to sales@duet.com.

    • wayneosdiasundefined

      Solved Duet3D Magnetic Encoder max cable length?

      General Discussion
      • • • wayneosdias
      2
      0
      Votes
      2
      Posts
      118
      Views

      T3P3Tonyundefined

      @wayneosdias

      https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL#duet3d-magnetic-shaft-encoder

      The cable length should not exceed 200mm.

    • wayneosdiasundefined

      M135 or Alternative

      General Discussion
      • • • wayneosdias
      7
      0
      Votes
      7
      Posts
      311
      Views

      wayneosdiasundefined

      @dc42
      Thanks David. I'm rethinking the problem. The issue I was trying to solve was potential 'tool' offsets of different pnp nozzle tips during mid job tip changes. The CP40 tips themselves are all similar length but tip to nozzle mounting depth seems to vary a tip change to tip change. Vacuum threshold was going to be the probe feedback.

      I not familiar w tool offsets in Openpnp, but that's not what is bothering me. The inconsistent mount depth of the CP40 is. I'm going back the Juki tips that I am familiar with them and they firmly mount at consistent lengths. Probing for the Juki tips isn't needed.

      Thanks for the tip.

    • wayneosdiasundefined

      btncmd panel lost after IP change

      Plugins for DWC and DSF
      • • • wayneosdias
      3
      0
      Votes
      3
      Posts
      151
      Views

      wayneosdiasundefined

      @jay_s_uk Thanks! Ill give it try

    • wayneosdiasundefined

      macro debugging?

      General Discussion
      • • • wayneosdias
      5
      0
      Votes
      5
      Posts
      238
      Views

      zaptaundefined

      You can write a macro that will wait for some user action and then call it from the places where you want to stop halt your tested macro.

      https://forum.duet3d.com/topic/12897/wait-for-input
      https://docs.duet3d.com/User_manual/Reference/Gcodes

    • wayneosdiasundefined

      Solved 6HC SD failure

      Duet Hardware and wiring
      • • • wayneosdias
      6
      0
      Votes
      6
      Posts
      239
      Views

      wayneosdiasundefined

      @Phaedrux
      Yes it reports that without an SD and the old bad SD installed. I now have the machine up and running config wise, but dont have my homing sequences. I'm having issues connecting to dwc via ethernet to the controlling laptop. Otherwise ethernet is fine if connected directly connected to my home router. I have a wifi wifi ethernet bridge on order so I can use dwc with the 6HC in situ, otherwise I have to pull the board ot of the machine.

      Once I get the ethernet working in situ I rework my homing processes. For PnP there is an axis interlock sequence for the drag pin feeder to prevent crashes.

      In the end my issue was an inexplicable SD card failure. The card is the original that came w the 6HC. Thanks for everyone's help.