SteveStallings is now known as steves_logging
ries_ is now known as ries
I think I am in need of design direction.
Currently the Mesa sserial driver (8i20 and 7i64) works well for normal use.
If you add the modparam "sserial_setup" then you do not get the normal pins for the cards, you get a set of setup pins rather like the existing "raw_mode" where you can set a parameter address and value and then toggle a pin to read or write it.
The thing is, this isn't all that much use. As you then have to stop the Mesa driver and restart in non-setup mode to use the new values (and if you power-latch the card they go back to default)
I can't decide whether to make setup mode available all the time, so that you can peek and poke the values from HAL, or whether to remove it altogether and leave the driver more "normal"
Setting the NVRAM values is a different sort of thing, and shouldn't really be in a hal component as it should be a set-once set of options, there is a risk of wiping the card firmware and the EEPROM has a finite life.
I think it would be possible to do the load, set values, unload, reload cycle in a HAL file, but it seems inelegant.
An alternative would be a userspace component that reads a config file and runs before the hm2_ driver, sets the values then quits to allow the hal file execution to continue.
where do I find a description of the python emc stat structure fields?
As an other alternative, I could make a list of all the parameters that are likely to need to be set by the user and make them all HAL pins, specifying that the sserial port needs to be cycled between "run" and "stop" to update the values. This idea is growing on me.
Perhaps this is a question better suited to the mailing list.
mhaberler: source code
andypugh, depending on what settings need to be set up (number of bits to transfer, clock polarity, misc. chip select options, etc.), the settings should be either load time parameters or HAL pins
the driver can check for changes and update whenever a pin changes, and/or you can use a latch pin as you mentioned
The whole port needs to stop to make a change to a connected device, I think.
the opposite of a latch (a "hold" pin) would allow the user to make many changes without updating every time, and then during normal operation would still allow for instant changes later on
The sorts of parameters I am talking about are max_current, pid_gain, that sort of thing.
sure, if there is a sequence that needs to be followed or data may be invalidated or something, then a latch pin makes sense
I thought PCW said something about those changes not being immediate or something ...
(I could be mistaken, I was only reading with one eye :) )
And there is a fair bit of handshaking to and fro for each change.
mhaberler: i think i have an hour to spend on glib hal bindings :)
well.. it's ok for a start.
that param pasing by globals.. ugly. maybe we need to wrap into a class.
The NVRAM changes need a restart, the other changes are lost with a restart.
mhaberler: surely you have
mhaberler: just create object and 'export' methods via 'on_click = obj.on_clik'
andypugh: per you request we'd moved here :-P
Can someone correct me if I am wrong: "A system installed from the 'official EMC2' CDROM will _not_ prompt users to upgrade their distribution (breaking the realtime system)."
As max current is already handled (up to the nvram limit) I am rather tempted just to dump the parameter setting stuff and try to persuade Chris Morley to put the NVRAM parameter setting in pncconf (after all, that already has userspace access to the Mesa cards, I think?)
psha: I am not in a position to request that anyone move, it was nothing more than a suggestion.
psha: where do I do the instantiation? in the handler, or blindly in gladevcp?
handler.py I meant
andypugh: i'm just kidding :)
mhaberler: where do I find a description of the python emc stat structure fields? start python in a shell try
mhaberler: i think yes, in handler
maybe it's better to do it in init func
so policy would be: if there is init function -- eat it's output as handler dict/object, if not - treat module as handler object
dgarr: I see these fields. I'm trying to find the underlying struct so I get can relate to their meaning, also for interp_state
psha: you mena module init, right
psha: I'm currently fighting the interpreter and not gladevcp; I'll push, maybe you see a solution
old on.. this eclipse git thingy leaves to be desired
psha: snapshot is up in gladevcp-halpinhooks
psha: run with axis_gvcp_toolchanger.ini
mhaberler: you've added too much...
you've commited lib/python/touchy :)
but forgot core_sim.hal
I'm losing you
why woudl that be needed?
axis_gvcp_toolchanger.ini wants it
axis_gvcp_toolchanger.ini line 143?
dunno, i've run emc axis_gcpc... and it tells me that it wants core_sim.hal
I see. hold on
gitignore was here. fixed.
mshaver, a system installed from the EMC2 liveCD won't prompt for "standard" kernel updates, but will prompt when there are updates to our RTAI kernel
SWPadnos: How about upgrades to the distribution. Would a Hardy system prompt you to upgrade to Lucid?
possibly. it depends on the settings in update manager
I'm not sure what else it depends on :)
Do you know what they were in hardy? I looked in my Lucid system and it is set to "Long term support releases only" while it should probably be set to "Never".
mhaberler: i've failed to run it :) too many absolute names to fix :)
mhaberler: not only my home is /home/psha but emc2-dev is not in home directly!
mhaberler: btw merge gladevcp-glade branch, it has fixed update thread
i'll be back tomorrow :)
fair enough; maybe we retry when this is more cleaned up.
what was the problem with update thread?
Is there a private messaging system on LinuxCNC.org? I have a curious email from someone.
via forum only
OK, it could be that, I am moderately active there.
andypugh: and thanks for that
andypugh: you can click on a users name and send them an email but they don't see your email address
I have received an email asking to communicate by PM.
I am trying to decide whether to ignore him as a spammer, or sggest he try IRC.
personally I prefer to conduct conversations about emc in private, because when I do answer someone's question I hope that the answer will ultimately benefit more than one person.
if I do it in private, that's virtually guaranteed not to happen.
jepler- is now known as jepler
Do you mean !conduct?
prefer .. in public
if you think he/she/it is a spammer let me know who it is and I can ban them
hm, I figured there would be a "don't let users contact me privately" checkbox in the account profile page on linuxcnc.org, but if it's there I'm overlooking it.
yea, if they want a personal answer to an EMC question I send them back to the forum or mailing list or IRC
For fun, and because I don't know where to go with the 8i20 driver, I am making the gearchange component handle more than 2 gears. In fact it can now have 32.
(Is that enough?, it's an arbitrary limit)
How careful do I need to be to preserve compatibility with the old version?