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
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
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
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
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
71ae242fc4
Fixed bug in extend32to64:extendTime()
2024-03-13 23:33:25 +01:00
Hakan Bastedt
fef934b103
wip
2024-03-10 01:03:50 +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
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
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
b534e3d4da
Kludge with 'tone' of steppers. Gives ferror, but nice tone
2024-01-21 23:29:59 +01:00
Hakan Bastedt
1f97534133
New pwmCycleTime different from sync0CycleTime
2024-01-20 12:37:42 +01:00
Hakan Bastedt
8f05f33e58
Both steppers work in simulated environment
2024-01-18 18:21:21 +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
760944afe5
Various improvements. New pdo variable stepsPerMM.
2024-01-17 00:24:17 +01:00
Hakan Bastedt
c6857d0be2
Still problem with overlapping cycles in stepgen. TIM8 works for stepgen now.
2024-01-15 20:21:14 +01:00
Hakan Bastedt
7a63d27303
Two encoders and two steppers declared. Encoder is 64-bit again
2024-01-11 21:10:27 +01:00
Hakan Bastedt
6176166b3a
More encapsulation of timer info.
2024-01-11 16:44:28 +01:00
Hakan Bastedt
5df911296c
sync0CycleTime static member of StepGen
2024-01-11 10:54:13 +01:00
Hakan Bastedt
a4488da9fa
Cleanup encoder code
2024-01-11 10:42:29 +01:00
Hakan Bastedt
6f29a0d492
Further cleanup and modularization
2024-01-10 22:27:04 +01:00
Hakan Bastedt
3bbf089d01
MyEncoder split into cpp and h file
2024-01-10 22:05:38 +01:00
Hakan Bastedt
2e4e768d5e
Raw classified encoder. Compiles, untested
2024-01-10 21:58:11 +01:00
Hakan Bastedt
f8fc5fccd6
Max step-rate introduced - solves initial step storm
2024-01-10 20:08:30 +01:00
Hakan Bastedt
f6abd73c58
Split class into cpp and h file. Works at commands, but initial isn't ok
2024-01-10 18:59:16 +01:00
Hakan Bastedt
c5a95074dc
Moved stepper into C++ class. Seems to work. Basic
2024-01-10 18:44:58 +01:00