ries_ is now known as ries
micges: there's something weird about the message, but this time difference *is* significant: 3480642 vs 2369620 is 30% difference
as well, 2934415 is more than 1.2*2369620
so the question is: why didn't the code fire when it encountered the much bigger difference between 3480642 and prior history such as 2369620?
if this was at the very start of a run, I suppose the big figure could have been during priming
jepler: I think the code doesn't fire for the first 5 runs
so only after it gathers enough data (and the error was in the second run) it fires on run #6 by checking the mean of first 5 against current
alex_joni: it's not checking the mean of 5, it's checking any of the 5
alex_joni: but you're right about the start of the run -- it's based on the variable called 'priming'.
EMC: 03jepler 07v2.4_branch * rdc12848308b5 10/src/hal/components/estop_latch.comp: estop_latch: make watchdog behavior match documentation
jepler: err, right, any of them
jepler: this message wasn't at start, it was after minimize and maximize Axis
EMC: 03jepler 07v2.4_branch * re0fbe2669c1b 10/ (VERSION debian/changelog): release 2.4.6
heh - Nice Work1
heh - Nice Work!
being curled up in a couch sure makes typing hard.
i've some minor problem with axis and external apps embeded in it
problem is if program is HAL component and need some pin wiring it's not possible to determinesay reliably when it's ready and run HAL file with 'net' commands
one possible way is to add some flags to programs (gladevcp, camera) for HAL files to execute after they are ready
halcmd has a way to wait until a subprocess calls hal_ready()
(I don't know the details...)
yes, but consider setup with say gladevcp panel and camera window
both are hal comps
they are started and i may wait for them (individually) to settle and run hal file
but if they signal between them is needed?
only way i see is to first create signal for them and then connect pins separately
hm, maybe that's not bad
i was thinking if it's possible to offload component waiting on axis but config file will be bloated with variables then...
jthornton: in 2.4 there are wrong description about g87 and g88 as unimplemented, they are working
really? I'm shocked to hear that
why? are they work properly?
that's what I'm asking
I have not tried them but I figured they did not work
I must recheck
let me know :)
cradek: g87 works according to nist docs
I don't see how that's possible, since we don't have spindle orient
other than that, seems like it could work
g87 would need spindle orient to be useful
spindle orient would also be useful for tool changers :)
also it would have to wait for at-speed at the right times - it might already do that
jthornton: my machine orients for tool change - also I have a toggle switch for orient/lock which I use mostly to close albrecht chucks
built-in spindle orient would be rather nice. I guess it would need its own PID parameters at the very least.
machines orient in many different ways
pid is no use for mine
I think mine uses the index from the encoder to orient the spindle
stop spindle - turn on orient pin - jog spindle - when orient pin pops into place, turn off jog
seems like another hal loopback for orient is what we'd want
so you have a physical stop to orient to?
I would think you could just have 2 pins - in and out.
I was thinking that, rather like the toolchange
jthornton: yes it's a hard mechanical lock - very very nice
Well, you might want the orient-angle as an output too, in the same manner as toolnumber.
yes - like the tool change.
andypugh: true you might want different angles (but I'm not sure what for)
I think some machines use it as an indexer.
axis.py is interpreted, yes?
ie changes work without compilation?
python is always interpreted
I think the emc makefile copies it from one place to another for you, and renames it, and extracts strings for translation
so depending on exactly what you're asking the answer might change
Perhaps I should step back a pace, and ask the real question, which is from the forum. Axis defaults to view_p and someobody wants to startup in Z
I bet there's something you could put in .axisrc to do that for you
better would be for it to remember across runs (like it remembers a lot of other things)
it could write that into .axis_preferences or whatever it's called
It just occurred to me that he might have a lathe...
lathe does not have multiple views
LATHE = true might be what he needs. Does that do anything else other than fix the view?
yes, it gives you dia/rad dro for X
and probably a lot of other little things - I don't remember
Tool orientation and offsets, I assume
yeah it gives you the neat tool tip view
so yeah, lots
If you put "Basic Config" into the search box on the left, you get the page you want, but for the 2.2 version.
Is there any real point in keeping the very old version docs "live"
I dunno how to fix that
I only noticed as I was sure the word "lathe" should be on the page somwhere.
how do you spell (mapcar '* a b) in python?
SImilarly, someone who emailed me today was struggling with the instructions on debounce here: http://linuxcnc.org/docs/html/hal_rtcomps.html
Which seems to assume that you will be loading the realtime components from the command line?
early hal docs were written to be not specific to using hal with emc
I guess that is fair enough.
To be honest I don't have any solutions, but the project seems over-documented in some ways.
it's never clear what is best to do with old docs (deleting them vs preserving old links to them, etc)
it's true nobody likes the state of our docs - but sadly they each have a different complaint
I heard a lot of this at emc fest
one guy insisted all the documentation sucked and it should be replaced with videos
another guy said videos were for people who can't read and write, and it's a waste of his time to watch someone's talking head on a screen
How difficult would it be to run a macro that put a header at the top of all the HTML files which have not changed for over a year with "Warning, this document might be out of date, consider starting at this page:" and a link to the main docs entry page?
(paraphrasing on that last one :-)
Were you more or less polite in the original?
I don't know the answer to that question
seems like everyone has an opinion on the docs lol
you think you recognize the second guy??
jthornton: ain't that the truth
jthornton: My main opinion is that I think you do a better job than can reasonably be expected.
cradek: I think I might recognize the second guy but he hides from the camera I think...
my main drive on working on the docs is if I can't understand it then there is a lot of other people who can't...
YEA! the Cycle timer is done and working :)
jthornton: I think the stuff you've touched recently is always pretty good - but we have so much that's just old crap
jthornton: as insiders, we know where the gems are - some of the lyx stuff (not all!) - some pages on the wiki (not all!) - etc
maybe we ought to just outright delete anything that's crap
yes, knowing where to look is 3/4 of the task
I am growing fonder of the idea of a nice big banner at the top of files older than a year pointing out how old they are.
(but who decides that? somebody wrote each of those pieces of crap)
and at the time they thought they were doing the right thing
YES - and they may have been, even
At the time, they were.
an age on a document header might be a good thing
but age alone doesn't distinguish gem vs turd
This Document is 1023 days since the last update!
no, but it might make you question it
The issue that I am considering is that Google and the on-site search throw up 2.1 docs just as cheerfully as 2.4 docs.
Would O'Reilly publish a book? That might pay for the work to consolidate all this stuff...
And they even look exactly the same
I'm still keen on splitting the G,M, and O codes out of the user manual and leave it for user interfaces...
If I put a break in an if in a switch, it drops me out of the if, not the switch?
I had a "return". That was very wrong. But "break" is working even less well.
aha: map(lambda x,y: x*y, a, b)
andypugh: I feel your pain
Actually, it is working perfectly now. I possibly left out the all-important "make" step....
andypugh: your making some of my mistakes
The alternative is that the rtapi_prints I put in to see what was really happening are functionally critical, which I hope is not true.
EMC: 03jthornton 07master * r74df79ee5e31 10/src/hal/components/time.comp: use period to simplify the connections
jthornton: I started programming in 1980, I think you will find these are _my_ mistakes ;-)
andypugh: thanks for the tip on using period for the time comp
it worked out rather nice
andypugh: err how old are you?
Is it mentioned in the comp docs? There is lots you can do in comp that is not really covered.
I am 43.
I'm not sure if it is in the comp section of the HAL manual but I'll check
you are a young man then
heh I'm 26
I sold my first programme (as we spelt it them) at 14
I pretended to be 7 for the last few days lol
wore me out
Then gave up on the basis that computing was a passing fad :-)
MattyMatt was properly famous as a kid-programmer, you know. National newspapers, magazines...
andypugh: do you know if there are any other variables passed to a comp?
The way to find out it so look at the compiled C code, any variable in there is usable.
The only other one I know of offhand is extra_arg which only works in EXTRA_SETUP and tells the comp which instance it is.
And I suspect that that is too confusing a concept for most.
it is too confusing for me lol
EMC: 03jthornton 07v2.4_branch * r4bbdc38db7e2 10/docs/src/hal/comp.lyx: add info on the period variable
EMC: 03jthornton 07v2.4_branch * r8750a3b827c5 10/docs/src/gcode/main.lyx: add info on O parameters
ugh, my dsl is grumpy today
jthornton: the time docs have put all the hal code on one line in my browser.
you should try my tin can and string setup for a while :) that is fun
yea, me too
jthornton: yeah, unfortunately I'm trying to copy the debs around for this new release
jthornton: I think buildbot is complaining about something you did: http://emc2-buildbot.colorado.edu/buildbot/builders/lucid-i386-sim/builds/235/steps/compile/logs/stdio
it complains so much...
the "u32" type is available in rt and not in sim. Use __u32 when you want to refer to the non-volatile type that stores the same range of values as hal_u32_t.
huh, glad jepler was here.
for the global?
+ u32 totalseconds;
in the function? u32 totalseconds?
jepler: Is that generally true? ie should I swap all my u32 declarations to hal_u32_t?
I can easily compile-check it here
andypugh: in drivers it doesn't matter since they aren't built on sim
OK, it did occur to me that anyone trying to use hostmot2 drivers in sim has other problems.
But how about in comps?
* jthornton wonders what thought process led me to use u32 for hours, minutes, and seconds?
they should be int I think
that would have been fine too
I only seem to have used int, float and char. But I am now recalling something about float being less good than double in the HAL context?
andypugh: never use "float". Use "double". "hal_float_t" is actually a double now (but we didn't change the name so that old code would continue working unchanged)
hours minutes and seconds are HAL pins, do they exist as int?
ahh, it was the lack of an int number display in pyvcp
andypugh: on my time comp?
no, at this moment they are u32
as pyvcp didn't have an int number display
My question was whether they are u32 because they have to be, as hal pins always are that or float or bit.
leftover time bbib
only because there is no int number display in pyvcp
there's no pin or paramter type "int", there's only hal_u32_t and hal_s32_t, which are sometimes called u32 and s32 for shorthand
and you would have to convert them to something that pyvcp has to use them
so u32 was the correct choice..
TYPE One of the HAL types: bit, signed, unsigned, or float. The old names s32 and u32 may
also be used, but signed and unsigned are preferred.
I finally found that in the HAL manual
It's on the "Comp" page too. As is the varible "fperiod" which I had completely missed when I told you to use "period"
fperiod is floating-point seconds, and would have been more convenient.
so c types like int can be used in the main body but not as pins I assume now
Incidentally the trick to getting single-spaced code on seperate lines in groff is to precede each line with a space.
(But I have no idea how to get it to show tabs correctly)
andypugh: do you have any hal files that show how to operate the 8i20?
jepler has changed the topic to: EMC2 development -- http://linuxcnc.org/
| Latest release: EMC 2.4.6
Nothing very tidy
OK, I think it's done!
For example, creating the "angle" from the encoder count?
tidy is not that important right now :)
Ah, yes, well, you need bldc.comp
is that in master?
I sent it to the dev list for comments, and I am actually sulking that it was totally ignored.
I'm sort of used up on guesses!
Ah! Wait, I'll look!
Let me pastebin the latest
[23:58:07] <andypugh> http://www.pastebin.ca/2003351
Though I don't think I have changed anything other than spelling and changed float to double.