Commit Graph
100 Commits
Author SHA1 Message Date
Hakan Bastedt 37c14850bf Replaced runningaverage (uses malloc) with CircularBuffer 2024-04-10 10:36:01 +02:00
Hakan Bastedt ed9af2ec50 Reduce irq delay if it has gotten to large 2024-04-09 20:24:16 +02:00
Hakan Bastedt 939470a0c6 Mods to make encoder work again, and a possible 2nd iteration of encoder config 2024-04-09 08:25:59 +02:00
Hakan Bastedt ec1c8fc70f Enable encoder again. Cleanup of unnecessary variables 2024-04-07 23:27:10 +02:00
Hakan Bastedt 5eda2b451e Use calibrated frequencty for the base timer. No big difference but more scientific, maybe 2024-04-07 22:55:46 +02:00
Hakan Bastedt 226cbc5035 Updated READM.md 2024-04-07 22:54:32 +02:00
Hakan Bastedt 39e2ab31f1 Adaptive (just max over time) maxIrqServeTime 2024-04-07 22:35:52 +02:00
Hakan Bastedt b164040829 Removed debug-ish compiler directive NEEDED 2024-04-07 22:15:37 +02:00
Hakan Bastedt 084e6891b6 Updated readme 2024-04-07 21:54:21 +02:00
Hakan Bastedt ed8e4d8d39 Working linuxcnc lathe config with 2 ms cycle time 2024-04-07 21:53:25 +02:00
Hakan Bastedt a829b0c6e2 Standalone unix port of step generator, also stm32 arduino 2024-04-07 21:51:36 +02:00
Hakan Bastedt ab1a306d86 Works really nice now. 20 usecs base period => 50 kHz, 25 kHz pulse freq. 2024-04-07 21:45:53 +02:00
Hakan Bastedt 544dd5ed85 I works.
Use 4.19-rt kernel
Ethernet Intel I210 controller
ethtool -C enp1s0 rx-usecs 0 tx-usecs 0
2 ms loop time in linuxcnc .ini and .xml and code
baseTimer period can be adjusted
startTime for baseTimer can also be adjusted.
2024-04-05 18:30:33 +02:00
Hakan Bastedt 511e6442e9 Removed all real work, now just echo 2024-04-05 10:53:12 +02:00
Hakan Bastedt 63fafb4936 FIx 1c13 index manually, nLoops is back 2024-04-05 09:54:56 +02:00
Hakan Bastedt efa03e3095 Removed hex specifier 0x where it shouldn't be 2024-04-04 16:13:20 +02:00
Hakan Bastedt dcf6c2d18a jitter flawed, removed 2024-04-04 10:38:27 +02:00
Hakan Bastedt 34e60e43d8 Adaptive max cycle time adjustment, use maxCycleTime 2024-04-03 21:21:51 +02:00
Hakan Bastedt 294831465b Added max irq time and jitter time measurement 2024-04-03 21:17:15 +02:00
Hakan Bastedt 5c128f49b5 syncTimer can be on flawed time units 2024-04-03 20:40:58 +02:00
Hakan Bastedt 9e00caf7c5 Added frequency-calibration to base-thread timer 2024-04-03 20:34:28 +02:00
Hakan Bastedt 1d14e1f295 At least it keeps nLoops at one, always 2024-03-28 10:09:12 +01:00
Hakan Bastedt 5d90765920 Didn't help using TICK_FORMAT in setOverflow() 2024-03-27 23:06:13 +01:00
Hakan Bastedt e6ae2ad3c7 Test case for HardwareTime frequency discrepancy + doc 2024-03-27 22:03:10 +01:00
Hakan Bastedt ea5a39d300 wip now the 50 kHz timer is only 40 kHz. How come? 2024-03-26 22:59:41 +01:00
Hakan Bastedt 88bd1ead78 pos_scale goes into make_pulses from lcnc 2024-03-23 21:49:13 +01:00
Hakan Bastedt dccbd97a04 Tried to optimize BASE_PERIOD but 12000 ns (83 kHz) is the best it can do right now 2024-03-23 20:27:32 +01:00
Hakan Bastedt 1b8721930e Shortest BASE_PERIOD is 12000 as it is now. Plus some cleanup 2024-03-23 20:09:35 +01:00
Hakan Bastedt 8710a547fe Yesss software stepping works now. 2024-03-23 19:51:26 +01:00
Hakan Bastedt 369a795ce5 wip 2024-03-23 18:02:38 +01:00
Hakan Bastedt 2df0a0980c Stepgen3 is driven by HardwareTimer, in a way that resembles EtherCAT setup. Seems to actually work. 2024-03-22 22:38:16 +01:00
Hakan Bastedt 6383d6de89 Working test-program using user LEDs and delays 2024-03-22 21:20:31 +01:00
Hakan Bastedt 7bff3f3789 linuxcnc stepgen is now in StepGen3. Compiles 2024-03-22 17:31:21 +01:00
Hakan Bastedt 23fe81afbe Factored Stepgen2, StepGen3 is a copy of Stepgen2 2024-03-21 16:45:59 +01:00
Hakan Bastedt fa34d81e41 Factored Stepgen2, StepGen3 is a copy of Stepgen2 2024-03-21 16:45:46 +01:00
Hakan Bastedt 30a9f10c7b Well it works, network-wise. But there are those extra peaks that have been since the start. Let's see if I can remove them. Welcome StepGen3 2024-03-21 16:28:55 +01:00
Hakan Bastedt 8f26a10224 It works. I hate RealTek. Even with the r8618_dkms driver it doesn't work. I bought a Intel network card, set irq coalesce rx-usecs and tx-usecs to 0. Now it works works WORKS. No lost packages, no delayed packages. I hate RealTek 2024-03-20 17:06:24 +01:00
Hakan Bastedt d4fed6cfe8 Yes it works now. Made another implementation of the pulse IRQ and all that. We'll see if I keep this or go back to the older. It is IMPORTANT, REQUIRED to use a 4.9 linux kernel for it to work. There are obviously bugs in the RealTek network drivers R8168/R8169 in 5+ kernels. All this work could have been avoided with a 4.9 kernel. 2024-03-17 22:04:52 +01:00
Hakan Bastedt 27475eaecd Seems to actually work, but I have seen that before, so testing time 2024-03-14 10:15:23 +01:00
Hakan Bastedt 71ae242fc4 Fixed bug in extend32to64:extendTime() 2024-03-13 23:33:25 +01:00
Hakan Bastedt f341eb5074 wip 2024-03-10 22:40:25 +01:00
Hakan Bastedt fef934b103 wip 2024-03-10 01:03:50 +01:00
Hakan Bastedt 31be067dea After test in lathe. Basically ok, always use real Tstartf, not 1/n 2024-03-08 09:00:55 +01:00
Hakan Bastedt 94d68adbb1 Added Z stepgen. Both X and Z works on the scope 2024-03-03 19:01:02 +01:00
Hakan Bastedt e8ef618fcc Test in lathe coming. 2024-03-03 17:02:04 +01:00
Hakan Bastedt cbc45bc80b Merge branch 'Video8' into stepper2 2024-02-19 21:41:46 +01:00
Hakan Bastedt 7ffd757fb5 After building the first board. 2024-02-19 18:02:48 +01:00
Hakan Bastedt 30dc44d5e6 Direction output to dirPin. 2024-02-16 11:45:06 +01:00
Hakan Bastedt 2b2be4f63d Going for test in the lathe 2024-02-13 10:49:57 +01:00
Hakan Bastedt cbae816bd9 More debug variables 2024-02-13 10:49:36 +01:00
Hakan Bastedt c0d2bfcf62 doc update on stepgen problem and solution 2024-02-12 18:37:16 +01:00
Hakan Bastedt f4a15afa8a a cycle's pwm train maight have been too long and run into the start of next cycle's pwm train. That's gone now and it seems to work.
A more brilliant solution is needed for this.
2024-02-11 19:56:16 +01:00
Hakan Bastedt c04ac0e74b Consistently get SM2 event now. Must check directly in irq. DIG_PROCESS modified to check this ALevent copy 2024-02-09 22:58:28 +01:00
Hakan Bastedt 6d18c2cb3f Clear ALevents for DC_sync0 and SM3 might have solved the uneven pulse train. Looking better now. 2024-02-09 17:28:18 +01:00
Hakan Bastedt d0433b29cf cleanup and removing StepGen from active code 2024-02-08 21:33:31 +01:00
Hakan Bastedt fe3de876fa Class StepGen2 done after Stepgen.odb 2024-02-08 21:28:48 +01:00
Hakan Bastedt 2fb5252d37 CircularBuffer.h new file ending hpp due to version 1.4 od CB 2024-02-08 19:06:55 +01:00
Hakan Bastedt 43854ca4d0 wip 2024-02-05 21:22:23 +01:00
Hakan Bastedt dbb4d0f34e Update 2024-02-05 20:32:49 +01:00
Hakan Bastedt f9b37cfa6c Document stepgen 2024-02-05 01:04:20 +01:00
Hakan Bastedt 2b2704bb17 Added timer2 for proper start point 2024-02-02 21:43:58 +01:00
Hakan Bastedt 0384646972 wip 2024-02-02 15:26:01 +01:00
Hakan Bastedt 133df5662d wip, before timer stuff 2024-02-02 12:09:49 +01:00
Hakan Bastedt d1eb1d9a40 logic might be there 2024-02-01 20:30:02 +01:00
Hakan Bastedt 934f3cb028 Octave files not commited 2024-01-29 12:08:01 +01:00
Hakan Bastedt d60822388e ordered 2024-01-26 22:02:32 +01:00
Hakan Bastedt 31d24e2676 Fab from this version 2024-01-26 16:38:10 +01:00
Hakan Bastedt c444f9a496 Getting ready for fab 2024-01-26 16:27:17 +01:00
Hakan Bastedt e234ea7a97 morfe copper in +5V leads 2024-01-26 13:44:45 +01:00
Hakan Bastedt eb63adbdc2 all leds are now 0603 2024-01-26 13:21:14 +01:00
Hakan Bastedt 70014d3b1d Added 4k7 pullup onm scs_func. Think not needed since it is to a pin on stm32, but in case 2024-01-26 12:38:11 +01:00
Hakan Bastedt 990801f2d0 4.7k to 4k7 2024-01-26 01:10:08 +01:00
Hakan Bastedt 329474309d Might be in final shape. 2024-01-25 22:35:25 +01:00
Hakan Bastedt da2b1f6376 resistor overhaul 2024-01-25 13:08:04 +01:00
Hakan Bastedt a88090a853 wip 2024-01-25 11:31:48 +01:00
Hakan Bastedt aa955aec67 Two-layer now 2024-01-25 00:30:19 +01:00
Hakan Bastedt e641fd04b7 First component placement 2024-01-25 00:27:56 +01:00
Hakan Bastedt ac711cd168 Assigned footprints 2024-01-24 20:10:20 +01:00
Hakan Bastedt ee56f85c53 Steppers, encoders, IO, etc remapped 2024-01-24 19:44:33 +01:00
Hakan Bastedt 69357d35a4 Wip optocoupler input and outputs 2024-01-23 23:42:32 +01:00
Hakan Bastedt 84d790c687 Cleaning old gerber files. 2024-01-23 23:00:09 +01:00
Hakan Bastedt e7fc20fec5 micros() in irq is suspicous. Some optomization of stepper parameters. Comments. 2024-01-23 22:40:15 +01:00
Hakan Bastedt f8cec1ac69 How many times to fix it? 2024-01-23 17:51:44 +01:00
Hakan Bastedt ddffbe5f8b Actually don't run ecat-slv_poll() 2024-01-23 15:48:59 +01:00
Hakan Bastedt 1d36ffbf69 Pending video7 release 2024-01-23 13:16:31 +01:00
Hakan Bastedt c97e1fa96a Moved ESCvar.PrevTime. It's not used though 2024-01-23 11:22:09 +01:00
Hakan Bastedt ef84d552e4 Debug comments 2024-01-23 11:17:00 +01:00
Hakan Bastedt d93adac4a2 Don't run ecat_slv_poll() when expecting to serve interrupt 2024-01-23 11:00:47 +01:00
Hakan Bastedt ca3ceac5c6 wip inputs with photodiodes etc 2024-01-21 23:31:45 +01:00
Hakan Bastedt b534e3d4da Kludge with 'tone' of steppers. Gives ferror, but nice tone 2024-01-21 23:29:59 +01:00
Hakan Bastedt 6ac0949f26 Added optional pull-down to step generators 2024-01-21 00:24:36 +01:00
Hakan Bastedt 1f97534133 New pwmCycleTime different from sync0CycleTime 2024-01-20 12:37:42 +01:00
Hakan Bastedt e6bfe4f880 Tests for growling. That 10xcycle time seems to do it, but it's not right. 2024-01-19 21:31:15 +01:00
Hakan Bastedt 8f05f33e58 Both steppers work in simulated environment 2024-01-18 18:21:21 +01:00
Hakan Bastedt 9e311038c1 TIM8 replaced with TIM3. TIM3,chan4 works on PC9. TIM8,chan4 should work but doesn't. How should one know? 2024-01-18 17:21:12 +01:00
Hakan Bastedt 9ab4afabe4 New enable input. Add dc ability. Set only SM2 synchronization. Various to make lathe work 2024-01-18 14:26:51 +01:00
Hakan Bastedt 38825bbaf3 Trying to make stepper suing tim8 work 2024-01-18 14:25:19 +01:00
Hakan Bastedt 0a04124b35 Remove TIM8, TIM8 is stepper generator timer. 2024-01-17 00:29:06 +01:00
Hakan Bastedt 760944afe5 Various improvements. New pdo variable stepsPerMM. 2024-01-17 00:24:17 +01:00
Hakan Bastedt 044e8fd2c5 Removed unnecessary condition in timerCB, was aleady test on ´steps´ 2024-01-15 23:10:25 +01:00