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