Commit Graph

189 Commits

Author SHA1 Message Date
Hakan Bastedt
b1cc8f1717 Updated README 2024-04-11 12:19:39 +02:00
Hakan Bastedt
55f7e19e88 Updated readme 2024-04-11 11:22:21 +02:00
Hakan Bastedt
220daa4408 updated .gitignore 2024-04-10 10:36:24 +02:00
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
Håkan Båstedt
a99d0f0eda Update README.md 2024-02-19 22:16:27 +01:00
Hakan Bastedt
c21d42cf0b Updated readme pending video release. 2024-02-19 21:51:31 +01:00